@@ -292,16 +292,33 @@ TEST(DrmTest, WhenGettingRevisionIdThenCorrectIdIsReturned) {
292
292
293
293
auto hwInfo = pDrm->getRootDeviceEnvironment ().getMutableHardwareInfo ();
294
294
295
- pDrm-> storedDeviceID = 0x1234 ;
296
- pDrm-> storedDeviceRevID = 0xB ;
295
+ static constexpr uint16_t mockDeviceId = 0x1234 ;
296
+ static constexpr uint16_t mockRevisionId = 0xB ;
297
297
298
298
hwInfo->platform .usDeviceID = 0 ;
299
299
hwInfo->platform .usRevId = 0 ;
300
300
301
+ VariableBackup<decltype (SysCalls::sysCallsIoctl)> mockIoctl (&SysCalls::sysCallsIoctl);
302
+
303
+ SysCalls::sysCallsIoctl = [](int fileDescriptor, unsigned long int request, void *arg) -> int {
304
+ if (request == DRM_IOCTL_I915_GETPARAM) {
305
+ auto getParam = reinterpret_cast <GetParam *>(arg);
306
+ if (getParam->param == I915_PARAM_CHIPSET_ID) {
307
+ *getParam->value = mockDeviceId;
308
+ } else if (getParam->param == I915_PARAM_REVISION) {
309
+ *getParam->value = mockRevisionId;
310
+ } else {
311
+ return -1 ;
312
+ }
313
+ return 0 ;
314
+ }
315
+ return 1 ;
316
+ };
317
+
301
318
EXPECT_TRUE (pDrm->queryDeviceIdAndRevision ());
302
319
303
- EXPECT_EQ (pDrm-> storedDeviceID , hwInfo->platform .usDeviceID );
304
- EXPECT_EQ (pDrm-> storedDeviceRevID , hwInfo->platform .usRevId );
320
+ EXPECT_EQ (mockDeviceId , hwInfo->platform .usDeviceID );
321
+ EXPECT_EQ (mockRevisionId , hwInfo->platform .usRevId );
305
322
}
306
323
307
324
TEST (DrmTest, GivenDrmWhenAskedForGttSizeThenReturnCorrectValue) {
@@ -1745,42 +1762,16 @@ TEST(DrmTest, GivenDrmWhenDiscoveringDevicesThenCloseOnExecFlagIsPassedToFdOpen)
1745
1762
EXPECT_NE (0u , SysCalls::openFuncCalled);
1746
1763
}
1747
1764
1748
- TEST (DrmWrapperTest, WhenGettingDrmIoctlGetparamValueThenIoctlHelperIsNotNeeded) {
1749
- EXPECT_EQ (getIoctlRequestValue (DrmIoctl::getparam, nullptr ), static_cast <unsigned int >(DRM_IOCTL_I915_GETPARAM));
1750
- EXPECT_THROW (getIoctlRequestValue (DrmIoctl::dg1GemCreateExt, nullptr ), std::runtime_error);
1751
- }
1752
-
1753
1765
TEST (DrmWrapperTest, WhenGettingDrmIoctlVersionValueThenIoctlHelperIsNotNeeded) {
1754
1766
EXPECT_EQ (getIoctlRequestValue (DrmIoctl::version, nullptr ), static_cast <unsigned int >(DRM_IOCTL_VERSION));
1755
1767
}
1756
1768
1757
- TEST (DrmWrapperTest, WhenGettingChipsetIdParamValueThenIoctlHelperIsNotNeeded) {
1758
- EXPECT_EQ (getDrmParamValue (DrmParam::paramChipsetId, nullptr ), static_cast <int >(I915_PARAM_CHIPSET_ID));
1759
- }
1760
-
1761
- TEST (DrmWrapperTest, WhenGettingRevisionParamValueThenIoctlHelperIsNotNeeded) {
1762
- EXPECT_EQ (getDrmParamValue (DrmParam::paramRevision, nullptr ), static_cast <int >(I915_PARAM_REVISION));
1763
- }
1764
-
1765
- TEST (DrmWrapperTest, whenGettingDrmParamOrIoctlRequestValueThenUseIoctlHelperWhenAvailable) {
1766
- auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
1767
- DrmMock drm{*executionEnvironment->rootDeviceEnvironments [0 ]};
1768
-
1769
- MockIoctlHelper ioctlHelper{drm};
1770
- EXPECT_EQ (getIoctlRequestValue (DrmIoctl::getparam, &ioctlHelper), ioctlHelper.getIoctlRequestValueResult );
1771
- EXPECT_NE (getIoctlRequestValue (DrmIoctl::getparam, nullptr ), getIoctlRequestValue (DrmIoctl::getparam, &ioctlHelper));
1772
-
1773
- EXPECT_EQ (getDrmParamValue (DrmParam::paramChipsetId, &ioctlHelper), ioctlHelper.getDrmParamValueResult );
1774
- EXPECT_NE (getDrmParamValue (DrmParam::paramChipsetId, nullptr ), getDrmParamValue (DrmParam::paramChipsetId, &ioctlHelper));
1775
- }
1776
-
1777
1769
TEST (DrmWrapperTest, WhenGettingIoctlStringValueThenProperStringIsReturned) {
1778
1770
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
1779
1771
DrmMock drm{*executionEnvironment->rootDeviceEnvironments [0 ]};
1780
1772
1781
1773
MockIoctlHelper ioctlHelper{drm};
1782
- EXPECT_STREQ (getIoctlString (DrmIoctl::getparam, &ioctlHelper).c_str (), " DRM_IOCTL_I915_GETPARAM" );
1783
- EXPECT_STREQ (getIoctlString (DrmIoctl::getparam, nullptr ).c_str (), " DRM_IOCTL_I915_GETPARAM" );
1774
+ EXPECT_STREQ (ioctlHelper.getIoctlString (DrmIoctl::getparam).c_str (), " DRM_IOCTL_I915_GETPARAM" );
1784
1775
}
1785
1776
TEST (DrmWrapperTest, WhenGettingDrmParamValueStringThenProperStringIsReturned) {
1786
1777
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
@@ -1794,16 +1785,8 @@ TEST(DrmWrapperTest, WhenGettingDrmParamValueStringThenProperStringIsReturned) {
1794
1785
{DrmParam::paramMinEuInPool, " I915_PARAM_MIN_EU_IN_POOL" },
1795
1786
{DrmParam::paramCsTimestampFrequency, " I915_PARAM_CS_TIMESTAMP_FREQUENCY" }};
1796
1787
for (auto &ioctlCodeString : ioctlCodeStringMap) {
1797
- EXPECT_STREQ (getDrmParamString (ioctlCodeString.first , &ioctlHelper).c_str (), ioctlCodeString.second );
1798
- EXPECT_THROW (getDrmParamString (ioctlCodeString.first , nullptr ), std::runtime_error);
1788
+ EXPECT_STREQ (ioctlHelper.getDrmParamString (ioctlCodeString.first ).c_str (), ioctlCodeString.second );
1799
1789
}
1800
-
1801
- EXPECT_STREQ (getDrmParamString (DrmParam::paramChipsetId, &ioctlHelper).c_str (), " I915_PARAM_CHIPSET_ID" );
1802
- EXPECT_STREQ (getDrmParamString (DrmParam::paramChipsetId, nullptr ).c_str (), " I915_PARAM_CHIPSET_ID" );
1803
- EXPECT_STREQ (getDrmParamString (DrmParam::paramRevision, &ioctlHelper).c_str (), " I915_PARAM_REVISION" );
1804
- EXPECT_STREQ (getDrmParamString (DrmParam::paramRevision, nullptr ).c_str (), " I915_PARAM_REVISION" );
1805
-
1806
- EXPECT_THROW (getDrmParamString (DrmParam::engineClassRender, &ioctlHelper), std::runtime_error);
1807
1790
}
1808
1791
1809
1792
TEST (DrmHwInfoTest, givenTopologyDataWithoutSystemInfoWhenSettingHwInfoThenCorrectValuesAreSet) {
0 commit comments