Skip to content

Commit 3325cf6

Browse files
Modified the IARM to plugin APIs in L1 test
1 parent ce299c2 commit 3325cf6

File tree

2 files changed

+43
-63
lines changed

2 files changed

+43
-63
lines changed

HdcpProfile/HdcpProfileImplementation.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,8 @@
139139
{
140140
LOGWARN("Failed to Invoke RPC method: GetPowerState");
141141
}
142-
else
143-
{
144-
LOGINFO("Received OnHDCPStatusChange event data:%d param.curState: %d \r\n", hdcpStatus,pwrStateCur);
145-
HdcpProfileImplementation::_instance->onHdmiOutputHDCPStatusEvent(hdcpStatus);
146-
}
142+
LOGINFO("Received OnHDCPStatusChange event data:%d param.curState: %d \r\n", hdcpStatus,pwrStateCur);
143+
HdcpProfileImplementation::_instance->onHdmiOutputHDCPStatusEvent(hdcpStatus);
147144
}
148145
}
149146

Tests/L1Tests/tests/test_HdcpProfile.cpp

Lines changed: 41 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class HDCPProfileTest : public ::testing::Test {
5555
Core::JSONRPC::Message message;
5656
string response;
5757

58+
HostImplMock *p_hostImplMock = nullptr ;
5859
WrapsImplMock *p_wrapsImplMock = nullptr;
5960
IarmBusImplMock *p_iarmBusImplMock = nullptr;
6061
Core::ProxyType<Plugin::HdcpProfileImplementation> hdcpProfileImpl;
@@ -63,7 +64,7 @@ class HDCPProfileTest : public ::testing::Test {
6364
NiceMock<ServiceMock> service;
6465
PLUGINHOST_DISPATCHER* dispatcher;
6566
Core::ProxyType<WorkerPoolImplementation> workerPool;
66-
67+
6768
NiceMock<FactoriesImplementation> factoriesImplementation;
6869

6970
HDCPProfileTest()
@@ -72,45 +73,46 @@ class HDCPProfileTest : public ::testing::Test {
7273
, INIT_CONX(1, 0)
7374
, workerPool(Core::ProxyType<WorkerPoolImplementation>::Create(2, Core::Thread::DefaultStackSize(), 16))
7475
{
76+
p_hostImplMock = new NiceMock <HostImplMock>;
7577
p_wrapsImplMock = new NiceMock<WrapsImplMock>;
7678
printf("Pass created wrapsImplMock: %p ", p_wrapsImplMock);
79+
device::Host::setImpl(p_hostImplMock);
7780
Wraps::setImpl(p_wrapsImplMock);
78-
81+
7982
p_iarmBusImplMock = new NiceMock <IarmBusImplMock>;
80-
IarmBus::setImpl(p_iarmBusImplMock);
83+
IarmBus::setImpl(p_iarmBusImplMock);
84+
8185

82-
8386
ON_CALL(service, COMLink())
8487
.WillByDefault(::testing::Invoke(
8588
[this]() {
8689
TEST_LOG("Pass created comLinkMock: %p ", &comLinkMock);
8790
return &comLinkMock;
8891
}));
8992

93+
#ifdef USE_THUNDER_R4
94+
ON_CALL(comLinkMock, Instantiate(::testing::_, ::testing::_, ::testing::_))
95+
.WillByDefault(::testing::Invoke(
96+
[&](const RPC::Object& object, const uint32_t waitTime, uint32_t& connectionId) {
97+
hdcpProfileImpl = Core::ProxyType<Plugin::HdcpProfileImplementation>::Create();
98+
TEST_LOG("Pass created hdcpProfileImpl: %p ", &hdcpProfileImpl);
99+
return &hdcpProfileImpl;
100+
}));
101+
#else
102+
ON_CALL(comLinkMock, Instantiate(::testing::_, ::testing::_, ::testing::_, ::testing::_, ::testing::_))
103+
.WillByDefault(::testing::Return(hdcpProfileImpl));
104+
#endif /*USE_THUNDER_R4 */
105+
106+
PluginHost::IFactories::Assign(&factoriesImplementation);
90107

91-
#ifdef USE_THUNDER_R4
92-
ON_CALL(comLinkMock, Instantiate(::testing::_, ::testing::_, ::testing::_))
93-
.WillByDefault(::testing::Invoke(
94-
[&](const RPC::Object& object, const uint32_t waitTime, uint32_t& connectionId) {
95-
hdcpProfileImpl = Core::ProxyType<Plugin::HdcpProfileImplementation>::Create();
96-
TEST_LOG("Pass created hdcpProfileImpl: %p ", &hdcpProfileImpl);
97-
return &hdcpProfileImpl;
98-
}));
99-
#else
100-
ON_CALL(comLinkMock, Instantiate(::testing::_, ::testing::_, ::testing::_, ::testing::_, ::testing::_))
101-
.WillByDefault(::testing::Return(hdcpProfileImpl));
102-
#endif /*USE_THUNDER_R4 */
103-
104-
PluginHost::IFactories::Assign(&factoriesImplementation);
105-
106-
Core::IWorkerPool::Assign(&(*workerPool));
107-
workerPool->Run();
108-
109-
dispatcher = static_cast<PLUGINHOST_DISPATCHER*>(
110-
plugin->QueryInterface(PLUGINHOST_DISPATCHER_ID));
111-
dispatcher->Activate(&service);
112-
113-
EXPECT_EQ(string(""), plugin->Initialize(&service));
108+
Core::IWorkerPool::Assign(&(*workerPool));
109+
workerPool->Run();
110+
111+
dispatcher = static_cast<PLUGINHOST_DISPATCHER*>(
112+
plugin->QueryInterface(PLUGINHOST_DISPATCHER_ID));
113+
dispatcher->Activate(&service);
114+
115+
EXPECT_EQ(string(""), plugin->Initialize(&service));
114116

115117
}
116118
virtual ~HDCPProfileTest() override
@@ -138,21 +140,24 @@ class HDCPProfileTest : public ::testing::Test {
138140
delete p_iarmBusImplMock;
139141
p_iarmBusImplMock = nullptr;
140142
}
143+
device::Host::setImpl(nullptr);
144+
if (p_hostImplMock != nullptr)
145+
{
146+
delete p_hostImplMock;
147+
p_hostImplMock = nullptr;
148+
}
141149

142150
}
143151
};
144152

145153
class HDCPProfileDsTest : public HDCPProfileTest {
146154
protected:
147-
HostImplMock *p_hostImplMock = nullptr ;
148155
VideoOutputPortConfigImplMock *p_videoOutputPortConfigImplMock = nullptr ;
149156
VideoOutputPortMock *p_videoOutputPortMock = nullptr ;
150157

151158
HDCPProfileDsTest()
152159
: HDCPProfileTest()
153160
{
154-
p_hostImplMock = new NiceMock <HostImplMock>;
155-
device::Host::setImpl(p_hostImplMock);
156161
p_videoOutputPortConfigImplMock = new NiceMock <VideoOutputPortConfigImplMock>;
157162
device::VideoOutputPortConfig::setImpl(p_videoOutputPortConfigImplMock);
158163
p_videoOutputPortMock = new NiceMock <VideoOutputPortMock>;
@@ -172,12 +177,6 @@ class HDCPProfileDsTest : public HDCPProfileTest {
172177
delete p_videoOutputPortConfigImplMock;
173178
p_videoOutputPortConfigImplMock = nullptr;
174179
}
175-
device::Host::setImpl(nullptr);
176-
if (p_hostImplMock != nullptr)
177-
{
178-
delete p_hostImplMock;
179-
p_hostImplMock = nullptr;
180-
}
181180
}
182181
};
183182

@@ -208,6 +207,10 @@ class HDCPProfileEventTest : public HDCPProfileDsTest {
208207
};
209208

210209
class HDCPProfileEventIarmTest : public HDCPProfileEventTest {
210+
public:
211+
device::Host::IDisplayDeviceEvents* _displayDeviceEvents = nullptr;
212+
device::Host::IVideoOutputPortEvents* _videoOutputPortEvents = nullptr;
213+
211214
protected:
212215
ManagerImplMock *p_managerImplMock = nullptr ;
213216
IARM_EventHandler_t dsHdmiEventHandler;
@@ -222,18 +225,6 @@ class HDCPProfileEventIarmTest : public HDCPProfileEventTest {
222225
.Times(::testing::AnyNumber())
223226
.WillRepeatedly(::testing::Return());
224227

225-
ON_CALL(*p_iarmBusImplMock, IARM_Bus_RegisterEventHandler(::testing::_, ::testing::_, ::testing::_))
226-
.WillByDefault(::testing::Invoke(
227-
[&](const char* ownerName, IARM_EventId_t eventId, IARM_EventHandler_t handler) {
228-
if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDMI_HOTPLUG)) {
229-
dsHdmiEventHandler = handler;
230-
}
231-
if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDCP_STATUS)) {
232-
dsHdmiEventHandler = handler;
233-
}
234-
return IARM_RESULT_SUCCESS;
235-
}));
236-
237228
EXPECT_EQ(string(""), plugin->Initialize(&service));
238229
}
239230

@@ -381,8 +372,6 @@ TEST_F(HDCPProfileDsTest, getSettopHDCPSupport_Hdcp_v2x)
381372

382373
TEST_F(HDCPProfileEventIarmTest, onDisplayConnectionChanged)
383374
{
384-
ASSERT_TRUE(dsHdmiEventHandler != nullptr);
385-
386375
Core::Event onDisplayConnectionChanged(false, true);
387376

388377
NiceMock<VideoOutputPortMock> videoOutputPortMock;
@@ -439,9 +428,7 @@ TEST_F(HDCPProfileEventIarmTest, onDisplayConnectionChanged)
439428

440429
EVENT_SUBSCRIBE(0, _T("onDisplayConnectionChanged"), _T("client.events"), message);
441430

442-
IARM_Bus_DSMgr_EventData_t eventData;
443-
eventData.data.hdmi_hpd.event = dsDISPLAY_EVENT_CONNECTED;
444-
dsHdmiEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_HOTPLUG, &eventData, 0);
431+
Plugin::HdcpProfileImplementation::_instance->OnDisplayHDMIHotPlug(dsDISPLAY_EVENT_CONNECTED);
445432

446433
EXPECT_EQ(Core::ERROR_NONE, onDisplayConnectionChanged.Lock());
447434

@@ -450,8 +437,6 @@ TEST_F(HDCPProfileEventIarmTest, onDisplayConnectionChanged)
450437

451438
TEST_F(HDCPProfileEventIarmTest, onHdmiOutputHDCPStatusEvent)
452439
{
453-
ASSERT_TRUE(dsHdmiEventHandler != nullptr);
454-
455440
Core::Event onDisplayConnectionChanged(false, true);
456441

457442
NiceMock<VideoOutputPortMock> videoOutputPortMock;
@@ -507,9 +492,7 @@ TEST_F(HDCPProfileEventIarmTest, onHdmiOutputHDCPStatusEvent)
507492

508493
EVENT_SUBSCRIBE(0, _T("onDisplayConnectionChanged"), _T("client.events"), message);
509494

510-
IARM_Bus_DSMgr_EventData_t eventData;
511-
eventData.data.hdmi_hdcp.hdcpStatus = dsDISPLAY_HDCPPROTOCOL_CHANGE;
512-
dsHdmiEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDCP_STATUS, &eventData, 0);
495+
Plugin::HdcpProfileImplementation::_instance->OnHDCPStatusChange(dsHDCP_STATUS_AUTHENTICATED);
513496

514497
EXPECT_EQ(Core::ERROR_NONE, onDisplayConnectionChanged.Lock());
515498

0 commit comments

Comments
 (0)