@@ -520,7 +520,7 @@ TEST(DrmTest, givenPerContextVMRequiredWhenCreatingOsContextsThenImplicitVmIdPer
520520 OsContextLinux osContext (drmMock, 0u , EngineDescriptorHelper::getDefaultDescriptor ());
521521 osContext.ensureContextInitialized ();
522522 EXPECT_EQ (0u , drmMock.receivedCreateContextId );
523- EXPECT_EQ (1u , drmMock.receivedContextParamRequestCount );
523+ EXPECT_EQ (2u , drmMock.receivedContextParamRequestCount );
524524
525525 auto &drmVmIds = osContext.getDrmVmIds ();
526526 EXPECT_EQ (32u , drmVmIds.size ());
@@ -541,7 +541,7 @@ TEST(DrmTest, givenPerContextVMRequiredWhenCreatingOsContextForSubDeviceThenImpl
541541 OsContextLinux osContext (drmMock, 0u , EngineDescriptorHelper::getDefaultDescriptor (deviceBitfield));
542542 osContext.ensureContextInitialized ();
543543 EXPECT_EQ (0u , drmMock.receivedCreateContextId );
544- EXPECT_EQ (1u , drmMock.receivedContextParamRequestCount );
544+ EXPECT_EQ (2u , drmMock.receivedContextParamRequestCount );
545545
546546 auto &drmVmIds = osContext.getDrmVmIds ();
547547 EXPECT_EQ (32u , drmVmIds.size ());
@@ -565,7 +565,7 @@ TEST(DrmTest, givenPerContextVMRequiredWhenCreatingOsContextsForRootDeviceThenIm
565565 OsContextLinux osContext (drmMock, 0u , EngineDescriptorHelper::getDefaultDescriptor (deviceBitfield));
566566 osContext.ensureContextInitialized ();
567567 EXPECT_EQ (0u , drmMock.receivedCreateContextId );
568- EXPECT_EQ (2u , drmMock.receivedContextParamRequestCount );
568+ EXPECT_EQ (2 * 2u , drmMock.receivedContextParamRequestCount );
569569
570570 auto &drmVmIds = osContext.getDrmVmIds ();
571571 EXPECT_EQ (32u , drmVmIds.size ());
@@ -674,6 +674,23 @@ TEST(DrmTest, givenPrintIoctlDebugFlagNotSetWhenGettingTimestampFrequencyThenCap
674674 EXPECT_EQ (std::string::npos, outputString.find (expectedString));
675675}
676676
677+ TEST (DrmTest, givenProgramDebuggingWhenCreatingContextThenUnrecoverableContextIsSet) {
678+ auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
679+ executionEnvironment->setDebuggingEnabled ();
680+ executionEnvironment->prepareRootDeviceEnvironments (1 );
681+ executionEnvironment->rootDeviceEnvironments [0 ]->setHwInfo (defaultHwInfo.get ());
682+ executionEnvironment->calculateMaxOsContextCount ();
683+ executionEnvironment->rootDeviceEnvironments [0 ]->osInterface = std::make_unique<OSInterface>();
684+
685+ DrmMock drm (*executionEnvironment->rootDeviceEnvironments [0 ]);
686+
687+ OsContextLinux osContext (drm, 0u , EngineDescriptorHelper::getDefaultDescriptor ());
688+ osContext.ensureContextInitialized ();
689+
690+ EXPECT_EQ (0u , drm.receivedRecoverableContextValue );
691+ EXPECT_EQ (2u , drm.receivedContextParamRequestCount );
692+ }
693+
677694TEST (DrmQueryTest, GivenDrmWhenSetupHardwareInfoCalledThenCorrectMaxValuesInGtSystemInfoArePreserved) {
678695 auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
679696 executionEnvironment->prepareRootDeviceEnvironments (1 );
0 commit comments