RDKTV-39792:[RDKV] Xumo TV devices with older builds failing to upgrade due to image verification failure error#208
RDKTV-39792:[RDKV] Xumo TV devices with older builds failing to upgrade due to image verification failure error#208mkadinti wants to merge 43 commits into
Conversation
RDKTV-39792:[RDKV] Xumo TV devices with older builds failing to upgrade due to image verification failure error
* RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - updating testClient for - signals option - core debug * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - updating testClient for - signals option - core debug * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - updating testClient for - signals option - core debug * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - updating testClient for - signals option - core debug * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - updating testClient for - signals option - core debug * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - updating testClient for - signals option - core debug - tral fix * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - Enhanced testClient * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - img validation enhancement * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - unittests * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - PR Clean up * Delete src/test/rdkfw_test_client.c * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - l2 unittests * RDK-58925:[RDK-E] Run fwupdater as a Daemon with D-Bus API Handling - Coverity fixes * Uncomment git commands in cov_build.sh * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-compile fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-Asyn task fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-Asyn task fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- blackduck error fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- blackduck error fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- XML fiux * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- XML fiux * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-Issue fix in integrating rdkv_upgrade_request() * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- Core Debug in downloadFile() * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- Core Debug in downloadFile() * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- Core Debug in downloadFile() * Refactor RdkUpgradeContext_t structure and comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback - debug logs * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback - debug logs * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback - clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback - clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback - clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback - clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Issue fix in progress callback - clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-UT Empty field check * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates-Enahanced duplicate request handlign - DownloadFW * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API validations * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API validations * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - flashImage() integrated * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Compilation fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Compilation fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - dev testing - validation failed fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - dev testing - FlashImge - null server_url fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - dev testing - test client update and Review comments addressing * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - dev testing - testClient Update * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - dev testing - testClient log enhancement * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - dev testing - testClient log enhancement - removed concurrent test cases * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Blackduck fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - coverity fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - added header in testClient.c * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Coverity fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Coverity fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - modifications in adressing comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - modifications in adressing comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - modifications in adressing comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - modifications in adressing comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - L1 fixed for exiting tests * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Unit tests for XConf Fetching * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Unit tests for XConf Fetching * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - reveritng .md files * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - reverting README.md file removal * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- partial L1 tests * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 for cache helper functions * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- DownlaodFirmware test cases * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- DownlaodFirmware test cases * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- DownlaodFirmware test cases * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 2 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 2 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 3 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 4 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 5 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 clean up - compile fail fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 clean up - L2 for Basic register, unregister and CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 clean up - L1 - PR compile fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated integration tests for Register * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated integration tests for Register * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- updated run_l2.sh * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated Integration tests fot UnregisterProcess * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated Integration tests fot UnregisterProcess * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated Integration tests for CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing Review comments on cov_build.sh * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments by copilot in src/dbus/rdkv_dbus_server.c * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Review reports by Copilot * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Review reports by Copilot * Update Initial_REVIEW_rdkv_dbus_server.md * Update DEMO_Comments.md * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT - 43% achieved * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT - 59.2% achieved * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT - 64.1% achieved * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments by copilot in src/dbus/rdkv_dbus_server.c * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for Download Firmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for Download Firmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for DownloadFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for DownloadFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for UpdateFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for UpdateFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for UpdateFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR cleanup * Delete DEMO_Comments.md * Delete Initial_REVIEW_rdkv_dbus_server.md * Delete LINK_TIME_SYMBOL_INTERPOSITION.md * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR cleanup * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT fix after coverity fixes * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT fix after coverity fixes * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT failure fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 failure fix - to compile with rdk_logger fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 failure fix - to compile with rdk_logger fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 failure fix - to compile with rdk_logger fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60261:Implement software update service layer library- Implement RegisterProcess- adding rdkFwupdateMgr_client.h header * RDK-60261:Implement software update service layer library- Implement RegisterProcess- adding rdkFwupdateMgr_client.h header * Update src/device_status_helper.c Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_CheckForUpdate.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_UpdateFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_UpdateFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * RDK-60261:Implement software update service layer library- Implement RegisterProcess- adding initial src files * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * RDK-60261:Implement software update service layer library- Implement RegisterProcess- Updated public header * RDK-60261:Implement software update service layer library- Implement RegisterProcess- Updated public header * RDK-60261:Implement software update service layer library- Implement RegisterProcess- Updated public header * Update rdkFwupdateMgr_client.h * Update rdkFwupdateMgr_client.h * Update rdkFwupdateMgr_client.h - input params to Download and Update FW APIs * Update rdkFwupdateMgr_client.h * Update rdkFwupdateMgr_client.h * RDK-60767:Address Review comments / change in design for CheckForUpdate * RDK-60767:Address Review comments / change in design for CheckForUpdate * RDK-60767:Address Review comments / change in design for CheckForUpdate * RDK-60767:Address Review comments / change in design for CheckForUpdate * RDK-60767:Address Review comments / change in design for CheckForUpdate - optout * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- addressing copilot review * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- addressing copilot review * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update librdkFwupdateMgr/include/rdkFwupdateMgr_client.h Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- addressing copilot review * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- fixing UT * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- fixing UT * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- fixing UT * Delete EXIT_CALL_ELIMINATION_GUIDE.md * Delete UNITTEST_CHANGES_EXPLAINED.md * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * RDK-60261:Implement software update service layer library-Addressing copilot reviews * RDK-60261:Implement software update service layer library-Addressing copilot reviews * RDKEMW-14991:[Xione UK] - Firmware download should not happen when throttle speed is set to 0 * RDKEMW-14991:[Xione UK] - Firmware download should not happen when throttle speed is set to 0 * RDKEMW-14991:[Xione UK] - Firmware download should not happen when throttle speed is set to 0 * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * Update rdkFwupdateMgr_client.h * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- removed tests that were written for old CHeckForUpdate and Downlaod Firmware design * RDK-60261:Implement software update service layer library- removed tests that were written for old CHeckForUpdate and Downlaod Firmware design * RDK-60261:Implement software update service layer library- Coverity issues --------- Co-authored-by: mkadinti <madhunarasimhulu@gmal.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Enable rdkfwmanager interface lib support
Release 1.6.0
There was a problem hiding this comment.
Pull request overview
This PR addresses upgrade failures on older Xumo TV builds by introducing explicit upgrade-library error codes (instead of exiting), improving error reporting, and enhancing D-Bus download behavior via cached XConf metadata. It also updates unit/functional test scaffolding and adds initial build/public-header wiring for a client library.
Changes:
- Add upgrade-library error codes +
rdkv_upgrade_strerror()and propagate fatal conditions via return codes instead ofexit(1). - Update daemon/CLI flows to handle negative “library error” returns and improve DownloadFirmware URL resolution using in-memory/file XConf cache.
- Adjust test mocks/build scripts and add an initial client library header + build target wiring.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
unittest/test_dbus_fake.cpp |
Updates copyright year in unit test file header. |
unittest/rdkfwupdatemgr_main_flow_gtest.cpp |
Switches g_DeviceUtilsMock global handling to shared global header/pointer. |
unittest/rdkFwupdateMgr_handlers_gtest.cpp |
Removes/adjusts tests and updates mock lambda signatures to const RdkUpgradeContext_t*. |
unittest/mocks/rdkFwupdateMgr_mock.h |
Updates mock interface signature for rdkv_upgrade_request to match const-correct production API. |
unittest/mocks/rdkFwupdateMgr_mock.cpp |
Moves device utils stubs out; adds handler dependency stubs (incl. rdkv_upgrade_strerror, getOPTOUTValue). |
unittest/mocks/deviceutils_mock.cpp |
Defines g_DeviceUtilsMock global pointer in one place for all test binaries. |
unittest/mocks/dbus_handlers_gmock.cpp |
Adds additional stubs for handler tests (DownloadFirmware/opt-out/strerror). |
unittest/miscellaneous_mock.cpp |
Aligns mock signatures (e.g., checkAndEnterStateRed now returns int) and adds strerror/handler stubs under test flags. |
unittest/deviceutils_mock_global.h |
New shared header declaring extern DeviceUtilsMock *g_DeviceUtilsMock. |
unittest/deviceutils/deviceutils_gtest.cpp |
Stops defining g_DeviceUtilsMock locally; relies on shared global. |
unittest/basic_rdkv_main_gtest.cpp |
Switches to shared g_DeviceUtilsMock declaration and includes new global header. |
unittest/Makefile.am |
Updates unit test source lists and mock linkage (notably adds deviceutils_mock.cpp to some targets). |
test/functional-tests/tests/test_dbus_UpdateFirmware.py |
Minor cleanup of unused variables/imports in UpdateFirmware functional test. |
test/functional-tests/tests/test_dbus_DownloadFirmware.py |
Changes helper import style and adjusts some local variable usage/exception handling. |
test/functional-tests/tests/test_dbus_CheckForUpdate.py |
Changes helper import style and removes an unused import. |
src/rdkv_upgrade.c |
Adds rdkv_upgrade_strerror, converts fatal exits into return codes, and checks checkAndEnterStateRed() return. |
src/rdkv_main.c |
Handles negative library errors from rdkv_upgrade_request (CLI exits on fatal library errors). |
src/rdkFwupdateMgr.c |
Handles negative library errors from rdkv_upgrade_request (daemon logs and continues). |
src/include/rdkv_upgrade.h |
Introduces negative-valued library error enum and declares rdkv_upgrade_strerror(int). |
src/include/device_status_helper.h |
Changes checkAndEnterStateRed signature to return int. |
src/device_status_helper.c |
Implements checkAndEnterStateRed as non-exiting and returns status to caller. |
src/dbus/rdkv_dbus_server.c |
Updates DownloadFirmware validation and resolves effective download URL via in-memory/file XConf cache. |
src/dbus/rdkFwupdateMgr_handlers.h |
Updates DownloadFirmware API signature and exposes cache helper APIs for daemon/tests. |
src/dbus/rdkFwupdateMgr_handlers.c |
Adds global in-memory XConf cache + opt-out response helper and adjusts cache saving behavior. |
src/chunk.c |
Converts “force exit” behavior into negative library return code and includes upgrade error header. |
run_l2.sh |
Removes --enable-extended-logger from configure invocation. |
librdkFwupdateMgr/include/rdkFwupdateMgr_client.h |
Adds initial public client API header for D-Bus clients. |
cov_build.sh |
Adjusts build steps and removes --enable-extended-logger. |
Makefile.am |
Adds librdkFwupdateMgr.la target and installs its public header. |
CHANGELOG.md |
Updates changelog with new release notes entries. |
Comments suppressed due to low confidence (2)
test/functional-tests/tests/test_dbus_DownloadFirmware.py:33
- The import was changed to
import rdkfw_test_helper, but the module’s helpers are still used unqualified (e.g.,initial_rdkfw_setup(),remove_file()). This will raiseNameErrorwhen running the tests. Please either switch back tofrom rdkfw_test_helper import ...or prefix all helper calls withrdkfw_test_helper..
import rdkfw_test_helper
# D-Bus Configuration
DBUS_SERVICE_NAME = "org.rdkfwupdater.Service"
DBUS_OBJECT_PATH = "/org/rdkfwupdater/Service"
DBUS_INTERFACE = "org.rdkfwupdater.Interface"
DAEMON_BINARY = "/usr/local/bin/rdkFwupdateMgr"
test/functional-tests/tests/test_dbus_CheckForUpdate.py:32
- The import was changed to
import rdkfw_test_helper, but helper functions are still called unqualified (e.g.,rename_file(),write_on_file(),remove_file()). This will raiseNameErrorwhen running the tests. Please either revert tofrom rdkfw_test_helper import ...or prefix calls withrdkfw_test_helper..
import json
import rdkfw_test_helper
# D-Bus Configuration
DBUS_SERVICE_NAME = "org.rdkfwupdater.Service"
DBUS_OBJECT_PATH = "/org/rdkfwupdater/Service"
DBUS_INTERFACE = "org.rdkfwupdater.Interface"
DAEMON_BINARY = "/usr/local/bin/rdkFwupdateMgr"
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Client Library Configuration - librdkFwupdateMgr.la | ||
| librdkFwupdateMgr_la_SOURCES = \ | ||
| ${top_srcdir}/librdkFwupdateMgr/src/ | ||
| #${top_srcdir}/librdkFwupdateMgr/src/handle_mgr.c \ | ||
| #${top_srcdir}/librdkFwupdateMgr/src/handle_registry.c \ | ||
| #${top_srcdir}/librdkFwupdateMgr/src/dbus_client.c \ | ||
| #${top_srcdir}/librdkFwupdateMgr/src/api_impl.c |
There was a problem hiding this comment.
librdkFwupdateMgr_la_SOURCES currently lists a directory (${top_srcdir}/librdkFwupdateMgr/src/) instead of source files. Automake will treat this as an invalid source entry and fail the build. Please replace it with the concrete .c/.cpp files (or remove the library target until sources are added).
| extern "C" int rdkFwupdateMgr_downloadFirmware(...) | ||
| { | ||
| return 0; | ||
| } |
There was a problem hiding this comment.
The test stub rdkFwupdateMgr_downloadFirmware(...) is declared as variadic and returns int, but the production header declares it as returning DownloadFirmwareResult with a fixed parameter list. If this symbol is ever referenced from C code compiled against the header, the return-type/ABI mismatch can cause crashes. Please change the stub to match the real signature and return type (or remove it if unused).
| extern "C" int getOPTOUTValue() | ||
| { | ||
| return 0; | ||
| } |
There was a problem hiding this comment.
getOPTOUTValue is stubbed here with no parameters, but production code calls getOPTOUTValue(const char *path) (see handlers.c forward declaration). In C++ this mismatch defeats type checking and can be undefined behavior on some ABIs. Please update the stub signature to accept const char * (and keep it consistent with other mocks that also define this function).
| // Mock for rdkv_upgrade_strerror - converts error codes to human-readable strings | ||
| // Used by rdkFwupdateMgr.c for error logging | ||
| const char* rdkv_upgrade_strerror(int error) { | ||
| switch(error) { | ||
| case 0: // RDKV_UPGRADE_SUCCESS | ||
| return "Success"; | ||
| case -1: // RDKV_UPGRADE_ERROR_THROTTLE_ZERO | ||
| return "Throttle speed set to 0 - download blocked"; | ||
| case -2: // RDKV_UPGRADE_ERROR_FORCE_EXIT | ||
| return "Force exit requested"; | ||
| default: | ||
| if (error > 0) { | ||
| return "CURL error"; | ||
| } | ||
| return "Unknown library error"; | ||
| } |
There was a problem hiding this comment.
The rdkv_upgrade_strerror stub uses -1/-2 for the new library error cases, but the updated public enum in rdkv_upgrade.h defines RDKV_UPGRADE_ERROR_THROTTLE_ZERO=-100 and RDKV_UPGRADE_ERROR_FORCE_EXIT=-101. This will produce incorrect messages/branching in tests that validate error handling. Please update the stub to use the new constants (or include rdkv_upgrade.h and switch on the enum values).
| const char* rdkv_upgrade_strerror(int error) { | ||
| switch(error) { | ||
| case 0: return "Success"; | ||
| case -1: return "Throttle speed set to 0"; | ||
| case -2: return "Force exit requested"; | ||
| default: | ||
| if (error > 0) return "CURL error"; | ||
| return "Unknown library error"; | ||
| } |
There was a problem hiding this comment.
This rdkv_upgrade_strerror stub also maps the throttle/force-exit errors to -1/-2, but production now uses RDKV_UPGRADE_ERROR_THROTTLE_ZERO=-100 and RDKV_UPGRADE_ERROR_FORCE_EXIT=-101 (see src/include/rdkv_upgrade.h). Please update the cases to match the new error codes so unit tests reflect real behavior.
* RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - modifications in adressing comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - modifications in adressing comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - L1 fixed for exiting tests * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Unit tests for XConf Fetching * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - Unit tests for XConf Fetching * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - reveritng .md files * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation - reverting README.md file removal * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- partial L1 tests * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 for cache helper functions * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- DownlaodFirmware test cases * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- DownlaodFirmware test cases * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- DownlaodFirmware test cases * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 2 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 2 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 3 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 4 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 xconf cache load functions- UT compile fail debug - 5 * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 clean up - compile fail fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 clean up - L2 for Basic register, unregister and CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L1 clean up - L1 - PR compile fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated integration tests for Register * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated integration tests for Register * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- updated run_l2.sh * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated Integration tests fot UnregisterProcess * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated Integration tests fot UnregisterProcess * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Seperated Integration tests for CheckForUpdate * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing Review comments on cov_build.sh * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments by copilot in src/dbus/rdkv_dbus_server.c * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Review reports by Copilot * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Review reports by Copilot * Update Initial_REVIEW_rdkv_dbus_server.md * Update DEMO_Comments.md * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT - 43% achieved * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT - 59.2% achieved * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT - 64.1% achieved * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Adressing review comments by copilot in src/dbus/rdkv_dbus_server.c * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for Download Firmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 for Download Firmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for DownloadFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for DownloadFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for UpdateFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for UpdateFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 updated for UpdateFirmware * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR cleanup * Delete DEMO_Comments.md * Delete Initial_REVIEW_rdkv_dbus_server.md * Delete LINK_TIME_SYMBOL_INTERPOSITION.md * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR cleanup * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- run_l2.sh changes to start dbus deamon * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Coverity issue fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- Review comments * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- rdk_logger_ext_init applied * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT fix after coverity fixes * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT fix after coverity fixes * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- UT failure fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 failure fix - to compile with rdk_logger fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 failure fix - to compile with rdk_logger fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- L2 failure fix - to compile with rdk_logger fix * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- removed adapted changes from rdk_logger * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60065:[RDK-E] Implement Firmware Download & Install API for Event-Driven Firmware Updates- UpdateFirmware API Implementation- PR clean up * RDK-60261:Implement software update service layer library- Implement RegisterProcess- adding rdkFwupdateMgr_client.h header * RDK-60261:Implement software update service layer library- Implement RegisterProcess- adding rdkFwupdateMgr_client.h header * Update src/device_status_helper.c Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_CheckForUpdate.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_UpdateFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_UpdateFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * RDK-60261:Implement software update service layer library- Implement RegisterProcess- adding initial src files * Update test/functional-tests/tests/test_dbus_DownloadFirmware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * RDK-60261:Implement software update service layer library- Implement RegisterProcess- Updated public header * RDK-60261:Implement software update service layer library- Implement RegisterProcess- Updated public header * RDK-60261:Implement software update service layer library- Implement RegisterProcess- Updated public header * Update rdkFwupdateMgr_client.h * Update rdkFwupdateMgr_client.h * Update rdkFwupdateMgr_client.h - input params to Download and Update FW APIs * Update rdkFwupdateMgr_client.h * Update rdkFwupdateMgr_client.h * RDK-60767:Address Review comments / change in design for CheckForUpdate * RDK-60767:Address Review comments / change in design for CheckForUpdate * RDK-60767:Address Review comments / change in design for CheckForUpdate * RDK-60767:Address Review comments / change in design for CheckForUpdate * RDK-60767:Address Review comments / change in design for CheckForUpdate - optout * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- addressing copilot review * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- addressing copilot review * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update librdkFwupdateMgr/include/rdkFwupdateMgr_client.h Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- addressing copilot review * RDK-60527:Implement registerProcess and unregisterProcess APIs * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- fixing UT * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- fixing UT * RDK-60527:Implement registerProcess and unregisterProcess APIs- example plugin * RDK-60768:Modify deamon logic to handle exit() scenarios in shared libraries- fixing UT * RDK-60527:Implement registerProcess and unregisterProcess APIs- example plugin * RDK-60528:Add checkForUpdate API with Callback Support * RDKTV-39792:[RDKV] Xumo TV devices with older builds failing to upgrade due to image verification failure error * RDK-60527:Implement registerProcess and unregisterProcess APIs * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks * Delete EXIT_CALL_ELIMINATION_GUIDE.md * Delete UNITTEST_CHANGES_EXPLAINED.md * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks- clean up * RDK-60529-Implement downloadFirmware API with Progress Callbacks- Fix for example_plugin * RDK-60529-Implement downloadFirmware API with Progress Callbacks- Fix for example_plugin * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * RDK-60261:Implement software update service layer library-Addressing copilot reviews * RDK-60261:Implement software update service layer library-Addressing copilot reviews * Update rdkFwupdateMgr_log.c * RDKEMW-14991:[Xione UK] - Firmware download should not happen when throttle speed is set to 0 * RDKEMW-14991:[Xione UK] - Firmware download should not happen when throttle speed is set to 0 * RDKEMW-14991:[Xione UK] - Firmware download should not happen when throttle speed is set to 0 * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library-fixing example_plugin * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * Update rdkFwupdateMgr_client.h * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- UT fix- added mock for a new function * RDK-60261:Implement software update service layer library- removed tests that were written for old CHeckForUpdate and Downlaod Firmware design * RDK-60261:Implement software update service layer library- removed tests that were written for old CHeckForUpdate and Downlaod Firmware design * RDK-60261:Implement software update service layer library- Coverity issues * RDK-60261:Implement software update service layer library-fixing example_plugin * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks * RDK-60529-Implement downloadFirmware API with Progress Callbacks- updated MAX_PENDING_CALLBACKS to 30 form 64 * RDK-60529-Implement downloadFirmware API with Progress Callbacks- updated in librdkFwupdateMgr/src/rdkFwupdateMgr_async.c librdkFwupdateMgr/src/rdkFwupdateMgr_async_internal.h for coverity * RDK-60529-Implement downloadFirmware API with Progress Callbacks- updated in librdkFwupdateMgr/src/rdkFwupdateMgr_async.c librdkFwupdateMgr/src/rdkFwupdateMgr_async_internal.h for coverity * RDK-60529-Implement downloadFirmware API with Progress Callbacks- PR clean up -removed dead code * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * RDK-60529-Implement downloadFirmware API with Progress Callbacks- PR clean up -removed dead code * RDK-60529-Implement downloadFirmware API with Progress Callbacks- PR clean up -removed dead code * RDK-60261:Implement software update service layer library-fixing example_plugin * RDK-60261:Implement software update service layer library-fixing example_plugin * RDK-60261:Implement software update service layer library-fixing exampl_plugin * RDK-60261:Implement software update service layer library-fixing exampl_plugin * RDK-60261:Implement software update service layer library-fixing exampl_plugin * RDK-60261:Implement software update service layer library-fixing exampl_plugin * RDK-60261:Implement software update service layer library-fixing exampl_plugin- revert if the changes are not wotking * RDK-60261:Implement software update service layer library-fixing exampl_plugin- revert if the changes are not working - 2 * RDK-60261:Implement software update service layer library-fixing exampl_plugin- revert if the changes are not working - 3 * Delete test/phase6_complete_validation.sh * Delete test/memory_validation.sh * RDK-60261:Implement software update service layer library-fixing exampl_plugin-copilot review for FirmwareInterfaceContext * RDK-60261:Implement software update service layer library-fixing exampl_plugin- example_plugin updateFirmware locOfFirmware fix * RDK-60261:Implement software update service layer library-fixing exampl_plugin- example_plugin updateFirmware locOfFirmware fix * RDK-60261:Implement software update service layer library-fixing exampl_plugin- example_plugin updateFirmware locOfFirmware fix * Revert "RDK-60261:Implement software update service layer library-fixing exampl_plugin- example_plugin updateFirmware locOfFirmware fix" This reverts commit 303ff72. * Delete API_DOCUMENTATION_updateFirmware.md * Delete API_DOCUMENTATION_checkForUpdate.md * Delete API_DOCUMENTATION_downloadFirmware.md * Delete librdkFwupdateMgr/API_DOCUMENTATION_registerProcess.md * Delete librdkFwupdateMgr/API_DOCUMENTATION_unregisterProcess.md --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Added lib interface for damon
Release 1.6.1
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 44 out of 44 changed files in this pull request and generated 11 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| extern "C" int rdkFwupdateMgr_downloadFirmware(...) | ||
| { | ||
| return 0; | ||
| } | ||
|
|
||
| extern "C" const char* rdkv_upgrade_strerror(int err) | ||
| { | ||
| return "mock_error"; | ||
| } | ||
|
|
||
| extern "C" int getOPTOUTValue() | ||
| { | ||
| return 0; |
There was a problem hiding this comment.
The added stubs introduce ABI/signature mismatches that can cause crashes or undefined behavior at link/runtime. rdkFwupdateMgr_downloadFirmware is defined here as extern "C" int rdkFwupdateMgr_downloadFirmware(...), but the real symbol now returns DownloadFirmwareResult (a struct). Also getOPTOUTValue is defined with no parameters, but other code calls getOPTOUTValue(const char*). Because these are extern "C", the linker will happily bind the symbol and the call/return ABI will be wrong. Fix by matching the exact production signatures (including return type and parameters) or remove these stubs and rely on the existing ones in the appropriate mock files.
| # Uses internal async implementation files | ||
| rdkFwupdateMgr_async_refcount_gtest_SOURCES = rdkFwupdateMgr_async_refcount_gtest.cpp \ | ||
| ../librdkFwupdateMgr/src/rdkFwupdateMgr_async.c \ | ||
| ../librdkFwupdateMgr/src/rdkFwupdateMgr_async_api.c |
There was a problem hiding this comment.
*_SOURCES references ../librdkFwupdateMgr/src/rdkFwupdateMgr_async_api.c, but that file does not exist in the tree (the file present is rdkFwupdateMgr_api.c). As written, these new test targets will fail to build. Update the source list to the correct filename(s) and ensure any required test-only helpers are actually compiled into the binaries.
| ../librdkFwupdateMgr/src/rdkFwupdateMgr_async_api.c | |
| ../librdkFwupdateMgr/src/rdkFwupdateMgr_api.c |
| extern "C" { | ||
| #include "rdkFwupdateMgr_client.h" | ||
| // Internal testing APIs | ||
| extern void rdkFwupdateMgr_async_init_for_test(void); | ||
| extern void rdkFwupdateMgr_async_cleanup_for_test(void); | ||
| extern int rdkFwupdateMgr_async_get_pending_count_for_test(void); | ||
| extern int rdkFwupdateMgr_async_get_total_count_for_test(void); |
There was a problem hiding this comment.
This test file declares/uses several async test helper APIs and entry points (rdkFwupdateMgr_async_init_for_test, *_cleanup_for_test, *_get_pending_count_for_test, etc.) plus rdkFwupdateMgr_checkForUpdate_async, but none of these symbols exist in the current codebase (the public client API is checkForUpdate(...) in rdkFwupdateMgr_client.h). As-is, this file will not compile/link. Either rename the calls to match the actual public API, or add the required test-only exports (guarded by a macro) and compile them into this test target.
| extern "C" { | ||
| #include "rdkFwupdateMgr_client.h" | ||
| // Internal testing APIs | ||
| extern void rdkFwupdateMgr_async_init_for_test(void); | ||
| extern void rdkFwupdateMgr_async_cleanup_for_test(void); | ||
| extern void rdkFwupdateMgr_async_simulate_signal_for_test( | ||
| const char* status, const char* message, const char* version); | ||
| } |
There was a problem hiding this comment.
This file depends on rdkFwupdateMgr_async_init_for_test/cleanup_for_test/simulate_signal_for_test and calls rdkFwupdateMgr_checkForUpdate_async(...), but those symbols are not defined anywhere in the repository (and rdkFwupdateMgr_client.h does not declare them). This will fail to compile/link. Please align the tests with the actual client API (checkForUpdate, signal subscription) or add the missing test hooks behind a compile-time flag and include them in the test target sources.
| extern "C" { | ||
| #include "rdkFwupdateMgr_client.h" | ||
| // Internal testing APIs | ||
| extern void rdkFwupdateMgr_async_init_for_test(void); | ||
| extern void rdkFwupdateMgr_async_cleanup_for_test(void); | ||
| extern void rdkFwupdateMgr_async_simulate_signal_for_test( | ||
| const char* status, const char* message, const char* version); | ||
| extern int rdkFwupdateMgr_async_get_pending_count_for_test(void); | ||
| } |
There was a problem hiding this comment.
This file declares/uses async test helper APIs (rdkFwupdateMgr_async_*_for_test) and calls rdkFwupdateMgr_checkForUpdate_async/_cancel, but these symbols are not present in the current codebase (the public API in rdkFwupdateMgr_client.h is checkForUpdate(...)). As-is, the test target will not compile/link. Either refactor the tests to use the actual API, or add/export the required async test hooks and include them in the build.
| extern "C" { | ||
| // Include internal header for direct testing | ||
| // Note: In production, adjust include path as needed | ||
| #include "../librdkFwupdateMgr/src/rdkFwupdateMgr_async_internal.h" | ||
|
|
||
| // Expose internal functions for testing | ||
| extern void context_ref(AsyncCallbackContext *ctx); | ||
| extern void context_unref(AsyncCallbackContext *ctx); | ||
| extern AsyncCallbackRegistry g_async_registry; | ||
| } |
There was a problem hiding this comment.
This refcount test appears to target a different/internal async implementation than the one currently in librdkFwupdateMgr: it includes rdkFwupdateMgr_async_internal.h but then uses AsyncCallbackContext, AsyncCallbackRegistry, and context_ref/context_unref, none of which are declared/defined in that header or anywhere else in the repo. This will not compile/link. Suggest either (a) updating the test to use the actual internal types/functions that exist in rdkFwupdateMgr_async.c, or (b) adding explicit test-only exports for the refcount helpers and the associated types behind a macro, and including them in the test target sources.
| // Mock for rdkv_upgrade_strerror - converts error codes to human-readable strings | ||
| // Used by rdkFwupdateMgr.c for error logging | ||
| const char* rdkv_upgrade_strerror(int error) { | ||
| switch(error) { | ||
| case 0: // RDKV_UPGRADE_SUCCESS | ||
| return "Success"; | ||
| case -1: // RDKV_UPGRADE_ERROR_THROTTLE_ZERO | ||
| return "Throttle speed set to 0 - download blocked"; | ||
| case -2: // RDKV_UPGRADE_ERROR_FORCE_EXIT | ||
| return "Force exit requested"; |
There was a problem hiding this comment.
rdkv_upgrade_strerror() in this mock uses -1 / -2 for the new library error codes, but production now defines RDKV_UPGRADE_ERROR_THROTTLE_ZERO = -100 and RDKV_UPGRADE_ERROR_FORCE_EXIT = -101 (see src/include/rdkv_upgrade.h). As a result, tests that log/interpret these errors will produce misleading messages and may not exercise the intended branches. Update the switch cases to match the new negative values (or use the enum constants).
| from pathlib import Path | ||
|
|
||
| from rdkfw_test_helper import * | ||
| import rdkfw_test_helper |
There was a problem hiding this comment.
The import was changed from from rdkfw_test_helper import * to import rdkfw_test_helper, but the rest of the file still calls helper functions (e.g., initial_rdkfw_setup(), remove_file(), rename_file(), etc.) without the rdkfw_test_helper. prefix. This will raise NameError at runtime for most tests. Either restore the star import, or update all helper references to be fully qualified.
| import rdkfw_test_helper | |
| from rdkfw_test_helper import * |
| from pathlib import Path | ||
|
|
||
| from rdkfw_test_helper import * | ||
| import rdkfw_test_helper |
There was a problem hiding this comment.
The import was changed from from rdkfw_test_helper import * to import rdkfw_test_helper, but the rest of the test module still calls helper functions (e.g., initial_rdkfw_setup(), write_on_file(), remove_file(), etc.) without the rdkfw_test_helper. prefix. This will cause NameError at runtime. Either revert to the star import or qualify all helper calls.
| import rdkfw_test_helper | |
| from rdkfw_test_helper import * |
| start_daemon() | ||
| initial_rdkfw_setup() | ||
| write_device_prop() | ||
| cleanup_daemon_files() | ||
|
|
||
| # Create mock firmware file | ||
| firmware_name = "ABCD_PCI_test.bin" | ||
| firmware_path = create_mock_firmware_file(firmware_name) | ||
| create_mock_firmware_file(firmware_name) |
There was a problem hiding this comment.
start_daemon() return value is no longer captured, and this test no longer stops the daemon process or performs cleanup in a finally block. That leaves the daemon running across tests and can cause flakiness/port conflicts and resource leaks. Suggest restoring proc = start_daemon() and ensuring stop_daemon(proc) (and any temp file cleanup) always runs in finally:.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* RDK-60640: Add PKCS#11 tests for mTLS certificate These tests ensure proper integration between device management service, certificate selector, and PKCS#11 token infrastructure. Background: RDK-60640 implements PKCS#11 support for storing private keys in hardware security modules (HSM) instead of filesystem. This enables production devices to use TPM/OP-TEE for secure key storage while maintaining mTLS connectivity to backend services. Changes: - Add test_pkcs11_fallback.py with 4 test scenarios - Test certificate chain fallback (primary → backup) - Validate mTLS handshake with PKCS#11-backed keys - Integration with SoftHSM2 for CI/test environments - Mock xconf endpoints for certificate validation Test Scenarios: 1. Primary certificate succeeds (happy path) 2. Primary fails, fallback to backup succeeds * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Resolve Copilot review comments and optimize test_pkcs11_fallback.py - Remove duplicate start_daemon/stop_daemon functions - Fix RFC file format: use json.dumps() instead of str() - Merge write_device_prop() and write_rfc_file() into write_config_files() - Improve process management with proper handle passing - Enhance backup_reference_cert fixture with pytest.skip() - Add OpenSSL validation with returncode check - Optimize file size from 363 to 163 lines (55% reduction) - Update run_l2.sh phase labels and descriptions for clarity * Remove test_verify_no_pkcs11_patch_activation from PKCS#11 fallback tests (not needed, key type is EC) * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Use DEVNULL for daemon stdout/stderr and cleanup /opt/curl_progress in fallback test * Fix test_fallback_rdkvfwupgrader_direct timeout: kill lingering daemon before running rdkvfwupgrader * Fix test_fallback_rdkvfwupgrader_direct: increase cleanup delay and kill rdkvfwupgrader to release curl connections * Fix test_fallback_rdkvfwupgrader_direct: use stdout=PIPE without timeout to match other tests * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Address all 3 Copilot review comments: - Capture daemon stdout/stderr for better error diagnostics - Use shutil.copy2/os.replace with exception handling in backup_reference_cert fixture - Add initial_rdkfw_setup to test_fallback_firmware_download for environment prerequisites * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update L2-tests.yml * Update test_pkcs11_fallback.py --------- Co-authored-by: “sahmad154” <sohail_ahmad@comcast.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Satya Sundar Sahu <tinkusahu.com@gmail.com>
…or code 405- adding L1 tests
…or code 405- adding L1 tests
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
RDKTV-39830:Xumo TV devices got stuck with old firmware with http eror code 405
|
I have read the CLA Document and I hereby sign the CLA 5 out of 6 committers have signed the CLA. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 50 out of 50 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| extern "C" int rdkFwupdateMgr_downloadFirmware(...) | ||
| { | ||
| return 0; | ||
| } | ||
|
|
||
| extern "C" const char* rdkv_upgrade_strerror(int err) | ||
| { | ||
| return "mock_error"; | ||
| } | ||
|
|
||
| extern "C" int getOPTOUTValue() | ||
| { | ||
| return 0; | ||
| } |
There was a problem hiding this comment.
The stubs added here don't match the real function signatures used by production code linked into dbus_handlers_gtest. In particular, getOPTOUTValue() is defined with no parameters, but rdkFwupdateMgr_handlers.c declares/calls int getOPTOUTValue(const char *file_name). This is undefined behavior and can break on some ABIs. Define the stub with the exact signature (and do the same for rdkFwupdateMgr_downloadFirmware, which should match the struct-returning declaration).
| // Shared state for callbacks | ||
| static bool callback_invoked; | ||
| static std::string callback_status; | ||
| static std::string callback_message; | ||
| static std::string callback_version; | ||
|
|
||
| static void test_callback(const char* status, const char* message, | ||
| const char* version, void* user_data) { | ||
| (void)user_data; | ||
| callback_invoked = true; | ||
| callback_status = status ? status : ""; | ||
| callback_message = message ? message : ""; | ||
| callback_version = version ? version : ""; | ||
| } |
There was a problem hiding this comment.
This test shares callback_invoked and the callback_* strings between the test thread and the async callback thread without any synchronization. The callback writes these globals while the test reads them, which is a data race (and will be flagged by TSAN / can flake). Protect the shared state with a mutex/condition_variable (or make the fields atomic where applicable) and wait for the callback deterministically instead of relying on sleeps.
| std::atomic<int> handler_id_counter(0); | ||
| std::vector<int> handler_ids(num_threads * operations_per_thread); | ||
|
|
||
| for (int t = 0; t < num_threads; t++) { | ||
| threads.emplace_back([&, t]() { | ||
| std::random_device rd; | ||
| std::mt19937 gen(rd()); | ||
| std::uniform_int_distribution<> dis(0, 1); | ||
|
|
||
| for (int i = 0; i < operations_per_thread; i++) { | ||
| if (dis(gen) == 0) { | ||
| // Register | ||
| int handler_id = rdkFwupdateMgr_checkForUpdate_async( | ||
| dummy_callback, nullptr); | ||
| if (handler_id > 0) { | ||
| int idx = handler_id_counter.fetch_add(1); | ||
| if (idx < (int)handler_ids.size()) { | ||
| handler_ids[idx] = handler_id; | ||
| } | ||
| } | ||
| } else { | ||
| // Cancel random handler | ||
| int current = handler_id_counter.load(); | ||
| if (current > 0) { | ||
| std::uniform_int_distribution<> id_dis(0, current - 1); | ||
| int idx = id_dis(gen); | ||
| if (idx < (int)handler_ids.size() && handler_ids[idx] > 0) { | ||
| rdkFwupdateMgr_checkForUpdate_async_cancel( | ||
| handler_ids[idx]); | ||
| } |
There was a problem hiding this comment.
ConcurrentRegisterAndCancel mutates and reads handler_ids from multiple threads without synchronization (writes in the register path, reads in the cancel path). Even if indices differ most of the time, this is still a data race on the underlying int elements and makes the test itself non-thread-safe. Use an std::vector<std::atomic<int>> (or guard access with a mutex) when sharing IDs across threads.
| // Include internal header for direct testing | ||
| // Note: In production, adjust include path as needed | ||
| #include "../librdkFwupdateMgr/src/rdkFwupdateMgr_async_internal.h" | ||
|
|
There was a problem hiding this comment.
This test includes an internal header via a hard-coded relative path (../librdkFwupdateMgr/src/...). This is brittle (depends on build working directory) and duplicates include-path logic already present in the Makefile. Prefer including the header by name (e.g., rdkFwupdateMgr_async_internal.h) and relying on the -I include paths to make builds more portable.
| bin_PROGRAMS = rdkfw_device_status_gtest rdkfw_deviceutils_gtest rdkfw_main_gtest rdkfw_interface_gtest rdkfwupdatemgr_main_flow_gtest rdkFwupdateMgr_handlers_gtest dbus_handlers_gtest | ||
|
|
||
| #bin_PROGRAMS = rdkfw_device_status_gtest rdkfw_deviceutils_gtest rdkfw_main_gtest rdkfw_interface_gtest dbus_handlers_gtest | ||
| bin_PROGRAMS = rdkfw_device_status_gtest rdkfw_deviceutils_gtest rdkfw_main_gtest rdkfw_interface_gtest rdkfwupdatemgr_main_flow_gtest rdkFwupdateMgr_handlers_gtest rdkFwupdateMgr_async_main_flow_gtest rdkFwupdateMgr_async_handlers_gtest dbus_handlers_gtest |
There was a problem hiding this comment.
bin_PROGRAMS lists rdkFwupdateMgr_async_main_flow_gtest and rdkFwupdateMgr_async_handlers_gtest, but this Makefile does not define corresponding *_SOURCES / build rules for them. Automake will fail with “no rule to make target …” or missing source errors. Either add the missing build stanzas or remove these binaries from bin_PROGRAMS until they exist.
| rdkFwupdateMgr_async_refcount_gtest_SOURCES = rdkFwupdateMgr_async_refcount_gtest.cpp \ | ||
| ../librdkFwupdateMgr/src/rdkFwupdateMgr_async.c \ | ||
| ../librdkFwupdateMgr/src/rdkFwupdateMgr_async_api.c |
There was a problem hiding this comment.
These async gtest targets reference ../librdkFwupdateMgr/src/rdkFwupdateMgr_async_api.c, but that file is not present in the tree (the async/public API implementation appears to be rdkFwupdateMgr_api.c). This will break the unit-test build; update the *_SOURCES lists to point at the correct source file(s).
| std::thread cleanup_thread([&]() { | ||
| // Wait for callback to start | ||
| while (!callback_running.load()) { | ||
| std::this_thread::sleep_for(std::chrono::milliseconds(10)); | ||
| } | ||
|
|
||
| cleanup_started.store(true); | ||
| rdkFwupdateMgr_async_cleanup_for_test(); | ||
| }); | ||
|
|
||
| // Simulate signal arrival (invoke callback) | ||
| std::thread signal_thread([&]() { | ||
| std::this_thread::sleep_for(std::chrono::milliseconds(50)); | ||
| // In real code, signal handler would invoke callbacks | ||
| }); |
There was a problem hiding this comment.
CleanupDuringCallbackInvocation can hang indefinitely: cleanup_thread busy-waits for callback_running to become true, but the test never triggers a signal/callback (the signal_thread only sleeps and does nothing). This will deadlock the test run. Trigger the callback via the existing test helper (e.g., simulate a signal) or add a bounded wait/timeout and fail the test if the callback never starts.
…t/swupdate.conf (#205) * Update device_api.c Introduce isSecureDbgSrvUnlocked API and replace the condition checks of buildType and deviceType with this API * Update device_api.h * Update rfcinterface.c * Update rfcinterface.h * Update device_api.c * Update rfcinterface.c * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update rfcinterface.h * Update rfcinterface.c * Update rfcinterface.c * Update device_api.c * Update rfcinterface.c * Update rfcinterface.h * Update device_api.c * Update Makefile.am For unit tests to be successful, adding ../src/rfcInterface/rfcinterface.c as a Source, for referencing getDeviceTypeRFC API code access * Update Makefile.am * Update Makefile.am * Update Makefile.am * Update rfcinterface.h * Update deviceutils_mock.cpp * Update deviceutils_mock.h * Update rfcinterface.h * Update rfcinterface.h * Update rfcinterface.h * Update device_api.c * Update device_api.h * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Update device_api.c * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Update device_api.h * Update device_api.c * Update device_api.h * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Update device_api_gtest.cpp * Update fwdl_interface_gtest.cpp * Update device_api.c * Update dbus_handlers_gmock.cpp * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Update device_api.c * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Update device_api_gtest.cpp * Update fwdl_interface_gtest.cpp * Update device_api_gtest.cpp * Update device_api_gtest.cpp * Update device_api.c --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Satya Sundar Sahu <tinkusahu.com@gmail.com>
…ty components (#209) * RDK-55195: Notify the RED status events Reason for change: Notify the RED state events to T2 Test Procedure: Check working of FW upgrade Risks: Low Signed-off-by: AnanthaC <anantha_chelladurai@comcast.com> * Updated the return check & fix the mock function arg mismatch Signed-off-by: AnanthaC <anantha_chelladurai@comcast.com> * Addressing the L1 UT Signed-off-by: AnanthaC <anantha_chelladurai@comcast.com> * Updated the retrun check macro - WRITE_RFC_FAILURE Signed-off-by: AnanthaC <anantha_chelladurai@comcast.com> --------- Signed-off-by: AnanthaC <anantha_chelladurai@comcast.com> Co-authored-by: AnanthaC <anantha_chelladurai@comcast.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 56 out of 56 changed files in this pull request and generated 5 comments.
Comments suppressed due to low confidence (1)
test/functional-tests/tests/test_dbus_DownloadFirmware.py:31
- This file switched from
from rdkfw_test_helper import *toimport rdkfw_test_helper, but the rest of the module still calls helper functions likeremove_file()andinitial_rdkfw_setup()unqualified. As written, this will raiseNameErrorat runtime. Either revert to the star import or update all helper calls to use the module prefix (e.g.,rdkfw_test_helper.remove_file(...)).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Define the program name and the source files | ||
| bin_PROGRAMS = rdkfw_device_status_gtest rdkfw_deviceutils_gtest rdkfw_main_gtest rdkfw_interface_gtest rdkfwupdatemgr_main_flow_gtest rdkFwupdateMgr_handlers_gtest dbus_handlers_gtest | ||
|
|
||
| #bin_PROGRAMS = rdkfw_device_status_gtest rdkfw_deviceutils_gtest rdkfw_main_gtest rdkfw_interface_gtest dbus_handlers_gtest | ||
| bin_PROGRAMS = rdkfw_device_status_gtest rdkfw_deviceutils_gtest rdkfw_main_gtest rdkfw_interface_gtest rdkfwupdatemgr_main_flow_gtest rdkFwupdateMgr_handlers_gtest rdkFwupdateMgr_async_main_flow_gtest rdkFwupdateMgr_async_handlers_gtest dbus_handlers_gtest | ||
| # Define the include directories |
There was a problem hiding this comment.
bin_PROGRAMS includes rdkFwupdateMgr_async_main_flow_gtest and rdkFwupdateMgr_async_handlers_gtest, but this Makefile does not define corresponding *_SOURCES entries for them. Automake will fail (or build empty targets) unless you add the source lists or remove these programs from bin_PROGRAMS.
| extern "C" const char* rdkv_upgrade_strerror(int err) | ||
| { | ||
| return "mock_error"; | ||
| } | ||
|
|
||
| extern "C" int getOPTOUTValue() | ||
| { | ||
| return 0; | ||
| } |
There was a problem hiding this comment.
getOPTOUTValue is declared/used elsewhere with a const char* parameter (e.g., extern int getOPTOUTValue(const char *file_name); in src/dbus/rdkFwupdateMgr_handlers.c), but this mock defines it with no parameters. With C linkage this relies on ABI quirks and is not portable; update the stub signature to accept const char* file_name to match the real declaration.
| DownloadFirmwareResult rdkFwupdateMgr_downloadFirmware( | ||
| const gchar *handler_id, | ||
| const gchar *firmware_name, | ||
| const gchar *firmware_type, | ||
| const gchar *localFilePath, | ||
| const gchar *download_url); |
There was a problem hiding this comment.
rdkFwupdateMgr_downloadFirmware prototype was changed to take handler_id as the first argument. There are existing unit tests (e.g., unittest/dbus_handlers.cpp) that still call the old argument order (firmwareName, downloadUrl, type, localFilePath, ...). Because all parameters are const gchar*, this won’t fail to compile but will pass the wrong values at runtime. Please update all callers/tests to the new order (or consider a backward-compatible wrapper if the old signature is still expected).
| extern "C" { | ||
| #include "rdkFwupdateMgr_client.h" | ||
| // Internal testing APIs | ||
| extern void rdkFwupdateMgr_async_init_for_test(void); | ||
| extern void rdkFwupdateMgr_async_cleanup_for_test(void); | ||
| extern int rdkFwupdateMgr_async_get_pending_count_for_test(void); | ||
| extern int rdkFwupdateMgr_async_get_total_count_for_test(void); | ||
| } |
There was a problem hiding this comment.
The test declares and calls rdkFwupdateMgr_async_init_for_test, rdkFwupdateMgr_async_cleanup_for_test, and registry inspection helpers, but these symbols don’t exist anywhere in the current codebase (no matches in librdkFwupdateMgr/src). As a result this test won’t link. Either add these test-only entry points to the async implementation (guarded by #ifdef ASYNC_TEST), or refactor the test to drive the public API and observe behavior via existing hooks.
| import dbus | ||
| import subprocess | ||
| import time | ||
| import os | ||
| import json | ||
| from pathlib import Path | ||
|
|
||
| from rdkfw_test_helper import * | ||
| import rdkfw_test_helper | ||
|
|
||
| # D-Bus Configuration |
There was a problem hiding this comment.
This file switched from from rdkfw_test_helper import * to import rdkfw_test_helper, but the module still uses helper functions (rename_file, write_on_file, remove_file, etc.) as bare names. This will break at runtime with NameError unless all such calls are qualified (e.g., rdkfw_test_helper.rename_file(...)) or the original import style is restored.
Release For 1.6.2
Release For 1.6.2
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 56 out of 57 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| #else | ||
|
|
||
|
|
||
| /* Default library macros */ | ||
| #define FWUPMGR_TRACE(FORMAT...) FWUPMGR_LOG(FWUPMGR_LOG_INFO, "FWUPMGR", FORMAT) | ||
| #define FWUPMGR_DEBUG(FORMAT...) FWUPMGR_LOG(FWUPMGR_LOG_INFO, "FWUPMGR", FORMAT) | ||
| #define FWUPMGR_INFO(FORMAT...) FWUPMGR_LOG(FWUPMGR_LOG_INFO, "FWUPMGR", FORMAT) | ||
| #define FWUPMGR_WARN(FORMAT...) FWUPMGR_LOG(FWUPMGR_LOG_INFO, "FWUPMGR", FORMAT) |
| // Instantiate the global mock object for deviceutils_mock | ||
| DeviceUtilsMock Deviceglobal; | ||
| DeviceUtilsMock *g_DeviceUtilsMock = &Deviceglobal; | ||
| //DeviceUtilsMock *g_DeviceUtilsMock = &Deviceglobal; | ||
|
|
| rdkFwupdateMgr_async_refcount_gtest_SOURCES = rdkFwupdateMgr_async_refcount_gtest.cpp \ | ||
| ../librdkFwupdateMgr/src/rdkFwupdateMgr_async.c \ | ||
| ../librdkFwupdateMgr/src/rdkFwupdateMgr_async_api.c | ||
|
|
| import json | ||
| import pytest | ||
| from pathlib import Path | ||
|
|
||
| from rdkfw_test_helper import * | ||
| import rdkfw_test_helper | ||
|
|
||
| # D-Bus Configuration |
| - Returns RDKFW_UPDATE_SUCCESS | ||
| """ | ||
| proc = start_daemon() | ||
| start_daemon() | ||
| initial_rdkfw_setup() | ||
| write_device_prop() | ||
| cleanup_daemon_files() | ||
|
|
#241) * RDKEMW-16947 : Retrieve the PDRI version programmatically within rdkfwupdater Reason for change: Retrieve the PDRI version programmatically within rdkfwupdater Test Procedure: Tested and verified Risks: Low Priority: P1 Signed-off-by: RoseMary_Benny@comcast.com * resolved comments * resolved review comments , added L1 * resolved copilot comments * code clean up --------- Signed-off-by: RoseMary_Benny@comcast.com
… timeout scenarios (#246)
| #define FWUPMGR_TRACE(FORMAT...) FWUPMGR_LOG(FWUPMGR_LOG_INFO, "FWUPMGR", FORMAT) | ||
| #define FWUPMGR_DEBUG(FORMAT...) FWUPMGR_LOG(FWUPMGR_LOG_INFO, "FWUPMGR", FORMAT) | ||
| #define FWUPMGR_INFO(FORMAT...) FWUPMGR_LOG(FWUPMGR_LOG_INFO, "FWUPMGR", FORMAT) | ||
| #define FWUPMGR_WARN(FORMAT...) FWUPMGR_LOG(FWUPMGR_LOG_INFO, "FWUPMGR", FORMAT) |
| extern "C" int getOPTOUTValue() | ||
| { | ||
| return 0; | ||
| } |
| from pathlib import Path | ||
|
|
||
| from rdkfw_test_helper import * | ||
| import rdkfw_test_helper | ||
|
|
| * Expected GVariant signature: (ii) | ||
| * i progress_percent | ||
| * i status_code |
| size_t len = 0; | ||
|
|
||
| if( pPDRIFilename != NULL ) | ||
| #if defined(IARM_ENABLED) | ||
| len = GetPDRIFileNameUsingMFR(pPDRIFilename, szBufSize); |
Release 1.7.0
Release 1.7.0
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
| pthread_mutex_unlock(&g_check_mutex); | ||
|
|
||
| /* Check result */ | ||
| if (g_check_status != FIRMWARE_AVAILABLE) { |
| pthread_mutex_unlock(&g_download_mutex); | ||
|
|
||
| /* Check download result */ | ||
| if (g_download_status != DWNL_COMPLETED) { |
| * ==================================================================== */ | ||
| if (g_exit_code == EXIT_SUCCESS) { | ||
| EXAMPLE_INFO("FIRMWARE UPDATE WORKFLOW COMPLETED\n"); | ||
| if (g_update_status == UPDATE_COMPLETED) { |
No description provided.