Skip to content

Commit a62ec58

Browse files
Add tests to validate tracing layer for Zer API's (#388)
* Add tests to validate tracing layer for Zer API's Signed-off-by: Vishnu Khanth <[email protected]>
1 parent a90fa05 commit a62ec58

File tree

3 files changed

+1071
-0
lines changed

3 files changed

+1071
-0
lines changed

source/drivers/null/ze_null.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,9 @@ namespace driver
420420
}
421421
*pCount = 1;
422422

423+
char *env_str = context.setenv_var_with_driver_id("zeDeviceGetCommandQueueGroupProperties", ZEL_NULL_DRIVER_ID);
424+
context.env_vars.push_back(env_str);
425+
423426
return ZE_RESULT_SUCCESS;
424427
};
425428

@@ -435,6 +438,9 @@ namespace driver
435438
*pCount = 1;
436439
if( nullptr != pMemProperties ) *pMemProperties = memoryProperties;
437440

441+
char *env_str = context.setenv_var_with_driver_id("zeDeviceGetMemoryProperties", ZEL_NULL_DRIVER_ID);
442+
context.env_vars.push_back(env_str);
443+
438444
return ZE_RESULT_SUCCESS;
439445
};
440446

@@ -447,6 +453,10 @@ namespace driver
447453
memoryAccessProperties.stype = ZE_STRUCTURE_TYPE_DEVICE_MEMORY_ACCESS_PROPERTIES;
448454

449455
*pMemAccessProperties = memoryAccessProperties;
456+
457+
char *env_str = context.setenv_var_with_driver_id("zeDeviceGetMemoryAccessProperties", ZEL_NULL_DRIVER_ID);
458+
context.env_vars.push_back(env_str);
459+
450460
return ZE_RESULT_SUCCESS;
451461
};
452462

test/CMakeLists.txt

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ add_executable(
66
loader_api.cpp
77
loader_validation_layer.cpp
88
driver_ordering_helper_tests.cpp
9+
loader_tracing_layer.cpp
910
)
1011

1112
# Only include driver_ordering_unit_tests for static builds or non-Windows platforms
@@ -661,3 +662,43 @@ foreach(init_method IN LISTS init_methods)
661662
add_runtime_api_test("unsupported" ${init_method} "single_driver")
662663
endif()
663664
endforeach()
665+
666+
# ZER API Tracing Tests
667+
add_test(NAME test_zer_tracing_static_prologue COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWhenCallingZerApisWithStaticTracingEnabledAndPrologueCallbacksRegisteredThenExpectTracingToWork*)
668+
set_property(TEST test_zer_tracing_static_prologue PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_NULL_DRIVER=1")
669+
670+
add_test(NAME test_zer_tracing_static_epilogue COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWhenCallingZerApisWithStaticTracingEnabledAndEpilogueCallbacksRegisteredThenExpectTracingToWork*)
671+
set_property(TEST test_zer_tracing_static_epilogue PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_NULL_DRIVER=1")
672+
673+
add_test(NAME test_zer_tracing_static_both COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWhenCallingZerApisWithStaticTracingEnabledAndBothCallbacksRegisteredThenExpectBothToWork*)
674+
set_property(TEST test_zer_tracing_static_both PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_NULL_DRIVER=1")
675+
676+
add_test(NAME test_zer_tracing_dynamic_prologue COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWhenCallingZerApisWithDynamicTracingEnabledAndPrologueCallbacksRegisteredThenExpectCallbacksToWorkCorrectly*)
677+
set_property(TEST test_zer_tracing_dynamic_prologue PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
678+
679+
add_test(NAME test_zer_tracing_dynamic_epilogue COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWhenCallingZerApisWithDynamicTracingEnabledAndEpilogueCallbacksRegisteredThenExpectTracingToWork*)
680+
set_property(TEST test_zer_tracing_dynamic_epilogue PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
681+
682+
add_test(NAME test_zer_tracing_dynamic_both COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWhenCallingZerApisWithDynamicTracingEnabledAndBothCallbacksRegisteredThenExpectFullTracingFunctionality*)
683+
set_property(TEST test_zer_tracing_dynamic_both PROPERTY ENVIRONMENT "ZE_ENABLE_NULL_DRIVER=1")
684+
685+
add_test(NAME test_zer_tracing_static_multi_tracers COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWithStaticTracingEnabledAndMultipleTracersWithBothCallbacksRegisteredWhenCallingZerApisThenAllTracersReceiveCallbacks*)
686+
set_property(TEST test_zer_tracing_static_multi_tracers PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_NULL_DRIVER=1")
687+
688+
add_test(NAME test_zer_tracing_static_multi_enabled_disabled_tracers COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWithStaticTracingEnabledAndMultipleEnabledAndDisabledTracersWithPrologueCallbacksRegisteredWhenCallingZerApisThenOnlyEnabledTracersReceiveCallbacks*)
689+
set_property(TEST test_zer_tracing_static_multi_enabled_disabled_tracers PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_NULL_DRIVER=1")
690+
691+
add_test(NAME test_zer_tracing_static_multi_tracers_different_callbacks COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWithStaticTracingEnabledAndMultipleTracersWithDifferentCallbacksRegisteredWhenCallingZerApisThenEachTracerWorksIndependently*)
692+
set_property(TEST test_zer_tracing_static_multi_tracers_different_callbacks PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_NULL_DRIVER=1")
693+
694+
add_test(NAME test_zer_tracing_static_selective COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWithStaticTracingEnabledAndSelectiveCallbackRegistrationWhenCallingZerApisThenOnlyRegisteredCallbacksAreTriggered*)
695+
set_property(TEST test_zer_tracing_static_selective PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_NULL_DRIVER=1")
696+
697+
add_test(NAME test_ze_and_zer_tracing_static COMMAND tests --gtest_filter=*TracingParameterizedTest*GivenLoaderWithStaticTracingEnabledAndBothZeAndZerCallbacksRegisteredWhenCallingBothApisThenBothAreTraced*)
698+
set_property(TEST test_ze_and_zer_tracing_static PROPERTY ENVIRONMENT "ZE_ENABLE_LOADER_DEBUG_TRACE=1;ZE_ENABLE_NULL_DRIVER=1")
699+
700+
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")
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")

0 commit comments

Comments
 (0)