Skip to content

Update - #382

Merged
hgfell683 merged 8 commits into
feature/RDKEMW-12540from
develop
Feb 23, 2026
Merged

Update#382
hgfell683 merged 8 commits into
feature/RDKEMW-12540from
develop

Conversation

@hgfell683

Copy link
Copy Markdown
Contributor

No description provided.

neethuas379 and others added 8 commits January 28, 2026 16:35
* RDKEMW-11398: Implement HdmiCecSink & UserSettings communication.

* Update HdmiCecSinkImplementation.h

* Update HdmiCecSinkImplementation.cpp

Co-authored-by: neethu.arambilsunny@sky.uk <neethu.arambilsunny@sky.uk>
1.10.3 release 1.10.3
…tservices-inputoutput workflow (#293)

* Test PR to validate L1-L2 test

* Update test_HdmiCecSink.cpp

* Update L1-tests.yml

* Remove listeners clearing in HdmiCecSinkDsTest destructor

Removed unnecessary clearing of listeners vector in destructor.

* Update expected response in getSPD test

* Update expected response in getSPD test

* Refactor getSPD test for HDMI SPD info

Updated the expected data structure in getHDMISPDInfo mock and modified response validation to check for substrings.

* Refactor test cases for pingDeviceUpdateList

Updated mock expectations in tests to call pingDeviceUpdateList directly for failure scenarios, improving test clarity and reliability.

* Refactor HDMI CEC tests for event handling

Refactor tests to subscribe and unsubscribe to HDMI hot plug events during failure scenarios.

* Udpate  test_HdcpProfile.cpp

* Update test_HdcpProfile.cpp

* Update test_HdmiCecSource.cpp

* Update test_HdmiCecSource.cpp

* Add wait for detached thread operations to complete

* Remove unwanted changes

* Update test_HdmiCecSource.cpp

* Add conditional check for tests running with valgrind and coverage generation when the caller source is Testframework

* Change checkout reference to feature/L1-L2test

* Update Tests/L1Tests/tests/test_HdmiCecSource.cpp

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

* Update Tests/L1Tests/tests/test_HdmiCecSource.cpp

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

* Update Tests/L1Tests/tests/test_HdmiCecSource.cpp

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

* Fix L1 cache collision: Add repository-specific cache key

* Fix L1 cache paths to match actual build output locations

* Add cache-hit condition to patch steps to prevent errors when cache is restored

* Remove cache-hit condition from entservices-apis checkout - needed on every run

* Remove cache-hit conditions from googletest - excluded from cache so must build every time

* Always checkout Thunder source - headers needed for builds even when binaries cached

* Remove Thunder source includes from builds - use only installed headers to prevent duplicate definitions

* Always checkout Thunder source and add includes for testframework build needing Communicator mock

* Add Thunder source includes back to inputoutput component build for HdmiCecSource compilation

* Add Thunder source includes to mocks build to match L2-tests.yml configuration

* Update L1-test.yml

* Update L1-test.yml

* Update L1-test.yml

* Update L1-tests.yml

* Update L2-tests.yml

* Update L1-tests.yml

* Update L2-tests.yml

* Update test_HdcpProfile.cpp

* Add COMRPC support to L2Tests Plugin

* Fix segfault: Remove redundant AddRef() calls in HdmiCecSource L1 test

The test had 10 AddRef() calls on p_hdmiCecSourceMock without matching
Release() calls, causing reference count imbalance and segmentation
fault during cleanup.

These AddRef() calls were unnecessary since:
1. The mock object is created with new and managed manually
2. The Register() method doesn't actually increment reference count in the mock
3. No corresponding Release() was being called before cleanup

This fix resolves the segmentation fault in tests like:
- HdmiCecSourceInitializedEventTest.giveDeviceVendorIdProcess_LGTV

* Fix giveDeviceVendorIdProcess_LGTV segfault with thread synchronization

The test was segfaulting because OnDisplayHDMIHotPlug() spawns a detached
thread that accesses instance members (m_lock, m_condSig). When the test
fixture is destroyed immediately after calling OnDisplayHDMIHotPlug(), the
detached thread may still be running and attempts to access destroyed objects,
causing a segmentation fault.

Added a 100ms sleep after OnDisplayHDMIHotPlug() to allow the detached thread
sufficient time to complete its execution before the test fixture cleanup begins.

This resolves the segmentation fault in:
- HdmiCecSourceInitializedEventTest.giveDeviceVendorIdProcess_LGTV

* Fix HdmiCecSink WaitForRequestStatus event flag handling

Same issue as PowerManager: WaitForRequestStatus was not clearing event
flags after returning, causing subsequent waits to see stale events or
miss new ones.

Fixed by clearing only the specific expected flag(s) after waiting:
  m_event_signalled &= ~expected_status;

This prevents race conditions when multiple events fire in quick succession.

* test_HdmiCecSource.cpp

* test_HdmiCecSource.cpp

* test_HdmiCecSource.cpp

* Update HdmiCecSink_L2Test.cpp

* Update test_HdmiCecSource.cpp

* Fix SetLgTV and giveDeviceVendorIdProcess_LGTV intermittent segfault

The tests override getEDIDBytes mock without wrapping calls in m_activeThreadCalls
counter. When OnDisplayHDMIHotPlug spawns threadHotPlugEventHandler, it calls
getEDIDBytes asynchronously. The test destructor completes before this thread
finishes, causing segfault when accessing destroyed mock objects.

Changed lambda capture from [&] to [this] and added m_activeThreadCalls
increment/decrement to match the fixture's default mock setup. This ensures
the destructor waits for all detached threads to complete before cleanup.

* Update L2-tests.yml

* Update L2_tests.yml

* Update L1_tests.yml

* Update L1-tests.yml

* Update L2-tests.yml

* Update L1-tests.yml

* Update L2-tests.yml

---------

Co-authored-by: smanes0213 <sankalpmaneshwar46@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: preeja33 <preeja_raveendran@comcast.com>
Co-authored-by: mkumar705 <mukesh_kumark@comcast.com>
1.11.0 release 1.11.0
Copilot AI review requested due to automatic review settings February 23, 2026 15:42
@hgfell683
hgfell683 requested a review from a team as a code owner February 23, 2026 15:42
@hgfell683
hgfell683 merged commit a401f01 into feature/RDKEMW-12540 Feb 23, 2026
17 of 20 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Feb 23, 2026
@hgfell683
hgfell683 removed the request for review from Copilot March 23, 2026 22:33
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants