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 <>
|
template <>
|
||||||
struct Mock<MockPmuInterfaceImpForSysman> : public MockPmuInterfaceImpForSysman {
|
struct Mock<MockPmuInterfaceImpForSysman> : public MockPmuInterfaceImpForSysman {
|
||||||
Mock<MockPmuInterfaceImpForSysman>(LinuxSysmanImp *pLinuxSysmanImp) : MockPmuInterfaceImpForSysman(pLinuxSysmanImp) {}
|
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) {
|
int pmuRead(int fd, uint64_t *data, ssize_t sizeOfdata) override {
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int mockedReadCountersForGroupSuccess(int fd, uint64_t *data, ssize_t sizeOfdata) {
|
|
||||||
data[0] = mockEventCount;
|
data[0] = mockEventCount;
|
||||||
data[1] = mockTimeStamp;
|
data[1] = mockTimeStamp;
|
||||||
data[2] = mockEvent1Val;
|
data[2] = mockEvent1Val;
|
||||||
|
@ -45,23 +38,15 @@ struct Mock<MockPmuInterfaceImpForSysman> : public MockPmuInterfaceImpForSysman
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int mockGetErrorNoSuccess() {
|
ADDMETHOD_NOBASE(perfEventOpen, int64_t, mockPmuFd, (perf_event_attr * attr, pid_t pid, int cpu, int groupFd, uint64_t flags));
|
||||||
return EINVAL;
|
ADDMETHOD_NOBASE(getErrorNo, int, 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));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class PmuFsAccess : public FsAccess {};
|
class PmuFsAccess : public FsAccess {};
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct Mock<PmuFsAccess> : public PmuFsAccess {
|
struct Mock<PmuFsAccess> : public PmuFsAccess {
|
||||||
MOCK_METHOD(ze_result_t, read, (const std::string file, uint32_t &val), (override));
|
ze_result_t read(const std::string file, uint32_t &val) override {
|
||||||
ze_result_t readValSuccess(const std::string file, uint32_t &val) {
|
|
||||||
val = 18;
|
val = 18;
|
||||||
return ZE_RESULT_SUCCESS;
|
return ZE_RESULT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,14 +32,6 @@ struct SysmanPmuFixture : public SysmanDeviceFixture {
|
||||||
pOriginalPmuInterface = pLinuxSysmanImp->pPmuInterface;
|
pOriginalPmuInterface = pLinuxSysmanImp->pPmuInterface;
|
||||||
pPmuInterface = std::make_unique<NiceMock<Mock<MockPmuInterfaceImpForSysman>>>(pLinuxSysmanImp);
|
pPmuInterface = std::make_unique<NiceMock<Mock<MockPmuInterfaceImpForSysman>>>(pLinuxSysmanImp);
|
||||||
pLinuxSysmanImp->pPmuInterface = pPmuInterface.get();
|
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 {
|
void TearDown() override {
|
||||||
if (!sysmanUltsEnable) {
|
if (!sysmanUltsEnable) {
|
||||||
|
@ -115,17 +107,14 @@ TEST_F(SysmanPmuFixture, GivenValidPmuHandleWhenReadingGroupOfEventsUsingGroupFd
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(SysmanPmuFixture, GivenValidPmuHandleWhenCallingPmuInterfaceOpenAndPerfEventOpenFailsThenFailureIsReturned) {
|
TEST_F(SysmanPmuFixture, GivenValidPmuHandleWhenCallingPmuInterfaceOpenAndPerfEventOpenFailsThenFailureIsReturned) {
|
||||||
ON_CALL(*pPmuInterface.get(), perfEventOpen(_, _, _, _, _))
|
pPmuInterface->perfEventOpenResult = -1;
|
||||||
.WillByDefault(::testing::Invoke(pPmuInterface.get(), &Mock<MockPmuInterfaceImpForSysman>::mockedPerfEventOpenAndFailureReturn));
|
|
||||||
uint64_t config = 10;
|
uint64_t config = 10;
|
||||||
EXPECT_EQ(-1, pLinuxSysmanImp->pPmuInterface->pmuInterfaceOpen(config, -1, PERF_FORMAT_TOTAL_TIME_ENABLED));
|
EXPECT_EQ(-1, pLinuxSysmanImp->pPmuInterface->pmuInterfaceOpen(config, -1, PERF_FORMAT_TOTAL_TIME_ENABLED));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(SysmanPmuFixture, GivenValidPmuHandleWhenCallingPmuInterfaceOpenAndPerfEventOpenFailsAndErrNoSetBySyscallIsNotInvalidArgumentThenFailureIsReturned) {
|
TEST_F(SysmanPmuFixture, GivenValidPmuHandleWhenCallingPmuInterfaceOpenAndPerfEventOpenFailsAndErrNoSetBySyscallIsNotInvalidArgumentThenFailureIsReturned) {
|
||||||
ON_CALL(*pPmuInterface.get(), perfEventOpen(_, _, _, _, _))
|
pPmuInterface->perfEventOpenResult = -1;
|
||||||
.WillByDefault(::testing::Invoke(pPmuInterface.get(), &Mock<MockPmuInterfaceImpForSysman>::mockedPerfEventOpenAndFailureReturn));
|
pPmuInterface->getErrorNoResult = EBADF;
|
||||||
ON_CALL(*pPmuInterface.get(), getErrorNo())
|
|
||||||
.WillByDefault(::testing::Invoke(pPmuInterface.get(), &Mock<MockPmuInterfaceImpForSysman>::mockGetErrorNoFailure));
|
|
||||||
uint64_t config = 10;
|
uint64_t config = 10;
|
||||||
EXPECT_EQ(-1, pLinuxSysmanImp->pPmuInterface->pmuInterfaceOpen(config, -1, PERF_FORMAT_TOTAL_TIME_ENABLED));
|
EXPECT_EQ(-1, pLinuxSysmanImp->pPmuInterface->pmuInterfaceOpen(config, -1, PERF_FORMAT_TOTAL_TIME_ENABLED));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue