Remove gmock usage from PMU
Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
This commit is contained in:
parent
eecde9114a
commit
d1fb4011bd
|
@ -29,15 +29,8 @@ class MockPmuInterfaceImpForSysman : public PmuInterfaceImp {
|
|||
template <>
|
||||
struct Mock<MockPmuInterfaceImpForSysman> : public MockPmuInterfaceImpForSysman {
|
||||
Mock<MockPmuInterfaceImpForSysman>(LinuxSysmanImp *pLinuxSysmanImp) : MockPmuInterfaceImpForSysman(pLinuxSysmanImp) {}
|
||||
int64_t mockedPerfEventOpenAndSuccessReturn(perf_event_attr *attr, pid_t pid, int cpu, int groupFd, uint64_t flags) {
|
||||
return mockPmuFd;
|
||||
}
|
||||
|
||||
int64_t mockedPerfEventOpenAndFailureReturn(perf_event_attr *attr, pid_t pid, int cpu, int groupFd, uint64_t flags) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
int mockedReadCountersForGroupSuccess(int fd, uint64_t *data, ssize_t sizeOfdata) {
|
||||
int pmuRead(int fd, uint64_t *data, ssize_t sizeOfdata) override {
|
||||
data[0] = mockEventCount;
|
||||
data[1] = mockTimeStamp;
|
||||
data[2] = mockEvent1Val;
|
||||
|
@ -45,23 +38,15 @@ struct Mock<MockPmuInterfaceImpForSysman> : public MockPmuInterfaceImpForSysman
|
|||
return 0;
|
||||
}
|
||||
|
||||
int mockGetErrorNoSuccess() {
|
||||
return EINVAL;
|
||||
}
|
||||
int mockGetErrorNoFailure() {
|
||||
return EBADF;
|
||||
}
|
||||
MOCK_METHOD(int, pmuRead, (int fd, uint64_t *data, ssize_t sizeOfdata), (override));
|
||||
MOCK_METHOD(int64_t, perfEventOpen, (perf_event_attr * attr, pid_t pid, int cpu, int groupFd, uint64_t flags), (override));
|
||||
MOCK_METHOD(int, getErrorNo, (), (override));
|
||||
ADDMETHOD_NOBASE(perfEventOpen, int64_t, mockPmuFd, (perf_event_attr * attr, pid_t pid, int cpu, int groupFd, uint64_t flags));
|
||||
ADDMETHOD_NOBASE(getErrorNo, int, EINVAL, ());
|
||||
};
|
||||
|
||||
class PmuFsAccess : public FsAccess {};
|
||||
|
||||
template <>
|
||||
struct Mock<PmuFsAccess> : public PmuFsAccess {
|
||||
MOCK_METHOD(ze_result_t, read, (const std::string file, uint32_t &val), (override));
|
||||
ze_result_t readValSuccess(const std::string file, uint32_t &val) {
|
||||
ze_result_t read(const std::string file, uint32_t &val) override {
|
||||
val = 18;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -32,14 +32,6 @@ struct SysmanPmuFixture : public SysmanDeviceFixture {
|
|||
pOriginalPmuInterface = pLinuxSysmanImp->pPmuInterface;
|
||||
pPmuInterface = std::make_unique<NiceMock<Mock<MockPmuInterfaceImpForSysman>>>(pLinuxSysmanImp);
|
||||
pLinuxSysmanImp->pPmuInterface = pPmuInterface.get();
|
||||
ON_CALL(*pFsAccess.get(), read(_, _))
|
||||
.WillByDefault(::testing::Invoke(pFsAccess.get(), &Mock<PmuFsAccess>::readValSuccess));
|
||||
ON_CALL(*pPmuInterface.get(), perfEventOpen(_, _, _, _, _))
|
||||
.WillByDefault(::testing::Invoke(pPmuInterface.get(), &Mock<MockPmuInterfaceImpForSysman>::mockedPerfEventOpenAndSuccessReturn));
|
||||
ON_CALL(*pPmuInterface.get(), pmuRead(_, _, _))
|
||||
.WillByDefault(::testing::Invoke(pPmuInterface.get(), &Mock<MockPmuInterfaceImpForSysman>::mockedReadCountersForGroupSuccess));
|
||||
ON_CALL(*pPmuInterface.get(), getErrorNo())
|
||||
.WillByDefault(::testing::Invoke(pPmuInterface.get(), &Mock<MockPmuInterfaceImpForSysman>::mockGetErrorNoSuccess));
|
||||
}
|
||||
void TearDown() override {
|
||||
if (!sysmanUltsEnable) {
|
||||
|
@ -115,17 +107,14 @@ TEST_F(SysmanPmuFixture, GivenValidPmuHandleWhenReadingGroupOfEventsUsingGroupFd
|
|||
}
|
||||
|
||||
TEST_F(SysmanPmuFixture, GivenValidPmuHandleWhenCallingPmuInterfaceOpenAndPerfEventOpenFailsThenFailureIsReturned) {
|
||||
ON_CALL(*pPmuInterface.get(), perfEventOpen(_, _, _, _, _))
|
||||
.WillByDefault(::testing::Invoke(pPmuInterface.get(), &Mock<MockPmuInterfaceImpForSysman>::mockedPerfEventOpenAndFailureReturn));
|
||||
pPmuInterface->perfEventOpenResult = -1;
|
||||
uint64_t config = 10;
|
||||
EXPECT_EQ(-1, pLinuxSysmanImp->pPmuInterface->pmuInterfaceOpen(config, -1, PERF_FORMAT_TOTAL_TIME_ENABLED));
|
||||
}
|
||||
|
||||
TEST_F(SysmanPmuFixture, GivenValidPmuHandleWhenCallingPmuInterfaceOpenAndPerfEventOpenFailsAndErrNoSetBySyscallIsNotInvalidArgumentThenFailureIsReturned) {
|
||||
ON_CALL(*pPmuInterface.get(), perfEventOpen(_, _, _, _, _))
|
||||
.WillByDefault(::testing::Invoke(pPmuInterface.get(), &Mock<MockPmuInterfaceImpForSysman>::mockedPerfEventOpenAndFailureReturn));
|
||||
ON_CALL(*pPmuInterface.get(), getErrorNo())
|
||||
.WillByDefault(::testing::Invoke(pPmuInterface.get(), &Mock<MockPmuInterfaceImpForSysman>::mockGetErrorNoFailure));
|
||||
pPmuInterface->perfEventOpenResult = -1;
|
||||
pPmuInterface->getErrorNoResult = EBADF;
|
||||
uint64_t config = 10;
|
||||
EXPECT_EQ(-1, pLinuxSysmanImp->pPmuInterface->pmuInterfaceOpen(config, -1, PERF_FORMAT_TOTAL_TIME_ENABLED));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue