Skip to content

Commit 49c47fd

Browse files
committed
Add tests to validate tracing layer for Zer API's
Signed-off-by: Vishnu Khanth <vishnu.khanth.b@intel.com>
1 parent f5b16d9 commit 49c47fd

File tree

2 files changed

+60
-1
lines changed

2 files changed

+60
-1
lines changed

test/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,4 +698,7 @@ add_test(NAME test_ze_and_zer_tracing_static COMMAND tests --gtest_filter=*Traci
698698
set_property(TEST test_ze_and_zer_tracing_static PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_NULL_DRIVER=1")
699699

700700
add_test(NAME test_ze_and_zer_tracing_dynamic COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWithDynamicTracingEnabledAndBothZeAndZerCallbacksRegisteredWhenCallingBothApisThenBothAreTraced*)
701-
set_property(TEST test_ze_and_zer_tracing_dynamic PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
701+
set_property(TEST test_ze_and_zer_tracing_dynamic PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
702+
703+
add_test(NAME test_zer_unsupported_and_ze_tracing_dynamic COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWithDynamicTracingEnabledAndZerApisUnsupportedAndBothZeAndZerCallbacksRegisteredWhenCallingBothApisThenTracingWorksForZeOnly*)
704+
set_property(TEST test_zer_unsupported_and_ze_tracing_dynamic PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")

test/loader_tracing_layer.cpp

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -954,6 +954,62 @@ namespace
954954
destroyTracer(hTracer);
955955
}
956956

957+
TEST_P(TracingParameterizedTest,
958+
GivenLoaderWithDynamicTracingEnabledAndZerApisUnsupportedAndBothZeAndZerCallbacksRegisteredWhenCallingBothApisThenTracingWorksForZeOnly)
959+
{
960+
putenv_safe(const_cast<char *>("ZEL_TEST_NULL_DRIVER_DISABLE_ZER_API=1"));
961+
InitMethod initMethod = GetParam();
962+
963+
std::vector<ze_driver_handle_t> drivers;
964+
initializeLevelZero(initMethod, drivers);
965+
966+
zel_tracer_handle_t hTracer = createTracer();
967+
registerZerPrologueCallbacks(hTracer);
968+
registerZerEpilogueCallbacks(hTracer);
969+
registerZePrologueCallbacks(hTracer);
970+
registerZeEpilogueCallbacks(hTracer);
971+
EXPECT_EQ(ZE_RESULT_SUCCESS, zelTracerSetEnabled(hTracer, true));
972+
973+
callBasicZeApis(drivers);
974+
verifyBasicZeApisCalledBothCallbackTypes(0);
975+
976+
EXPECT_EQ(ZE_RESULT_SUCCESS, enableDynamicTracing());
977+
978+
const char *errorString = nullptr;
979+
ze_result_t result = zerGetLastErrorDescription(&errorString);
980+
EXPECT_EQ(ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, result);
981+
EXPECT_EQ(0, tracingData.getZerPrologueCallCount("zerGetLastErrorDescription"));
982+
EXPECT_EQ(0, tracingData.getZerEpilogueCallCount("zerGetLastErrorDescription"));
983+
984+
callBasicZeApis(drivers);
985+
verifyBasicZeApisCalledBothCallbackTypes(1);
986+
987+
EXPECT_EQ(ZE_RESULT_SUCCESS, disableDynamicTracing());
988+
callBasicZeApis(drivers);
989+
verifyBasicZeApisCalledBothCallbackTypes(1);
990+
991+
EXPECT_EQ(ZE_RESULT_SUCCESS, enableDynamicTracing());
992+
993+
errorString = nullptr;
994+
result = zerGetLastErrorDescription(&errorString);
995+
EXPECT_EQ(ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, result);
996+
EXPECT_EQ(0, tracingData.getZerPrologueCallCount("zerGetLastErrorDescription"));
997+
EXPECT_EQ(0, tracingData.getZerEpilogueCallCount("zerGetLastErrorDescription"));
998+
999+
uint32_t deviceCount = 1;
1000+
std::vector<ze_device_handle_t> devices(deviceCount);
1001+
result = zeDeviceGet(drivers[0], &deviceCount, devices.data());
1002+
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
1003+
1004+
uint32_t queueGroupCount = 0;
1005+
result = zeDeviceGetCommandQueueGroupProperties(devices[0], &queueGroupCount, nullptr);
1006+
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
1007+
EXPECT_EQ(2, tracingData.getZePrologueCallCount("zeDeviceGetCommandQueueGroupProperties"));
1008+
EXPECT_EQ(2, tracingData.getZeEpilogueCallCount("zeDeviceGetCommandQueueGroupProperties"));
1009+
1010+
destroyTracer(hTracer);
1011+
}
1012+
9571013
INSTANTIATE_TEST_SUITE_P(
9581014
InitMethods,
9591015
TracingParameterizedTest,

0 commit comments

Comments
 (0)