Skip to content

Commit 26ce6a4

Browse files
Loader Driver Interaction conformance tests for Sysman Exp and Ext APIs (#418)
Added tests for PciLinkSpeedDowngrade, PowerLimits, RasState, Firmwaresecurityversion, SysmanDeviceMapping functions which includes the specs experimental and the extension APIs. Related-To: NEO-15551 Signed-off-by: Pratik Bari <pratik.bari@intel.com>
1 parent 8270cbd commit 26ce6a4

File tree

2 files changed

+233
-0
lines changed

2 files changed

+233
-0
lines changed

test/CMakeLists.txt

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,16 @@ else()
494494
set_property(TEST tests_multi_driver_sysman_vf_management_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/lib/libze_null_test1.so,${CMAKE_BINARY_DIR}/lib/libze_null_test2.so")
495495
endif()
496496

497+
add_test(NAME tests_single_driver_sysman_driver_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManDriverApisThenExpectNullDriverIsReachedSuccessfully)
498+
set_property(TEST tests_single_driver_sysman_driver_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
499+
500+
add_test(NAME tests_multi_driver_sysman_driver_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManDriverApisThenExpectNullDriverIsReachedSuccessfully)
501+
if (MSVC)
502+
set_property(TEST tests_multi_driver_sysman_driver_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test1.dll,${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test2.dll")
503+
else()
504+
set_property(TEST tests_multi_driver_sysman_driver_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/lib/libze_null_test1.so,${CMAKE_BINARY_DIR}/lib/libze_null_test2.so")
505+
endif()
506+
497507
add_test(NAME tests_single_driver_sysman_device_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManDeviceApisThenExpectNullDriverIsReachedSuccessfully)
498508
set_property(TEST tests_single_driver_sysman_device_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
499509

@@ -704,7 +714,55 @@ else()
704714
set_property(TEST tests_multi_driver_sysman_overclock_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/lib/libze_null_test1.so,${CMAKE_BINARY_DIR}/lib/libze_null_test2.so")
705715
endif()
706716

717+
add_test(NAME tests_single_driver_sysman_pci_link_speed_downgrade_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManPciLinkSpeedDowngradeApisThenExpectNullDriverIsReachedSuccessfully)
718+
set_property(TEST tests_single_driver_sysman_pci_link_speed_downgrade_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
719+
720+
add_test(NAME tests_multi_driver_sysman_pci_link_speed_downgrade_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManPciLinkSpeedDowngradeApisThenExpectNullDriverIsReachedSuccessfully)
721+
if (MSVC)
722+
set_property(TEST tests_multi_driver_sysman_pci_link_speed_downgrade_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test1.dll,${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test2.dll")
723+
else()
724+
set_property(TEST tests_multi_driver_sysman_pci_link_speed_downgrade_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/lib/libze_null_test1.so,${CMAKE_BINARY_DIR}/lib/libze_null_test2.so")
725+
endif()
726+
727+
add_test(NAME tests_single_driver_sysman_power_limits_ext_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManPowerLimitsExtApisThenExpectNullDriverIsReachedSuccessfully)
728+
set_property(TEST tests_single_driver_sysman_power_limits_ext_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
729+
730+
add_test(NAME tests_multi_driver_sysman_power_limits_ext_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManPowerLimitsExtApisThenExpectNullDriverIsReachedSuccessfully)
731+
if (MSVC)
732+
set_property(TEST tests_multi_driver_sysman_power_limits_ext_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test1.dll,${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test2.dll")
733+
else()
734+
set_property(TEST tests_multi_driver_sysman_power_limits_ext_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/lib/libze_null_test1.so,${CMAKE_BINARY_DIR}/lib/libze_null_test2.so")
735+
endif()
736+
737+
add_test(NAME tests_single_driver_sysman_ras_state_ext_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManRasStateExtApisThenExpectNullDriverIsReachedSuccessfully)
738+
set_property(TEST tests_single_driver_sysman_ras_state_ext_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
739+
740+
add_test(NAME tests_multi_driver_sysman_ras_state_ext_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManRasStateExtApisThenExpectNullDriverIsReachedSuccessfully)
741+
if (MSVC)
742+
set_property(TEST tests_multi_driver_sysman_ras_state_ext_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test1.dll,${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test2.dll")
743+
else()
744+
set_property(TEST tests_multi_driver_sysman_ras_state_ext_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/lib/libze_null_test1.so,${CMAKE_BINARY_DIR}/lib/libze_null_test2.so")
745+
endif()
746+
747+
add_test(NAME tests_single_driver_sysman_firmware_security_version_ext_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManFirmwareSecurityVersionExtApisThenExpectNullDriverIsReachedSuccessfully)
748+
set_property(TEST tests_single_driver_sysman_firmware_security_version_ext_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
749+
750+
add_test(NAME tests_multi_driver_sysman_firmware_security_version_ext_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManFirmwareSecurityVersionExtApisThenExpectNullDriverIsReachedSuccessfully)
751+
if (MSVC)
752+
set_property(TEST tests_multi_driver_sysman_firmware_security_version_ext_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test1.dll,${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test2.dll")
753+
else()
754+
set_property(TEST tests_multi_driver_sysman_firmware_security_version_ext_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/lib/libze_null_test1.so,${CMAKE_BINARY_DIR}/lib/libze_null_test2.so")
755+
endif()
756+
757+
add_test(NAME tests_single_driver_sysman_device_mapping_ext_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManDeviceMappingExtApisThenExpectNullDriverIsReachedSuccessfully)
758+
set_property(TEST tests_single_driver_sysman_device_mapping_ext_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
707759

760+
add_test(NAME tests_multi_driver_sysman_device_mapping_ext_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManDeviceMappingExtApisThenExpectNullDriverIsReachedSuccessfully)
761+
if (MSVC)
762+
set_property(TEST tests_multi_driver_sysman_device_mapping_ext_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test1.dll,${CMAKE_BINARY_DIR}/bin/$<CONFIG>/ze_null_test2.dll")
763+
else()
764+
set_property(TEST tests_multi_driver_sysman_device_mapping_ext_api APPEND PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_ALT_DRIVERS=${CMAKE_BINARY_DIR}/lib/libze_null_test1.so,${CMAKE_BINARY_DIR}/lib/libze_null_test2.so")
765+
endif()
708766

709767
# Driver ordering tests - each test added individually
710768
add_test(NAME tests_driver_ordering_specific_type_and_index COMMAND tests --gtest_filter=*GivenZelDriversOrderWithSpecificTypeAndIndexWhenCallingZeInitDriversThenSuccessfulReturn)

test/loader_api.cpp

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2026,6 +2026,30 @@ TEST(
20262026
}
20272027
}
20282028

2029+
TEST(
2030+
SysManApiLoaderDriverInteraction,
2031+
GivenLevelZeroLoaderPresentWhenCallingSysManDriverApisThenExpectNullDriverIsReachedSuccessfully)
2032+
{
2033+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesInit(0));
2034+
uint32_t driverCount = 0;
2035+
std::vector<zes_driver_handle_t> driverHandles{};
2036+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, nullptr));
2037+
EXPECT_GT(driverCount, 0);
2038+
driverHandles.resize(driverCount);
2039+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, driverHandles.data()));
2040+
for (std::size_t i = 0; i < driverHandles.size(); i++)
2041+
{
2042+
uint32_t count = 1;
2043+
zes_driver_extension_properties_t extensionProperties{};
2044+
char * functionName = nullptr;
2045+
void * pFunctionAddress = nullptr;
2046+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGetExtensionProperties(driverHandles[i], &count, &extensionProperties));
2047+
EXPECT_TRUE(compare_env("zesDriverGetExtensionProperties", std::to_string(i + 1)));
2048+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGetExtensionFunctionAddress(driverHandles[i], functionName, &pFunctionAddress));
2049+
EXPECT_TRUE(compare_env("zesDriverGetExtensionFunctionAddress", std::to_string(i + 1)));
2050+
}
2051+
}
2052+
20292053
TEST(
20302054
SysManApiLoaderDriverInteraction,
20312055
GivenLevelZeroLoaderPresentWhenCallingSysManDeviceApisThenExpectNullDriverIsReachedSuccessfully)
@@ -2362,6 +2386,7 @@ TEST(
23622386
zes_fan_properties_t fanProperties{};
23632387
zes_fan_config_t fanConfig{};
23642388
zes_fan_speed_t fanSpeed{};
2389+
zes_fan_speed_table_t speedTable{};
23652390
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGet(driverHandles[i], &deviceCount, &deviceHandle));
23662391
EXPECT_TRUE(compare_env("zesDeviceGet", std::to_string(i + 1)));
23672392
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEnumFans(deviceHandle, &count, &fanHandle));
@@ -2374,6 +2399,8 @@ TEST(
23742399
EXPECT_TRUE(compare_env("zesFanSetDefaultMode", std::to_string(i + 1)));
23752400
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFanSetFixedSpeedMode(fanHandle, &fanSpeed));
23762401
EXPECT_TRUE(compare_env("zesFanSetFixedSpeedMode", std::to_string(i + 1)));
2402+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFanSetSpeedTableMode(fanHandle, &speedTable));
2403+
EXPECT_TRUE(compare_env("zesFanSetSpeedTableMode", std::to_string(i + 1)));
23772404
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFanGetState(fanHandle, ZES_FAN_SPEED_UNITS_RPM, &fanSpeed.speed));
23782405
EXPECT_TRUE(compare_env("zesFanGetState", std::to_string(i + 1)));
23792406
}
@@ -2864,6 +2891,154 @@ TEST(
28642891
}
28652892
}
28662893

2894+
TEST(
2895+
SysManApiLoaderDriverInteraction,
2896+
GivenLevelZeroLoaderPresentWhenCallingSysManPciLinkSpeedDowngradeApisThenExpectNullDriverIsReachedSuccessfully)
2897+
{
2898+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesInit(0));
2899+
uint32_t driverCount = 0;
2900+
std::vector<zes_driver_handle_t> driverHandles{};
2901+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, nullptr));
2902+
EXPECT_GT(driverCount, 0);
2903+
driverHandles.resize(driverCount);
2904+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, driverHandles.data()));
2905+
2906+
for (std::size_t i = 0; i < driverHandles.size(); i++)
2907+
{
2908+
uint32_t deviceCount = 1;
2909+
zes_device_handle_t deviceHandle{};
2910+
zes_device_action_t pendingAction{};
2911+
ze_bool_t shouldDowngrade = true;
2912+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGet(driverHandles[i], &deviceCount, &deviceHandle));
2913+
EXPECT_TRUE(compare_env("zesDeviceGet", std::to_string(i + 1)));
2914+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDevicePciLinkSpeedUpdateExt(deviceHandle, shouldDowngrade, &pendingAction));
2915+
EXPECT_TRUE(compare_env("zesDevicePciLinkSpeedUpdateExt", std::to_string(i + 1)));
2916+
}
2917+
}
2918+
2919+
TEST(
2920+
SysManApiLoaderDriverInteraction,
2921+
GivenLevelZeroLoaderPresentWhenCallingSysManPowerLimitsExtApisThenExpectNullDriverIsReachedSuccessfully)
2922+
{
2923+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesInit(0));
2924+
uint32_t driverCount = 0;
2925+
std::vector<zes_driver_handle_t> driverHandles{};
2926+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, nullptr));
2927+
EXPECT_GT(driverCount, 0);
2928+
driverHandles.resize(driverCount);
2929+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, driverHandles.data()));
2930+
2931+
for (std::size_t i = 0; i < driverHandles.size(); i++)
2932+
{
2933+
uint32_t deviceCount = 1;
2934+
zes_device_handle_t deviceHandle{};
2935+
zes_pwr_handle_t powerHandle{};
2936+
uint32_t count = 1;
2937+
zes_power_limit_ext_desc_t powerLimitsExt{};
2938+
2939+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGet(driverHandles[i], &deviceCount, &deviceHandle));
2940+
EXPECT_TRUE(compare_env("zesDeviceGet", std::to_string(i + 1)));
2941+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEnumPowerDomains(deviceHandle, &count, &powerHandle));
2942+
EXPECT_TRUE(compare_env("zesDeviceEnumPowerDomains", std::to_string(i + 1)));
2943+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesPowerGetLimitsExt(powerHandle, &count, &powerLimitsExt));
2944+
EXPECT_TRUE(compare_env("zesPowerGetLimitsExt", std::to_string(i + 1)));
2945+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesPowerSetLimitsExt(powerHandle, &count, &powerLimitsExt));
2946+
EXPECT_TRUE(compare_env("zesPowerSetLimitsExt", std::to_string(i + 1)));
2947+
}
2948+
}
2949+
2950+
TEST(
2951+
SysManApiLoaderDriverInteraction,
2952+
GivenLevelZeroLoaderPresentWhenCallingSysManRasStateExtApisThenExpectNullDriverIsReachedSuccessfully)
2953+
{
2954+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesInit(0));
2955+
uint32_t driverCount = 0;
2956+
std::vector<zes_driver_handle_t> driverHandles{};
2957+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, nullptr));
2958+
EXPECT_GT(driverCount, 0);
2959+
driverHandles.resize(driverCount);
2960+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, driverHandles.data()));
2961+
2962+
for (std::size_t i = 0; i < driverHandles.size(); i++)
2963+
{
2964+
uint32_t deviceCount = 1;
2965+
zes_device_handle_t deviceHandle{};
2966+
zes_ras_handle_t rasHandle{};
2967+
zes_ras_state_exp_t rasState{};
2968+
zes_ras_error_category_exp_t errorCategory = ZES_RAS_ERROR_CATEGORY_EXP_CACHE_ERRORS;
2969+
uint32_t count = 1;
2970+
uint32_t stateCount = 0;
2971+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGet(driverHandles[i], &deviceCount, &deviceHandle));
2972+
EXPECT_TRUE(compare_env("zesDeviceGet", std::to_string(i + 1)));
2973+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEnumRasErrorSets(deviceHandle, &count, &rasHandle));
2974+
EXPECT_TRUE(compare_env("zesDeviceEnumRasErrorSets", std::to_string(i + 1)));
2975+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesRasGetStateExp(rasHandle, &stateCount, &rasState));
2976+
EXPECT_TRUE(compare_env("zesRasGetStateExp", std::to_string(i + 1)));
2977+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesRasClearStateExp(rasHandle, errorCategory));
2978+
EXPECT_TRUE(compare_env("zesRasClearStateExp", std::to_string(i + 1)));
2979+
}
2980+
}
2981+
2982+
TEST(
2983+
SysManApiLoaderDriverInteraction,
2984+
GivenLevelZeroLoaderPresentWhenCallingSysManFirmwareSecurityVersionExtApisThenExpectNullDriverIsReachedSuccessfully)
2985+
{
2986+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesInit(0));
2987+
uint32_t driverCount = 0;
2988+
std::vector<zes_driver_handle_t> driverHandles{};
2989+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, nullptr));
2990+
EXPECT_GT(driverCount, 0);
2991+
driverHandles.resize(driverCount);
2992+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, driverHandles.data()));
2993+
2994+
for (std::size_t i = 0; i < driverHandles.size(); i++)
2995+
{
2996+
uint32_t deviceCount = 1;
2997+
zes_device_handle_t deviceHandle{};
2998+
uint32_t count = 1;
2999+
zes_firmware_handle_t firmwareHandle{};
3000+
char version[ZES_STRING_PROPERTY_SIZE];
3001+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGet(driverHandles[i], &deviceCount, &deviceHandle));
3002+
EXPECT_TRUE(compare_env("zesDeviceGet", std::to_string(i + 1)));
3003+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEnumFirmwares(deviceHandle, &count, &firmwareHandle));
3004+
EXPECT_TRUE(compare_env("zesDeviceEnumFirmwares", std::to_string(i + 1)));
3005+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFirmwareGetSecurityVersionExp(firmwareHandle, version));
3006+
EXPECT_TRUE(compare_env("zesFirmwareGetSecurityVersionExp", std::to_string(i + 1)));
3007+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFirmwareSetSecurityVersionExp(firmwareHandle));
3008+
EXPECT_TRUE(compare_env("zesFirmwareSetSecurityVersionExp", std::to_string(i + 1)));
3009+
}
3010+
}
3011+
3012+
TEST(
3013+
SysManApiLoaderDriverInteraction,
3014+
GivenLevelZeroLoaderPresentWhenCallingSysManDeviceMappingExtApisThenExpectNullDriverIsReachedSuccessfully)
3015+
{
3016+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesInit(0));
3017+
uint32_t driverCount = 0;
3018+
std::vector<zes_driver_handle_t> driverHandles{};
3019+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, nullptr));
3020+
EXPECT_GT(driverCount, 0);
3021+
driverHandles.resize(driverCount);
3022+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, driverHandles.data()));
3023+
3024+
for (std::size_t i = 0; i < driverHandles.size(); i++)
3025+
{
3026+
uint32_t deviceCount = 1;
3027+
zes_device_handle_t deviceHandle{};
3028+
zes_subdevice_exp_properties_t subDeviceProps{};
3029+
zes_uuid_t uuid{};
3030+
uint32_t subDeviceCount = 0;
3031+
uint32_t subdeviceId = 0;
3032+
ze_bool_t onSubdevice = false;
3033+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGet(driverHandles[i], &deviceCount, &deviceHandle));
3034+
EXPECT_TRUE(compare_env("zesDeviceGet", std::to_string(i + 1)));
3035+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGetSubDevicePropertiesExp(deviceHandle, &subDeviceCount, &subDeviceProps));
3036+
EXPECT_TRUE(compare_env("zesDeviceGetSubDevicePropertiesExp", std::to_string(i + 1)));
3037+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGetDeviceByUuidExp(driverHandles[i], uuid, &deviceHandle, &onSubdevice, &subdeviceId));
3038+
EXPECT_TRUE(compare_env("zesDriverGetDeviceByUuidExp", std::to_string(i + 1)));
3039+
}
3040+
}
3041+
28673042
// Helper function to clear ZEL_DRIVERS_ORDER environment variable
28683043
void clearDriverOrderEnv() {
28693044
putenv_safe(const_cast<char *>("ZEL_DRIVERS_ORDER="));

0 commit comments

Comments
 (0)