@@ -2290,7 +2290,7 @@ TEST_F(DriverOrderingTest,
22902290
22912291 TEST (
22922292 RuntimeApiLoaderDriverInteraction,
2293- GivenLevelZeroLoaderPresentWithLoaderInterceptEnabledAndDdiExtSupportedWhenCallingRuntimeApisThenExpectNullDriverIsReachedSuccessfully )
2293+ GivenLevelZeroLoaderPresentWithLoaderInterceptEnabledAndDdiExtSupportedWhenCallingRuntimeApisAfterZeInitDriversThenExpectNullDriverIsReachedSuccessfully )
22942294 {
22952295 uint32_t pInitDriversCount = 0 ;
22962296 ze_init_driver_type_desc_t desc = {ZE_STRUCTURE_TYPE_INIT_DRIVER_TYPE_DESC};
@@ -2325,7 +2325,38 @@ TEST_F(DriverOrderingTest,
23252325
23262326 TEST (
23272327 RuntimeApiLoaderDriverInteraction,
2328- GivenLevelZeroLoaderPresentWithLoaderInterceptEnabledAndDdiExtNotSupportedWhenCallingRuntimeApisThenExpectNullDriverIsReachedSuccessfully)
2328+ GivenLevelZeroLoaderPresentWithLoaderInterceptEnabledAndDdiExtSupportedWhenCallingRuntimeApisAfterZeInitThenExpectNullDriverIsReachedSuccessfully)
2329+ {
2330+ putenv_safe (const_cast <char *>(" ZE_ENABLE_LOADER_INTERCEPT=1" ));
2331+ putenv_safe (const_cast <char *>(" ZEL_TEST_NULL_DRIVER_DISABLE_DDI_EXT=0" ));
2332+
2333+ uint32_t driverGetCount = 0 ;
2334+ EXPECT_EQ (ZE_RESULT_SUCCESS, zeInit (0 ));
2335+ EXPECT_EQ (ZE_RESULT_SUCCESS, zeDriverGet (&driverGetCount, nullptr ));
2336+ EXPECT_GT (driverGetCount, 0 );
2337+
2338+ const char *errorString = nullptr ;
2339+ uint32_t deviceId = 0 ;
2340+
2341+ ze_result_t result = zerGetLastErrorDescription (&errorString);
2342+ EXPECT_EQ (ZE_RESULT_SUCCESS, result);
2343+ EXPECT_TRUE (compare_env (" zerGetLastErrorDescription" , " 1" ));
2344+
2345+ deviceId = zerTranslateDeviceHandleToIdentifier (nullptr );
2346+ EXPECT_TRUE (compare_env (" zerTranslateDeviceHandleToIdentifier" , " 1" ));
2347+
2348+ ze_device_handle_t translatedDevice = zerTranslateIdentifierToDeviceHandle (deviceId);
2349+ EXPECT_TRUE (compare_env (" zerTranslateIdentifierToDeviceHandle" , " 1" ));
2350+ (void )translatedDevice;
2351+
2352+ ze_context_handle_t defaultContext = zerGetDefaultContext ();
2353+ EXPECT_TRUE (compare_env (" zerGetDefaultContext" , " 1" ));
2354+ (void )defaultContext;
2355+ }
2356+
2357+ TEST (
2358+ RuntimeApiLoaderDriverInteraction,
2359+ GivenLevelZeroLoaderPresentWithLoaderInterceptEnabledAndDdiExtNotSupportedWhenCallingRuntimeApisAfterZeInitDriversThenExpectNullDriverIsReachedSuccessfully)
23292360 {
23302361 uint32_t pInitDriversCount = 0 ;
23312362 ze_init_driver_type_desc_t desc = {ZE_STRUCTURE_TYPE_INIT_DRIVER_TYPE_DESC};
@@ -2358,10 +2389,40 @@ TEST_F(DriverOrderingTest,
23582389 (void )defaultContext;
23592390 }
23602391
2392+ TEST (
2393+ RuntimeApiLoaderDriverInteraction,
2394+ GivenLevelZeroLoaderPresentWithLoaderInterceptEnabledAndDdiExtNotSupportedWhenCallingRuntimeApisAfterZeInitThenExpectNullDriverIsReachedSuccessfully)
2395+ {
2396+ putenv_safe (const_cast <char *>(" ZE_ENABLE_LOADER_INTERCEPT=1" ));
2397+ putenv_safe (const_cast <char *>(" ZEL_TEST_NULL_DRIVER_DISABLE_DDI_EXT=1" ));
2398+
2399+ uint32_t driverGetCount = 0 ;
2400+ EXPECT_EQ (ZE_RESULT_SUCCESS, zeInit (0 ));
2401+ EXPECT_EQ (ZE_RESULT_SUCCESS, zeDriverGet (&driverGetCount, nullptr ));
2402+ EXPECT_GT (driverGetCount, 0 );
2403+
2404+ const char *errorString = nullptr ;
2405+ uint32_t deviceId = 0 ;
2406+
2407+ ze_result_t result = zerGetLastErrorDescription (&errorString);
2408+ EXPECT_EQ (ZE_RESULT_SUCCESS, result);
2409+ EXPECT_TRUE (compare_env (" zerGetLastErrorDescription" , " 1" ));
2410+
2411+ deviceId = zerTranslateDeviceHandleToIdentifier (nullptr );
2412+ EXPECT_TRUE (compare_env (" zerTranslateDeviceHandleToIdentifier" , " 1" ));
2413+
2414+ ze_device_handle_t translatedDevice = zerTranslateIdentifierToDeviceHandle (deviceId);
2415+ EXPECT_TRUE (compare_env (" zerTranslateIdentifierToDeviceHandle" , " 1" ));
2416+ (void )translatedDevice;
2417+
2418+ ze_context_handle_t defaultContext = zerGetDefaultContext ();
2419+ EXPECT_TRUE (compare_env (" zerGetDefaultContext" , " 1" ));
2420+ (void )defaultContext;
2421+ }
23612422
23622423 TEST (
23632424 RuntimeApiLoaderDriverInteraction,
2364- GivenLevelZeroLoaderPresentWithLoaderInterceptEnabledAndDdiExtSupportedWithVersion1_0WhenCallingRuntimeApisThenExpectErrorUninitialized )
2425+ GivenLevelZeroLoaderPresentWithLoaderInterceptEnabledAndDdiExtSupportedWithVersion1_0WhenCallingRuntimeApisAfterZeInitDriversThenExpectErrorUninitialized )
23652426 {
23662427 uint32_t pInitDriversCount = 0 ;
23672428 ze_init_driver_type_desc_t desc = {ZE_STRUCTURE_TYPE_INIT_DRIVER_TYPE_DESC};
@@ -2405,6 +2466,49 @@ TEST_F(DriverOrderingTest,
24052466 EXPECT_NE (errorDesc, nullptr );
24062467 EXPECT_EQ (0 , strcmp (errorDesc, " ERROR UNINITIALIZED" ));
24072468 }
2469+
2470+ TEST (
2471+ RuntimeApiLoaderDriverInteraction,
2472+ GivenLevelZeroLoaderPresentWithLoaderInterceptEnabledAndDdiExtSupportedWithVersion1_0WhenCallingRuntimeApisAfterZeInitThenExpectErrorUninitialized)
2473+ {
2474+ putenv_safe (const_cast <char *>(" ZE_ENABLE_LOADER_INTERCEPT=1" ));
2475+ putenv_safe (const_cast <char *>(" ZEL_TEST_NULL_DRIVER_DISABLE_DDI_EXT=0" ));
2476+ putenv_safe (const_cast <char *>(" ZEL_TEST_DDI_HANDLES_EXT_VERSION=1_0" ));
2477+
2478+ uint32_t driverGetCount = 0 ;
2479+ EXPECT_EQ (ZE_RESULT_SUCCESS, zeInit (0 ));
2480+ EXPECT_EQ (ZE_RESULT_SUCCESS, zeDriverGet (&driverGetCount, nullptr ));
2481+ EXPECT_GT (driverGetCount, 0 );
2482+
2483+ uint32_t deviceId = 0 ;
2484+
2485+ const char *errorDesc = nullptr ;
2486+ ze_result_t errorDescResult{};
2487+
2488+ deviceId = zerTranslateDeviceHandleToIdentifier (nullptr );
2489+ EXPECT_EQ (UINT32_MAX, deviceId);
2490+
2491+ errorDescResult = zerGetLastErrorDescription (&errorDesc);
2492+ EXPECT_EQ (ZE_RESULT_SUCCESS, errorDescResult);
2493+ EXPECT_NE (errorDesc, nullptr );
2494+ EXPECT_EQ (0 , strcmp (errorDesc, " ERROR UNINITIALIZED" ));
2495+
2496+ ze_device_handle_t translatedDevice = zerTranslateIdentifierToDeviceHandle (deviceId);
2497+ EXPECT_EQ (nullptr , translatedDevice);
2498+
2499+ errorDescResult = zerGetLastErrorDescription (&errorDesc);
2500+ EXPECT_EQ (ZE_RESULT_SUCCESS, errorDescResult);
2501+ EXPECT_NE (errorDesc, nullptr );
2502+ EXPECT_EQ (0 , strcmp (errorDesc, " ERROR UNINITIALIZED" ));
2503+
2504+ ze_context_handle_t defaultContext = zerGetDefaultContext ();
2505+ EXPECT_EQ (nullptr , defaultContext);
2506+
2507+ errorDescResult = zerGetLastErrorDescription (&errorDesc);
2508+ EXPECT_EQ (ZE_RESULT_SUCCESS, errorDescResult);
2509+ EXPECT_NE (errorDesc, nullptr );
2510+ EXPECT_EQ (0 , strcmp (errorDesc, " ERROR UNINITIALIZED" ));
2511+ }
24082512
24092513
24102514} // namespace
0 commit comments