Skip to content

Commit d4564b9

Browse files
Added tests for Loader Driver interaction conformance for Sysman Modules
Added tests for the Engine and Memory Modules Related-To: NEO-15551 Signed-off-by: Pratik Bari <[email protected]>
1 parent d562046 commit d4564b9

File tree

2 files changed

+125
-0
lines changed

2 files changed

+125
-0
lines changed

test/CMakeLists.txt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,36 @@ else()
491491
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")
492492
endif()
493493

494+
add_test(NAME tests_single_driver_sysman_engine_management_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManEngineApisThenExpectNullDriverIsReachedSuccessfully)
495+
set_property(TEST tests_single_driver_sysman_engine_management_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
496+
497+
add_test(NAME tests_multi_driver_sysman_engine_management_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManEngineApisThenExpectNullDriverIsReachedSuccessfully)
498+
if (MSVC)
499+
set_property(TEST tests_multi_driver_sysman_engine_management_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")
500+
else()
501+
set_property(TEST tests_multi_driver_sysman_engine_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")
502+
endif()
503+
504+
add_test(NAME tests_single_driver_sysman_engine_ext_management_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManEngineExtApisThenExpectNullDriverIsReachedSuccessfully)
505+
set_property(TEST tests_single_driver_sysman_engine_ext_management_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
506+
507+
add_test(NAME tests_multi_driver_sysman_engine_ext_management_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManEngineExtApisThenExpectNullDriverIsReachedSuccessfully)
508+
if (MSVC)
509+
set_property(TEST tests_multi_driver_sysman_engine_ext_management_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")
510+
else()
511+
set_property(TEST tests_multi_driver_sysman_engine_ext_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")
512+
endif()
513+
514+
add_test(NAME tests_single_driver_sysman_memory_management_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManMemoryApisThenExpectNullDriverIsReachedSuccessfully)
515+
set_property(TEST tests_single_driver_sysman_memory_management_api PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
516+
517+
add_test(NAME tests_multi_driver_sysman_memory_management_api COMMAND tests --gtest_filter=*GivenLevelZeroLoaderPresentWhenCallingSysManMemoryApisThenExpectNullDriverIsReachedSuccessfully)
518+
if (MSVC)
519+
set_property(TEST tests_multi_driver_sysman_memory_management_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")
520+
else()
521+
set_property(TEST tests_multi_driver_sysman_memory_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")
522+
endif()
523+
494524
# Driver ordering tests - each test added individually
495525
add_test(NAME tests_driver_ordering_specific_type_and_index COMMAND tests --gtest_filter=*GivenZelDriversOrderWithSpecificTypeAndIndexWhenCallingZeInitDriversThenSuccessfulReturn)
496526
if (MSVC)

test/loader_api.cpp

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

2029+
TEST(
2030+
SysManApiLoaderDriverInteraction,
2031+
GivenLevelZeroLoaderPresentWhenCallingSysManEngineApisThenExpectNullDriverIsReachedSuccessfully)
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+
2041+
for (std::size_t i = 0; i < driverHandles.size(); i++)
2042+
{
2043+
uint32_t deviceCount = 1;
2044+
zes_device_handle_t deviceHandle{};
2045+
uint32_t count = 1;
2046+
zes_engine_handle_t engineHandle{};
2047+
zes_engine_properties_t engineProperties{};
2048+
zes_engine_stats_t engineStats{};
2049+
2050+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGet(driverHandles[i], &deviceCount, &deviceHandle));
2051+
EXPECT_TRUE(compare_env("zesDeviceGet", std::to_string(i + 1)));
2052+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEnumEngineGroups(deviceHandle, &count, &engineHandle));
2053+
EXPECT_TRUE(compare_env("zesDeviceEnumEngineGroups", std::to_string(i + 1)));
2054+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesEngineGetProperties(engineHandle, &engineProperties));
2055+
EXPECT_TRUE(compare_env("zesEngineGetProperties", std::to_string(i + 1)));
2056+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesEngineGetActivity(engineHandle, &engineStats));
2057+
EXPECT_TRUE(compare_env("zesEngineGetActivity", std::to_string(i + 1)));
2058+
}
2059+
}
2060+
2061+
TEST(
2062+
SysManApiLoaderDriverInteraction,
2063+
GivenLevelZeroLoaderPresentWhenCallingSysManEngineExtApisThenExpectNullDriverIsReachedSuccessfully)
2064+
{
2065+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesInit(0));
2066+
uint32_t driverCount = 0;
2067+
std::vector<zes_driver_handle_t> driverHandles{};
2068+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, nullptr));
2069+
EXPECT_GT(driverCount, 0);
2070+
driverHandles.resize(driverCount);
2071+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, driverHandles.data()));
2072+
2073+
for (std::size_t i = 0; i < driverHandles.size(); i++)
2074+
{
2075+
uint32_t deviceCount = 1;
2076+
zes_device_handle_t deviceHandle{};
2077+
uint32_t count = 1;
2078+
zes_engine_handle_t engineHandle{};
2079+
zes_engine_stats_t engineStats{};
2080+
2081+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGet(driverHandles[i], &deviceCount, &deviceHandle));
2082+
EXPECT_TRUE(compare_env("zesDeviceGet", std::to_string(i + 1)));
2083+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEnumEngineGroups(deviceHandle, &count, &engineHandle));
2084+
EXPECT_TRUE(compare_env("zesDeviceEnumEngineGroups", std::to_string(i + 1)));
2085+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesEngineGetActivityExt(engineHandle, &count, &engineStats));
2086+
EXPECT_TRUE(compare_env("zesEngineGetActivityExt", std::to_string(i + 1)));
2087+
}
2088+
}
2089+
2090+
TEST(
2091+
SysManApiLoaderDriverInteraction,
2092+
GivenLevelZeroLoaderPresentWhenCallingSysManMemoryApisThenExpectNullDriverIsReachedSuccessfully)
2093+
{
2094+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesInit(0));
2095+
uint32_t driverCount = 0;
2096+
std::vector<zes_driver_handle_t> driverHandles{};
2097+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, nullptr));
2098+
EXPECT_GT(driverCount, 0);
2099+
driverHandles.resize(driverCount);
2100+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDriverGet(&driverCount, driverHandles.data()));
2101+
2102+
for (std::size_t i = 0; i < driverHandles.size(); i++)
2103+
{
2104+
uint32_t deviceCount = 1;
2105+
zes_device_handle_t deviceHandle{};
2106+
uint32_t count = 1;
2107+
zes_mem_handle_t memHandle{};
2108+
zes_mem_properties_t memProperties{};
2109+
zes_mem_state_t memState{};
2110+
zes_mem_bandwidth_t memBandwidth{};
2111+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceGet(driverHandles[i], &deviceCount, &deviceHandle));
2112+
EXPECT_TRUE(compare_env("zesDeviceGet", std::to_string(i + 1)));
2113+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEnumMemoryModules(deviceHandle, &count, &memHandle));
2114+
EXPECT_TRUE(compare_env("zesDeviceEnumMemoryModules", std::to_string(i + 1)));
2115+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesMemoryGetProperties(memHandle, &memProperties));
2116+
EXPECT_TRUE(compare_env("zesMemoryGetProperties", std::to_string(i + 1)));
2117+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesMemoryGetState(memHandle, &memState));
2118+
EXPECT_TRUE(compare_env("zesMemoryGetState", std::to_string(i + 1)));
2119+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesMemoryGetBandwidth(memHandle, &memBandwidth));
2120+
EXPECT_TRUE(compare_env("zesMemoryGetBandwidth", std::to_string(i + 1)));
2121+
}
2122+
}
2123+
20292124
// Helper function to clear ZEL_DRIVERS_ORDER environment variable
20302125
void clearDriverOrderEnv() {
20312126
putenv_safe(const_cast<char *>("ZEL_DRIVERS_ORDER="));

0 commit comments

Comments
 (0)