@@ -53,11 +53,15 @@ struct DeferredOsContextCreationTests : ::testing::Test {
5353 DeviceFactory::prepareDeviceEnvironments (*device->getExecutionEnvironment ());
5454 }
5555
56- void expectContextCreation (EngineTypeUsage engineTypeUsage, bool defaultEngine, bool expectedImmediate ) {
56+ std::unique_ptr<OsContext> createOsContext (EngineTypeUsage engineTypeUsage, bool defaultEngine) {
5757 OSInterface *osInterface = device->getRootDeviceEnvironment ().osInterface .get ();
5858 std::unique_ptr<OsContext> osContext{OsContext::create (osInterface, 0 , 0 , engineTypeUsage, PreemptionMode::Disabled, false )};
5959 EXPECT_FALSE (osContext->isInitialized ());
60+ return osContext;
61+ }
6062
63+ void expectContextCreation (EngineTypeUsage engineTypeUsage, bool defaultEngine, bool expectedImmediate) {
64+ auto osContext = createOsContext (engineTypeUsage, defaultEngine);
6165 const bool immediate = osContext->isImmediateContextInitializationEnabled (defaultEngine);
6266 EXPECT_EQ (expectedImmediate, immediate);
6367 if (immediate) {
@@ -141,3 +145,18 @@ TEST_F(DeferredOsContextCreationTests, givenEnsureContextInitializeCalledMultipl
141145 EXPECT_TRUE (osContext.isInitialized ());
142146 EXPECT_EQ (1u , osContext.initializeContextCalled );
143147}
148+
149+ TEST_F (DeferredOsContextCreationTests, givenPrintOsContextInitializationsIsSetWhenOsContextItIsInitializedThenInfoIsLoggedToStdout) {
150+ DebugManagerStateRestore restore{};
151+ DebugManager.flags .DeferOsContextInitialization .set (1 );
152+ DebugManager.flags .PrintOsContextInitializations .set (1 );
153+ testing::internal::CaptureStdout ();
154+
155+ auto osContext = createOsContext (engineTypeUsageRegular, false );
156+ EXPECT_EQ (std::string{}, testing::internal::GetCapturedStdout ());
157+
158+ testing::internal::CaptureStdout ();
159+ osContext->ensureContextInitialized ();
160+ std::string expectedMessage = " OsContext initialization: contextId=0 usage=Regular type=RCS isRootDevice=0\n " ;
161+ EXPECT_EQ (expectedMessage, testing::internal::GetCapturedStdout ());
162+ }
0 commit comments