mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
Reduce gmock usage for firmware and GlobalOps
Related-To: LOCI-3130 Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
dac180f2fb
commit
7f4e25a3f6
@@ -24,15 +24,15 @@ class FirmwareFsAccess : public FsAccess {};
|
||||
|
||||
template <>
|
||||
struct Mock<FirmwareFsAccess> : public FirmwareFsAccess {
|
||||
MOCK_METHOD(ze_result_t, read, (const std::string file, std::vector<std::string> &val), (override));
|
||||
ze_result_t readValSuccess(const std::string file, std::vector<std::string> &val) {
|
||||
val.push_back("mtd3: 005ef000 00001000 \"i915-spi.42.auto.GSC\"");
|
||||
val.push_back("mtd5: 00200000 00001000 \"i915-spi.42.auto.OptionROM\"");
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
ze_result_t readMtdValSuccess(const std::string file, std::vector<std::string> &val) {
|
||||
val.push_back("mtd3: 005ef000 00001000 \"i915-spi.42.auto.GSC\"");
|
||||
val.push_back("mtd3: 005ef000 00001000 \"i915-spi.42.auto.GSC\"");
|
||||
ze_bool_t isReadFwTypes = true;
|
||||
ze_result_t read(const std::string file, std::vector<std::string> &val) override {
|
||||
if (isReadFwTypes) {
|
||||
val.push_back("mtd3: 005ef000 00001000 \"i915-spi.42.auto.GSC\"");
|
||||
val.push_back("mtd5: 00200000 00001000 \"i915-spi.42.auto.OptionROM\"");
|
||||
} else {
|
||||
val.push_back("mtd3: 005ef000 00001000 \"i915-spi.42.auto.GSC\"");
|
||||
val.push_back("mtd3: 005ef000 00001000 \"i915-spi.42.auto.GSC\"");
|
||||
}
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
};
|
||||
@@ -40,6 +40,8 @@ struct Mock<FirmwareFsAccess> : public FirmwareFsAccess {
|
||||
template <>
|
||||
struct Mock<FirmwareInterface> : public FirmwareUtil {
|
||||
|
||||
ze_result_t getFwVersionResult = ZE_RESULT_SUCCESS;
|
||||
|
||||
ze_result_t mockFwGetVersion(std::string &fwVersion) {
|
||||
fwVersion = mockFwVersion;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
@@ -48,7 +50,12 @@ struct Mock<FirmwareInterface> : public FirmwareUtil {
|
||||
fwVersion = mockOpromVersion;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
ze_result_t mockGetFwVersion(std::string fwType, std::string &firmwareVersion) {
|
||||
ze_result_t getFwVersion(std::string fwType, std::string &firmwareVersion) override {
|
||||
|
||||
if (getFwVersionResult != ZE_RESULT_SUCCESS) {
|
||||
return getFwVersionResult;
|
||||
}
|
||||
|
||||
if (fwType == "GSC") {
|
||||
firmwareVersion = mockFwVersion;
|
||||
} else if (fwType == "OptionROM") {
|
||||
@@ -57,19 +64,21 @@ struct Mock<FirmwareInterface> : public FirmwareUtil {
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
void getDeviceSupportedFwTypes(std::vector<std::string> &fwTypes) override {
|
||||
fwTypes = mockSupportedFwTypes;
|
||||
}
|
||||
|
||||
Mock<FirmwareInterface>() = default;
|
||||
|
||||
MOCK_METHOD(ze_result_t, fwDeviceInit, (), (override));
|
||||
MOCK_METHOD(ze_result_t, getFirstDevice, (igsc_device_info * info), (override));
|
||||
MOCK_METHOD(ze_result_t, getFwVersion, (std::string fwType, std::string &firmwareVersion), (override));
|
||||
MOCK_METHOD(ze_result_t, flashFirmware, (std::string fwType, void *pImage, uint32_t size), (override));
|
||||
MOCK_METHOD(ze_result_t, fwIfrApplied, (bool &ifrStatus), (override));
|
||||
ADDMETHOD_NOBASE(fwDeviceInit, ze_result_t, ZE_RESULT_SUCCESS, ());
|
||||
ADDMETHOD_NOBASE(getFirstDevice, ze_result_t, ZE_RESULT_SUCCESS, (igsc_device_info * info));
|
||||
ADDMETHOD_NOBASE(flashFirmware, ze_result_t, ZE_RESULT_SUCCESS, (std::string fwType, void *pImage, uint32_t size));
|
||||
ADDMETHOD_NOBASE(fwIfrApplied, ze_result_t, ZE_RESULT_SUCCESS, (bool &ifrStatus));
|
||||
ADDMETHOD_NOBASE(fwSupportedDiagTests, ze_result_t, ZE_RESULT_SUCCESS, (std::vector<std::string> & supportedDiagTests));
|
||||
ADDMETHOD_NOBASE(fwRunDiagTests, ze_result_t, ZE_RESULT_SUCCESS, (std::string & osDiagType, zes_diag_result_t *pResult));
|
||||
ADDMETHOD_NOBASE(fwGetMemoryErrorCount, ze_result_t, ZE_RESULT_SUCCESS, (zes_ras_error_type_t category, uint32_t subDeviceCount, uint32_t subDeviceId, uint64_t &count));
|
||||
ADDMETHOD_NOBASE(fwGetEccConfig, ze_result_t, ZE_RESULT_SUCCESS, (uint8_t * currentState, uint8_t *pendingState));
|
||||
ADDMETHOD_NOBASE(fwSetEccConfig, ze_result_t, ZE_RESULT_SUCCESS, (uint8_t newState, uint8_t *currentState, uint8_t *pendingState));
|
||||
MOCK_METHOD(void, getDeviceSupportedFwTypes, (std::vector<std::string> & fwTypes), (override));
|
||||
};
|
||||
|
||||
class PublicLinuxFirmwareImp : public L0::LinuxFirmwareImp {
|
||||
|
||||
@@ -34,14 +34,6 @@ class ZesFirmwareFixture : public SysmanDeviceFixture {
|
||||
pFwUtilInterfaceOld = pLinuxSysmanImp->pFwUtilInterface;
|
||||
pMockFwInterface = std::make_unique<NiceMock<Mock<FirmwareInterface>>>();
|
||||
pLinuxSysmanImp->pFwUtilInterface = pMockFwInterface.get();
|
||||
ON_CALL(*pMockFwInterface.get(), fwDeviceInit())
|
||||
.WillByDefault(::testing::Return(ZE_RESULT_SUCCESS));
|
||||
ON_CALL(*pMockFwInterface.get(), getFirstDevice(_))
|
||||
.WillByDefault(::testing::Return(ZE_RESULT_SUCCESS));
|
||||
ON_CALL(*pMockFwInterface.get(), getDeviceSupportedFwTypes(_))
|
||||
.WillByDefault(::testing::SetArgReferee<0>(mockSupportedFwTypes));
|
||||
ON_CALL(*pFsAccess.get(), read(_, _))
|
||||
.WillByDefault(::testing::Invoke(pFsAccess.get(), &Mock<FirmwareFsAccess>::readValSuccess));
|
||||
for (const auto &handle : pSysmanDeviceImp->pFirmwareHandleContext->handleList) {
|
||||
delete handle;
|
||||
}
|
||||
@@ -110,9 +102,6 @@ TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleWhenGettingFirmwareProperties
|
||||
FirmwareImp *ptestFirmwareImp = new FirmwareImp(pSysmanDeviceImp->pFirmwareHandleContext->pOsSysman, mockSupportedFwTypes[0]);
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->handleList.push_back(ptestFirmwareImp);
|
||||
|
||||
ON_CALL(*pMockFwInterface.get(), getFwVersion(_, _))
|
||||
.WillByDefault(::testing::Invoke(pMockFwInterface.get(), &Mock<FirmwareInterface>::mockGetFwVersion));
|
||||
|
||||
auto handles = getFirmwareHandles(mockHandleCount);
|
||||
|
||||
zes_firmware_properties_t properties = {};
|
||||
@@ -128,9 +117,6 @@ TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleWhenGettingOpromPropertiesThe
|
||||
FirmwareImp *ptestFirmwareImp = new FirmwareImp(pSysmanDeviceImp->pFirmwareHandleContext->pOsSysman, mockSupportedFwTypes[1]);
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->handleList.push_back(ptestFirmwareImp);
|
||||
|
||||
ON_CALL(*pMockFwInterface.get(), getFwVersion(_, _))
|
||||
.WillByDefault(::testing::Invoke(pMockFwInterface.get(), &Mock<FirmwareInterface>::mockGetFwVersion));
|
||||
|
||||
auto handles = getFirmwareHandles(mockHandleCount);
|
||||
|
||||
zes_firmware_properties_t properties = {};
|
||||
@@ -147,8 +133,7 @@ TEST_F(ZesFirmwareFixture, GivenFailedFirmwareInitializationWhenInitializingFirm
|
||||
delete handle;
|
||||
}
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->handleList.clear();
|
||||
ON_CALL(*pMockFwInterface.get(), fwDeviceInit())
|
||||
.WillByDefault(::testing::Return(ZE_RESULT_ERROR_UNKNOWN));
|
||||
pMockFwInterface->fwDeviceInitResult = ZE_RESULT_ERROR_UNKNOWN;
|
||||
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->init();
|
||||
|
||||
@@ -160,8 +145,7 @@ TEST_F(ZesFirmwareFixture, GivenRepeatedFWTypesWhenInitializingFirmwareContextTh
|
||||
delete handle;
|
||||
}
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->handleList.clear();
|
||||
ON_CALL(*pFsAccess.get(), read(_, _))
|
||||
.WillByDefault(::testing::Invoke(pFsAccess.get(), &Mock<FirmwareFsAccess>::readMtdValSuccess));
|
||||
pFsAccess->isReadFwTypes = false;
|
||||
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->init();
|
||||
|
||||
@@ -172,9 +156,6 @@ TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleWhenFlashingGscFirmwareThenSu
|
||||
FirmwareImp *ptestFirmwareImp = new FirmwareImp(pSysmanDeviceImp->pFirmwareHandleContext->pOsSysman, mockSupportedFwTypes[0]);
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->handleList.push_back(ptestFirmwareImp);
|
||||
|
||||
ON_CALL(*pMockFwInterface.get(), flashFirmware(_, _, _))
|
||||
.WillByDefault(::testing::Return(ZE_RESULT_SUCCESS));
|
||||
|
||||
auto handles = getFirmwareHandles(mockHandleCount);
|
||||
uint8_t testImage[ZES_STRING_PROPERTY_SIZE] = {};
|
||||
memset(testImage, 0xA, ZES_STRING_PROPERTY_SIZE);
|
||||
@@ -193,8 +174,7 @@ TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleWhenFlashingUnkownFirmwareThe
|
||||
FirmwareImp *ptestFirmwareImp = new FirmwareImp(pSysmanDeviceImp->pFirmwareHandleContext->pOsSysman, mockUnsupportedFwTypes[0]);
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->handleList.push_back(ptestFirmwareImp);
|
||||
|
||||
ON_CALL(*pMockFwInterface.get(), flashFirmware(_, _, _))
|
||||
.WillByDefault(::testing::Return(ZE_RESULT_ERROR_UNSUPPORTED_FEATURE));
|
||||
pMockFwInterface->flashFirmwareResult = ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
|
||||
uint8_t testImage[ZES_STRING_PROPERTY_SIZE] = {};
|
||||
memset(testImage, 0xA, ZES_STRING_PROPERTY_SIZE);
|
||||
@@ -210,8 +190,7 @@ TEST_F(ZesFirmwareFixture, GivenFirmwareInitializationFailureThenCreateHandleMus
|
||||
delete handle;
|
||||
}
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->handleList.clear();
|
||||
ON_CALL(*pMockFwInterface.get(), fwDeviceInit())
|
||||
.WillByDefault(::testing::Return(ZE_RESULT_ERROR_UNKNOWN));
|
||||
pMockFwInterface->fwDeviceInitResult = ZE_RESULT_ERROR_UNKNOWN;
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->init();
|
||||
EXPECT_EQ(0u, pSysmanDeviceImp->pFirmwareHandleContext->handleList.size());
|
||||
}
|
||||
@@ -221,8 +200,7 @@ TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleFirmwareLibraryCallFailureWhe
|
||||
delete handle;
|
||||
}
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->handleList.clear();
|
||||
ON_CALL(*pMockFwInterface.get(), getFwVersion(_, _))
|
||||
.WillByDefault(::testing::Return(ZE_RESULT_ERROR_UNINITIALIZED));
|
||||
pMockFwInterface->getFwVersionResult = ZE_RESULT_ERROR_UNINITIALIZED;
|
||||
|
||||
pSysmanDeviceImp->pFirmwareHandleContext->init();
|
||||
auto handles = getFirmwareHandles(mockHandleCount);
|
||||
@@ -257,8 +235,6 @@ class ZesFirmwareUninitializedFixture : public SysmanDeviceFixture {
|
||||
|
||||
pFwUtilInterfaceOld = pLinuxSysmanImp->pFwUtilInterface;
|
||||
pLinuxSysmanImp->pFwUtilInterface = nullptr;
|
||||
ON_CALL(*pFsAccess.get(), read(_, _))
|
||||
.WillByDefault(::testing::Invoke(pFsAccess.get(), &Mock<FirmwareFsAccess>::readValSuccess));
|
||||
}
|
||||
void TearDown() override {
|
||||
if (!sysmanUltsEnable) {
|
||||
|
||||
@@ -77,11 +77,8 @@ struct GlobalOperationsDiagnosticsHandleContext : public DiagnosticsHandleContex
|
||||
};
|
||||
template <>
|
||||
struct Mock<GlobalOperationsDiagnosticsHandleContext> : public GlobalOperationsDiagnosticsHandleContext {
|
||||
void initMock() {}
|
||||
Mock<GlobalOperationsDiagnosticsHandleContext>(OsSysman *pOsSysman) : GlobalOperationsDiagnosticsHandleContext(pOsSysman) {}
|
||||
void init(void) override {
|
||||
initMock();
|
||||
}
|
||||
ADDMETHOD_NOBASE_VOIDRETURN(init, ());
|
||||
};
|
||||
|
||||
struct GlobalOperationsFirmwareHandleContext : public FirmwareHandleContext {
|
||||
@@ -89,9 +86,8 @@ struct GlobalOperationsFirmwareHandleContext : public FirmwareHandleContext {
|
||||
};
|
||||
template <>
|
||||
struct Mock<GlobalOperationsFirmwareHandleContext> : public GlobalOperationsFirmwareHandleContext {
|
||||
void initMock() {}
|
||||
Mock<GlobalOperationsFirmwareHandleContext>(OsSysman *pOsSysman) : GlobalOperationsFirmwareHandleContext(pOsSysman) {}
|
||||
MOCK_METHOD(void, init, (), (override));
|
||||
ADDMETHOD_NOBASE_VOIDRETURN(init, ());
|
||||
};
|
||||
|
||||
class GlobalOperationsSysfsAccess : public SysfsAccess {};
|
||||
@@ -426,9 +422,9 @@ struct Mock<GlobalOperationsFsAccess> : public GlobalOperationsFsAccess {
|
||||
MOCK_METHOD(ze_result_t, canWrite, (const std::string file), (override));
|
||||
};
|
||||
|
||||
class FirmwareInterface : public FirmwareUtil {};
|
||||
class GlobalOpsFwInterface : public FirmwareUtil {};
|
||||
template <>
|
||||
struct Mock<FirmwareInterface> : public FirmwareUtil {
|
||||
struct Mock<GlobalOpsFwInterface> : public GlobalOpsFwInterface {
|
||||
|
||||
ze_result_t mockFwDeviceInit(void) {
|
||||
return ZE_RESULT_SUCCESS;
|
||||
@@ -447,7 +443,7 @@ struct Mock<FirmwareInterface> : public FirmwareUtil {
|
||||
ifrStatus = false;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
Mock<FirmwareInterface>() = default;
|
||||
Mock<GlobalOpsFwInterface>() = default;
|
||||
|
||||
MOCK_METHOD(ze_result_t, fwDeviceInit, (), (override));
|
||||
MOCK_METHOD(ze_result_t, getFirstDevice, (igsc_device_info * info), (override));
|
||||
|
||||
@@ -101,8 +101,6 @@ class SysmanGlobalOperationsFixture : public SysmanDeviceFixture {
|
||||
.WillByDefault(::testing::Invoke(pRasHandleContext.get(), &Mock<GlobalOperationsRasHandleContext>::initMock));
|
||||
ON_CALL(*pEngineHandleContext.get(), init())
|
||||
.WillByDefault(::testing::Invoke(pEngineHandleContext.get(), &Mock<GlobalOperationsEngineHandleContext>::initMock));
|
||||
ON_CALL(*pFirmwareHandleContext.get(), init())
|
||||
.WillByDefault(::testing::Invoke(pFirmwareHandleContext.get(), &Mock<GlobalOperationsFirmwareHandleContext>::initMock));
|
||||
ON_CALL(*pSysfsAccess.get(), read(_, Matcher<std::string &>(_)))
|
||||
.WillByDefault(::testing::Invoke(pSysfsAccess.get(), &Mock<GlobalOperationsSysfsAccess>::getValString));
|
||||
ON_CALL(*pSysfsAccess.get(), read(_, Matcher<uint64_t &>(_)))
|
||||
|
||||
Reference in New Issue
Block a user