fix(sysman): Fix engine handles in prelim
Related-To: NEO-10553 Signed-off-by: shubham kumar <shubham.kumar@intel.com>
This commit is contained in:
parent
8ae4a3bc7a
commit
a03a561f33
|
@ -96,7 +96,8 @@ std::optional<std::string> SysmanKmdInterfaceI915Prelim::getEngineClassString(ui
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t SysmanKmdInterfaceI915Prelim::getEventType(const bool isIntegratedDevice) {
|
uint32_t SysmanKmdInterfaceI915Prelim::getEventType(const bool isIntegratedDevice) {
|
||||||
return 0;
|
std::string i915DirName = "i915";
|
||||||
|
return getEventTypeImpl(i915DirName, isIntegratedDevice);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SysmanKmdInterfaceI915Prelim::getWedgedStatus(LinuxSysmanImp *pLinuxSysmanImp, zes_device_state_t *pState) {
|
void SysmanKmdInterfaceI915Prelim::getWedgedStatus(LinuxSysmanImp *pLinuxSysmanImp, zes_device_state_t *pState) {
|
||||||
|
|
|
@ -25,6 +25,32 @@ namespace ult {
|
||||||
|
|
||||||
using namespace NEO;
|
using namespace NEO;
|
||||||
|
|
||||||
|
static const uint32_t mockReadVal = 23;
|
||||||
|
|
||||||
|
static int mockReadLinkSuccess(const char *path, char *buf, size_t bufsize) {
|
||||||
|
constexpr size_t sizeofPath = sizeof("/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:01.0/0000:03:00.0");
|
||||||
|
strcpy_s(buf, sizeofPath, "/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:01.0/0000:03:00.0");
|
||||||
|
return sizeofPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int mockReadLinkFailure(const char *path, char *buf, size_t bufsize) {
|
||||||
|
errno = ENOENT;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static ssize_t mockReadSuccess(int fd, void *buf, size_t count, off_t offset) {
|
||||||
|
std::ostringstream oStream;
|
||||||
|
oStream << mockReadVal;
|
||||||
|
std::string value = oStream.str();
|
||||||
|
memcpy(buf, value.data(), count);
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
static ssize_t mockReadFailure(int fd, void *buf, size_t count, off_t offset) {
|
||||||
|
errno = ENOENT;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
class SysmanFixtureDeviceI915Prelim : public SysmanDeviceFixture {
|
class SysmanFixtureDeviceI915Prelim : public SysmanDeviceFixture {
|
||||||
protected:
|
protected:
|
||||||
L0::Sysman::SysmanDevice *device = nullptr;
|
L0::Sysman::SysmanDevice *device = nullptr;
|
||||||
|
@ -33,6 +59,12 @@ class SysmanFixtureDeviceI915Prelim : public SysmanDeviceFixture {
|
||||||
SysmanDeviceFixture::SetUp();
|
SysmanDeviceFixture::SetUp();
|
||||||
device = pSysmanDevice;
|
device = pSysmanDevice;
|
||||||
pLinuxSysmanImp->pSysmanKmdInterface.reset(new SysmanKmdInterfaceI915Prelim(pLinuxSysmanImp->getProductFamily()));
|
pLinuxSysmanImp->pSysmanKmdInterface.reset(new SysmanKmdInterfaceI915Prelim(pLinuxSysmanImp->getProductFamily()));
|
||||||
|
mockInitFsAccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
void mockInitFsAccess() {
|
||||||
|
VariableBackup<decltype(NEO::SysCalls::sysCallsReadlink)> mockReadLink(&NEO::SysCalls::sysCallsReadlink, &mockReadLinkSuccess);
|
||||||
|
pLinuxSysmanImp->pSysmanKmdInterface->initFsAccessInterface(*pLinuxSysmanImp->getDrm());
|
||||||
}
|
}
|
||||||
|
|
||||||
void TearDown() override {
|
void TearDown() override {
|
||||||
|
@ -109,9 +141,41 @@ TEST_F(SysmanFixtureDeviceI915Prelim, GivenSysmanKmdInterfaceInstanceWhenCheckin
|
||||||
EXPECT_TRUE(pSysmanKmdInterface->isStandbyModeControlAvailable());
|
EXPECT_TRUE(pSysmanKmdInterface->isStandbyModeControlAvailable());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(SysmanFixtureDeviceI915Prelim, GivenSysmanKmdInterfaceInstanceWhenCallingGetEventTypeThenInvalidValueIsReturned) {
|
TEST_F(SysmanFixtureDeviceI915Prelim, GivenSysmanKmdInterfaceInstanceAndIsIntegratedDeviceWhenGetEventsIsCalledThenValidEventTypeIsReturned) {
|
||||||
auto pSysmanKmdInterface = pLinuxSysmanImp->getSysmanKmdInterface();
|
|
||||||
EXPECT_EQ(0u, pSysmanKmdInterface->getEventType(true));
|
VariableBackup<decltype(NEO::SysCalls::sysCallsPread)> mockPread(&NEO::SysCalls::sysCallsPread, &mockReadSuccess);
|
||||||
|
|
||||||
|
auto pSysmanKmdInterface = pLinuxSysmanImp->pSysmanKmdInterface.get();
|
||||||
|
bool isIntegratedDevice = true;
|
||||||
|
EXPECT_EQ(mockReadVal, pSysmanKmdInterface->getEventType(isIntegratedDevice));
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(SysmanFixtureDeviceI915Prelim, GivenSysmanKmdInterfaceInstanceAndIsNotIntegratedDeviceWhenGetEventsIsCalledThenValidEventTypeIsReturned) {
|
||||||
|
|
||||||
|
VariableBackup<decltype(NEO::SysCalls::sysCallsReadlink)> mockReadLink(&NEO::SysCalls::sysCallsReadlink, &mockReadLinkSuccess);
|
||||||
|
VariableBackup<decltype(NEO::SysCalls::sysCallsPread)> mockPread(&NEO::SysCalls::sysCallsPread, &mockReadSuccess);
|
||||||
|
|
||||||
|
auto pSysmanKmdInterface = pLinuxSysmanImp->pSysmanKmdInterface.get();
|
||||||
|
bool isIntegratedDevice = false;
|
||||||
|
EXPECT_EQ(mockReadVal, pSysmanKmdInterface->getEventType(isIntegratedDevice));
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(SysmanFixtureDeviceI915Prelim, GivenSysmanKmdInterfaceInstanceAndIsNotIntegratedDeviceAndReadSymLinkFailsWhenGetEventsIsCalledThenFailureIsReturned) {
|
||||||
|
|
||||||
|
VariableBackup<decltype(NEO::SysCalls::sysCallsReadlink)> mockReadLink(&NEO::SysCalls::sysCallsReadlink, &mockReadLinkFailure);
|
||||||
|
|
||||||
|
auto pSysmanKmdInterface = pLinuxSysmanImp->pSysmanKmdInterface.get();
|
||||||
|
bool isIntegratedDevice = false;
|
||||||
|
EXPECT_EQ(0u, pSysmanKmdInterface->getEventType(isIntegratedDevice));
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(SysmanFixtureDeviceI915Prelim, GivenSysmanKmdInterfaceInstanceAndIsNotIntegratedDeviceAndFsReadFailsWhenGetEventsIsCalledThenFailureIsReturned) {
|
||||||
|
|
||||||
|
VariableBackup<decltype(NEO::SysCalls::sysCallsPread)> mockPread(&NEO::SysCalls::sysCallsPread, &mockReadFailure);
|
||||||
|
|
||||||
|
auto pSysmanKmdInterface = pLinuxSysmanImp->pSysmanKmdInterface.get();
|
||||||
|
bool isIntegratedDevice = false;
|
||||||
|
EXPECT_EQ(0u, pSysmanKmdInterface->getEventType(isIntegratedDevice));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(SysmanFixtureDeviceI915Prelim, GivenSysmanKmdInterfaceInstanceWhenCheckingAvailabilityOfFrequencyFilesThenTrueValueIsReturned) {
|
TEST_F(SysmanFixtureDeviceI915Prelim, GivenSysmanKmdInterfaceInstanceWhenCheckingAvailabilityOfFrequencyFilesThenTrueValueIsReturned) {
|
||||||
|
|
Loading…
Reference in New Issue