Skip to content

Conversation

@Abhinavpv28
Copy link
Contributor

No description provided.

…orms (#88)

* Update rrdDynamic.c

* Update rrdDynamic.c

* Update rrdEventProcess.c

* Update rrdInterface.c
@Abhinavpv28 Abhinavpv28 requested a review from a team as a code owner March 8, 2025 06:13
@Abhinavpv28 Abhinavpv28 requested a review from a team March 8, 2025 06:13
@CLAassistant
Copy link

CLAassistant commented Mar 8, 2025

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
11 out of 13 committers have signed the CLA.

✅ Abhinavpv28
✅ scthunderbolt
✅ nhanasi
✅ santoshcomcast
✅ Saranya2421
✅ madhubabutt
✅ Alan-Ryan
✅ sbarre01
✅ venkat0557
✅ Vismalskumar0
✅ AravindanNC
❌ naveenkumarhanasi
❌ Saranya


Saranya seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

scthunderbolt and others added 26 commits March 13, 2025 11:08
…102)

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdCommandSanity.c

* Update rrdJsonParser.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdMain.c

* Update rrdEventProcess.c

* Update rrdInterface.c

* Update rrdEventProcess.c
* RDK-55702: Update the MW clients to use Power Manager Plugin

Reason for change: Update the MW clients to use Power Manager Plugin with retry
Test Procedure: Refer RDK-55702
Risks: Low
Signed-off-by:gsanto722 grandhi_santoshkumar@comcast.com

* RDK-55702: Update the MW clients to use Power Manager Plugin

Reason for change: Update the MW clients to use Power Manager Plugin
Test Procedure: Refer RDK-55702
Risks: Low
Signed-off-by:gsanto722 grandhi_santoshkumar@comcast.com

* RDK-55702: Update the MW clients to use Power Manager Plugin

Reason for change: Update the MW clients to use Power Manager Plugin
Test Procedure: Refer RDK-55702
Risks: Low
Signed-off-by:gsanto722 grandhi_santoshkumar@comcast.com

* RDK-55702: Update the MW clients to use Power Manager Plugin

Reason for change: Update the MW clients to use Power Manager Plugin
Test Procedure: Refer RDK-55702
Risks: Low
Signed-off-by:gsanto722 grandhi_santoshkumar@comcast.com

* RDK-55702: Update the MW clients to use Power Manager Plugin

Reason for change: Update the MW clients to use Power Manager Plugin
Test Procedure: Refer RDK-55702
Risks: Low
Signed-off-by:gsanto722 grandhi_santoshkumar@comcast.com

* RDK-55702: Update the MW clients to use Power Manager Plugin

Reason for change: Update the MW clients to use Power Manager Plugin
Test Procedure: Refer RDK-55702
Risks: Low
Signed-off-by:gsanto722 grandhi_santoshkumar@comcast.com

---------

Co-authored-by: nhanasi <navihansi@gmail.com>
Merge changes related to L1, L2 workflow and Iarmbus plugin changes
)

Co-authored-by: mtirum011 <madhubabu_tirumala@comcast.com>
Co-authored-by: nhanasi <navihansi@gmail.com>
It should not be needed with registry being opensourced
RDKECMF-219 Enable component build workflow on Pull Request and remove unnecessary token
Abhinavpv28 and others added 18 commits June 25, 2025 10:34
…rogress (#136)

* Update rrdInterface.c

* Update rrdInterface.c

* Update rrdInterface.c
Release 1.2.8 tag for RRD
* Update Client_Mock.cpp

* Update Client_Mock.h

* Update rrdUnitTestRunner.cpp

* Update rrdUnitTestRunner.cpp

* Update rrdUnitTestRunner.cpp

* Update rrdInterface.c

* Update rrdInterface.h

* Update rrdRunCmdThread.c

* Update rrdIarmEvents.c

* Update rrdInterface.h

* Update rrdDynamic.c

* Update code-coverage.yml
Create deepsleep_main.c

Update Makefile

Create power_controller.h

Update run_l2.sh

Update cov_build.sh

Create pwrMgr.h

Update cov_build.sh

Update cov_build.sh

Update Makefile

Rename deepsleep_main.c to main.c

Update Makefile

update Makefile

Delete test/functional-tests/tests/rrdIarmEvents.c

Update run_l2.sh

Update remote_debugger.json

Update remote_debugger.json

Create test_deepsleep_static.py

Update run_l2.sh

Update run_l2.sh

Create test_deepsleep_dynamic.py

Update run_l2.sh

Update rrdInterface.c

Update create_json.sh

Create test_append.py

Create test_category.py

Update test_rrd_dynamic_profile_missing_report.py

Create test_rrd_dynamic_with_download_harmful.py

Create test_rrd_negative.py

Update configure.ac

Update cov_build.sh

Update run_l2.sh

Update main.c

Rename main.c to deepsleep_main.c

Update Makefile

Create rrd_append_report.feature

Create rrd_deepsleep_static.feature

Create rrd_deepsleep_dynamic.feature

Create rrd_dynamic_with_download_harmful_report.feature

Update rrd_dynamic_profile_missing_report.feature

Update test_rrd_dynamic_profile_missing_report.py

Update cov_build.sh

Update test_rrd_single_instance.py

Update test_category.py

Update run_l2.sh

Update test_rrd_dynamic_profile_missing_report.py

Update rrdInterface.c

Update rrdInterface.c

Update rrdInterface.c

Update rrdIarmEvents.c

Update rrdIarmEvents.c

Delete test/functional-tests/tests/test_deepsleep_dynamic.py

Delete test/functional-tests/tests/test_rrd_negative.py

Update run_l2.sh

Update test_category.py

Update cov_build.sh

Update configure.ac

Update configure.ac

Delete test/functional-tests/features/rrd_deepsleep_dynamic.feature

Update rrd_dynamic_profile_missing_report.feature

Update rrd_dynamic_profile_missing_report.feature

Delete test/functional-tests/tests/test_rrd_dynamic_with_download_harmful.py

Delete test/functional-tests/tests/deepsleep_main.c

Delete test/functional-tests/tests/Makefile

Update run_l2.sh

Update run_l2.sh

Delete test/functional-tests/features/rrd_dynamic_with_download_harmful_report.feature

Create rrd_dynamic_profile_subcategory_report.feature

Update run_l2.sh

Rename test_append.py to test_rrd_append_report.py

Rename test_category.py to test_rrd_dynamic_subcategory_report.py

Rename test_deepsleep_static.py to test_rrd_deepsleep_static_report.py

Rename rrd_deepsleep_static.feature to rrd_deepsleep_static_report.feature

Update rrd_dynamic_profile_missing_report.feature

Update rrd_dynamic_profile_missing_report.feature

Update rrd_dynamic_profile_missing_report.feature
RDK-56291 - [RDKE] Increase L2 Test Coverage For Remote Debugger : Target 80% [ Phase 2 ]
Deploy fossid_integration_stateless_diffscan_target_repo action
…rget 80% [ Phase 2 ] (#157)

* Update rrdInterface.c

* Update rrdIarmEvents.c

* Update configure.ac

* Update cov_build.sh

* Update remote_debugger.json

* Update create_json.sh

* Create Makefile

* Create deepsleep_main.c

---------

Co-authored-by: nhanasi <navihansi@gmail.com>
… C (#167)

* Add comprehensive HLD documentation for uploadRRDLogs.sh migration to C

- Requirements document with functional specs, I/O definitions, and constraints
- High-Level Design with architecture, module breakdown, and data flows
- Detailed flowcharts for all major operations (Mermaid + text-based)
- Sequence diagrams showing component interactions
- Low-Level Design with complete C code, data structures, and implementations

Documentation covers migration of uploadRRDLogs.sh to embedded C program
optimized for low-memory, low-CPU embedded systems with full error handling,
security considerations, and platform portability.

- Replace custom MAC retrieval logic with TR-181 parameters via RBus
  - Device.DeviceInfo.X_COMCAST-COM_STB_MAC (Video)
  - Device.DeviceInfo.X_COMCAST-COM_CM_MAC (Broadband)
  - Device.X_CISCO_COM_MACAddress (Alternative)
- Add cache file fallback (/tmp/device_details.cache, /tmp/estb_mac)
- Add early exit optimization in config parser when all required properties found
- Mark libarchive as mandatory dependency, remove tar command fallback
Copilot AI review requested due to automatic review settings December 4, 2025 23:03
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR appears to be a rebase that includes:

  • Enhanced functional test coverage for dynamic profile handling, deep sleep scenarios, and append operations
  • Improvements to PID handling in single instance tests
  • New test infrastructure for dynamic profiles with subcategory and harmful command detection
  • Unit test updates to support RBus API integration and PowerManager plugin support
  • Documentation additions including requirements, design documents, and sequence diagrams for uploadRRDLogs
  • Build system updates to support L2 testing and remove deprecated dependencies
  • Source code improvements including memory leak fixes, null pointer checks, and CPU-aware priority management

Reviewed changes

Copilot reviewed 50 out of 50 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
test/functional-tests/tests/test_rrd_single_instance.py Improved PID handling to support multiple PIDs and better validation
test/functional-tests/tests/test_rrd_dynamic_subcategory_report.py New test for dynamic profile subcategory handling
test/functional-tests/tests/test_rrd_dynamic_profile_report.py New test for complete dynamic profile processing
test/functional-tests/tests/test_rrd_dynamic_profile_missing_report.py New test for missing dynamic profile scenarios
test/functional-tests/tests/test_rrd_dynamic_profile_harmful_report.py New test for harmful command detection
test/functional-tests/tests/test_rrd_deepsleep_static_report.py New test for deep sleep static report scenarios
test/functional-tests/tests/test_rrd_append_report.py New test for append request handling
test/functional-tests/tests/test_rrd_append_dynamic_profile_static_notfound.py New test for append with missing static profile
test/functional-tests/tests/power_controller.h New header for PowerController API definitions
test/functional-tests/tests/helper_functions.py Added constants for dynamic testing
test/functional-tests/tests/deepsleep_main.c New test executable for deep sleep event handling
test/functional-tests/tests/create_json.sh New script for dynamic JSON profile creation
test/functional-tests/tests/Makefile New makefile for test executable compilation
src/unittest/rrdUnitTestRunner.cpp Updated unit tests for RBus API and power manager integration
src/unittest/mocks/pwrMgr.h New mock header for power manager API
src/unittest/mocks/Client_Mock.h Updated mocks to support RBus get operation
src/unittest/mocks/Client_Mock.cpp Implemented RBus get mock function
src/rrdRunCmdThread.c Added RemainAfterExit flag and conditional compilation guards
src/rrdMain.c Minor formatting change
src/rrdJsonParser.c Fixed resource leak and added null checks
src/rrdInterface.h Updated for PowerManager plugin support
src/rrdInterface.c Added RBus API integration and improved event handling
src/rrdIarmEvents.c Added PowerManager plugin support with threading
src/rrdEventProcess.c Added memory safety improvements and null checks
src/rrdDynamic.c Fixed string copy buffer overflow
src/rrdCommon.h Added conditional power_controller.h include
src/rrdCommandSanity.c Improved command sanitization with quote and whitespace handling
remote_debugger.json Added DeepSleep configuration
docs/uploadRRDLogs_*.md New comprehensive documentation for uploadRRDLogs migration
run_l2.sh Added new test cases and directory setup
cov_build.sh Updated build flags and removed deprecated include
configure.ac Added L2 support configuration option
.github/workflows/*.yml Updated CI/CD workflows

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

DEBUG_FILE = "Adding Details of Debug commands to Output File"
assert DEBUG_FILE in grep_rrdlogs(DEBUG_FILE)

issue_string = "DEEPSLEEP"
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Variable issue_string is not used.

Copilot uses AI. Check for mistakes.
DYNAMIC_JSONFILE = "Reading json config file /media/apps/RDK-RRD-Test/etc/rrd/remote_debugger.json"
assert DYNAMIC_JSONFILE in grep_rrdlogs(DYNAMIC_JSONFILE)

PARSE_SUCCESS = "Dynamic Profile Parse And Read Success..."
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Variable PARSE_SUCCESS is not used.

Copilot uses AI. Check for mistakes.
##########################################################################

import json
from helper_functions import *
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import pollutes the enclosing namespace, as the imported module helper_functions does not define 'all'.

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,134 @@
import json
from helper_functions import *
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import pollutes the enclosing namespace, as the imported module helper_functions does not define 'all'.

Copilot uses AI. Check for mistakes.
# limitations under the License.
##########################################################################

from helper_functions import *
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import pollutes the enclosing namespace, as the imported module helper_functions does not define 'all'.

Copilot uses AI. Check for mistakes.
# limitations under the License.
##########################################################################

import json
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import of 'json' is not used.

Copilot uses AI. Check for mistakes.
# limitations under the License.
##########################################################################

import json
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import of 'json' is not used.

Copilot uses AI. Check for mistakes.
# limitations under the License.
##########################################################################

import json
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import of 'json' is not used.

Copilot uses AI. Check for mistakes.
# limitations under the License.
##########################################################################

import json
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import of 'json' is not used.

Copilot uses AI. Check for mistakes.
# limitations under the License.
##########################################################################

import json
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import of 'json' is not used.

Copilot uses AI. Check for mistakes.
Vismalskumar0 and others added 2 commits January 12, 2026 13:55
* RDK-58172: integrate dcm-agent uploadstblogs and cleanup logging; update Makefile and upload flow

* Add unit tests for RRD upload orchestration

This file contains unit tests for the RRD upload orchestration, covering various aspects such as configuration loading, system information retrieval, log directory validation, and the entire upload workflow.

* Update Makefile.am

* Remove uploadRRDLogs program from Makefile

* Refactor uploadDebugoutput to use upload API

Updated the uploadDebugoutput function to call the upload API instead of executing a script. Enhanced logging for upload orchestration success and failure.

* Refactor upload orchestration into rrd_upload_orchestrate

Refactor upload orchestration logic into a separate function and remove deprecated main function.

* Update rrd_config.h

* Include common_device_api.h in rrd_sysinfo.h

Added inclusion of common_device_api.h for device API access.

* Add comprehensive functional tests for C API upload orchestration

- Add BDD feature file with 20 test scenarios for rrd_upload_orchestrate
- Add Python test implementation with 14 test functions
- Test coverage includes:
  * Valid and invalid parameter handling
  * Configuration loading from multiple sources (properties, RFC, DCM)
  * MAC address retrieval and timestamp generation
  * Issue type sanitization and normalization
  * Archive creation and format validation
  * Upload execution and lock handling
  * Cleanup operations
  * Error code propagation (codes 1-11)
  * Comprehensive logging verification
  * Integration with uploadDebugoutput wrapper

- Tests validate the complete flow from event trigger through C API
  execution to upload completion
- Helper class provides utilities for test setup, archive validation,
  and log verification

Refactor source validation and log handling. Improve error handling for directory operations and add functionality to move live logs.

* Refactor log upload handling and cleanup process
Updated log upload process to handle LOGUPLOAD_ENABLE case and adjusted archive creation and upload paths.
* RDKEMW-12334-The log entries in remote-debugger.log 

RDKEMW-12334-The log entries in remote-debugger.log differ between C binary files and script files when compared

* Change the log from Debug to Info
* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings January 21, 2026 19:27
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 74 out of 74 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

if '.' in ISSUE_STRING:
ISSUE_NODE, ISSUE_SUBNODE = ISSUE_STRING.split('.')
else:
node = ISSUE_STRING
Copy link

Copilot AI Jan 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Variable node is not used.

Copilot uses AI. Check for mistakes.
ISSUE_NODE, ISSUE_SUBNODE = ISSUE_STRING.split('.')
else:
node = ISSUE_STRING
subnode = None
Copy link

Copilot AI Jan 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Variable subnode is not used.

Copilot uses AI. Check for mistakes.
node = ISSUE_STRING
subnode = None

ISSUE_FOUND = f"Issue Data Node: {ISSUE_NODE} and Sub-Node: {ISSUE_SUBNODE} found in Static JSON File /etc/rrd/remote_debugger.json"
Copy link

Copilot AI Jan 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Variable ISSUE_FOUND is not used.

Copilot uses AI. Check for mistakes.
# limitations under the License.
##########################################################################

from helper_functions import *
Copy link

Copilot AI Jan 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import pollutes the enclosing namespace, as the imported module helper_functions does not define 'all'.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.