@@ -209,5 +209,42 @@ TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleFirmwareLibraryCallFailureWhe
209209 EXPECT_STREQ (mockSupportedFwTypes[1 ].c_str (), properties.name );
210210 EXPECT_STREQ (" Unknown" , properties.version );
211211}
212+
213+ class ZesFirmwareUninitializedFixture : public SysmanDeviceFixture {
214+
215+ protected:
216+ zes_firmware_handle_t hSysmanFirmware = {};
217+ std::unique_ptr<Mock<FirmwareInterface>> pMockFwInterface;
218+ FirmwareUtil *pFwUtilInterfaceOld = nullptr ;
219+ std::unique_ptr<Mock<FirmwareFsAccess>> pFsAccess;
220+ FsAccess *pFsAccessOriginal = nullptr ;
221+
222+ void SetUp () override {
223+ SysmanDeviceFixture::SetUp ();
224+ pFsAccessOriginal = pLinuxSysmanImp->pFsAccess ;
225+ pFsAccess = std::make_unique<NiceMock<Mock<FirmwareFsAccess>>>();
226+ pLinuxSysmanImp->pFsAccess = pFsAccess.get ();
227+
228+ pFwUtilInterfaceOld = pLinuxSysmanImp->pFwUtilInterface ;
229+ pLinuxSysmanImp->pFwUtilInterface = nullptr ;
230+ ON_CALL (*pFsAccess.get (), read (_, _))
231+ .WillByDefault (::testing::Invoke (pFsAccess.get (), &Mock<FirmwareFsAccess>::readValSuccess));
232+ }
233+ void TearDown () override {
234+ SysmanDeviceFixture::TearDown ();
235+ pLinuxSysmanImp->pFwUtilInterface = pFwUtilInterfaceOld;
236+ pLinuxSysmanImp->pFsAccess = pFsAccessOriginal;
237+ }
238+ };
239+
240+ TEST_F (ZesFirmwareUninitializedFixture, GivenFirmwareLibraryMissingThenCreateHandleMustFail) {
241+ for (const auto &handle : pSysmanDeviceImp->pFirmwareHandleContext ->handleList ) {
242+ delete handle;
243+ }
244+ pSysmanDeviceImp->pFirmwareHandleContext ->handleList .clear ();
245+ pSysmanDeviceImp->pFirmwareHandleContext ->init ();
246+ EXPECT_EQ (0u , pSysmanDeviceImp->pFirmwareHandleContext ->handleList .size ());
247+ }
248+
212249} // namespace ult
213250} // namespace L0
0 commit comments