From 3b0b9f07a88162e0c30addc512b5ec63d654e545 Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Tue, 10 Jun 2025 13:08:44 +0000 Subject: [PATCH] build: add cmake flag to skip mt unit tests exclude mt test targets from ALL build Signed-off-by: Mateusz Jablonski --- CMakeLists.txt | 1 + cmake/run_ult_target.cmake | 42 ++--- .../test/unit_tests/mt_tests/CMakeLists.txt | 167 +++++++++--------- opencl/test/unit_test/mt_tests/CMakeLists.txt | 84 ++++----- target_unit_tests/CMakeLists.txt | 4 +- 5 files changed, 152 insertions(+), 146 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bdd6e440fe..7ef94d320e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -280,6 +280,7 @@ if(NEO_SKIP_UNIT_TESTS) set(NEO_SKIP_OCL_UNIT_TESTS TRUE) set(NEO_SKIP_L0_UNIT_TESTS TRUE) set(NEO_SKIP_L0_BLACK_BOX_TESTS TRUE) + set(NEO_SKIP_MT_UNIT_TESTS TRUE) endif() if(DEFINED NEO_GENERATE_AUBS_FOR) diff --git a/cmake/run_ult_target.cmake b/cmake/run_ult_target.cmake index 791288a95d..47d72b5b7b 100644 --- a/cmake/run_ult_target.cmake +++ b/cmake/run_ult_target.cmake @@ -153,26 +153,28 @@ if(NOT NEO_SKIP_L0_UNIT_TESTS AND BUILD_WITH_L0) add_dependencies(run_l0_tests run_${product}_${revision_id}_l0_tests) - if(NOT TARGET run_l0_mt_tests) - add_custom_target(run_l0_mt_tests) + if(NOT NEO_SKIP_MT_UNIT_TESTS) + if(NOT TARGET run_l0_mt_tests) + add_custom_target(run_l0_mt_tests) + endif() + set_target_properties(run_l0_mt_tests PROPERTIES FOLDER ${PLATFORM_SPECIFIC_TEST_TARGETS_FOLDER}) + add_dependencies(run_mt_unit_tests run_l0_mt_tests) + + add_custom_target(run_${product}_${revision_id}_l0_mt_tests DEPENDS unit_tests) + set_target_properties(run_${product}_${revision_id}_l0_mt_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TEST_TARGETS_FOLDER}/${product}/${revision_id}") + + add_custom_command( + TARGET run_${product}_${revision_id}_l0_mt_tests + POST_BUILD + COMMAND WORKING_DIRECTORY ${TargetDir} + COMMAND echo create working directory ${TargetDir}/level_zero/${product}/${revision_id} + COMMAND ${CMAKE_COMMAND} -E make_directory ${TargetDir}/level_zero/${product}/${revision_id} + COMMAND echo Running ze_intel_gpu_core_mt_tests ${target} ${slices}x${subslices}x${eu_per_ss} in ${TargetDir} + COMMAND echo Cmd line: ${NEO_RUN_INTERCEPTOR_LIST} $ --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} ${GTEST_EXCEPTION_OPTIONS} --gtest_repeat=${GTEST_REPEAT} ${GTEST_SHUFFLE} ${GTEST_OUTPUT_L0MT} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} --dev_id ${device_id} + COMMAND ${NEO_RUN_INTERCEPTOR_LIST} $ --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} ${GTEST_EXCEPTION_OPTIONS} --gtest_repeat=${GTEST_REPEAT} ${GTEST_SHUFFLE} ${GTEST_OUTPUT_L0MT} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} --dev_id ${device_id} + ) + + add_dependencies(run_l0_mt_tests run_${product}_${revision_id}_l0_mt_tests) endif() - set_target_properties(run_l0_mt_tests PROPERTIES FOLDER ${PLATFORM_SPECIFIC_TEST_TARGETS_FOLDER}) - add_dependencies(run_mt_unit_tests run_l0_mt_tests) - - add_custom_target(run_${product}_${revision_id}_l0_mt_tests DEPENDS unit_tests) - set_target_properties(run_${product}_${revision_id}_l0_mt_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TEST_TARGETS_FOLDER}/${product}/${revision_id}") - - add_custom_command( - TARGET run_${product}_${revision_id}_l0_mt_tests - POST_BUILD - COMMAND WORKING_DIRECTORY ${TargetDir} - COMMAND echo create working directory ${TargetDir}/level_zero/${product}/${revision_id} - COMMAND ${CMAKE_COMMAND} -E make_directory ${TargetDir}/level_zero/${product}/${revision_id} - COMMAND echo Running ze_intel_gpu_core_mt_tests ${target} ${slices}x${subslices}x${eu_per_ss} in ${TargetDir} - COMMAND echo Cmd line: ${NEO_RUN_INTERCEPTOR_LIST} $ --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} ${GTEST_EXCEPTION_OPTIONS} --gtest_repeat=${GTEST_REPEAT} ${GTEST_SHUFFLE} ${GTEST_OUTPUT_L0MT} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} --dev_id ${device_id} - COMMAND ${NEO_RUN_INTERCEPTOR_LIST} $ --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} ${GTEST_EXCEPTION_OPTIONS} --gtest_repeat=${GTEST_REPEAT} ${GTEST_SHUFFLE} ${GTEST_OUTPUT_L0MT} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} --dev_id ${device_id} - ) - - add_dependencies(run_l0_mt_tests run_${product}_${revision_id}_l0_mt_tests) endif() endif() diff --git a/level_zero/core/test/unit_tests/mt_tests/CMakeLists.txt b/level_zero/core/test/unit_tests/mt_tests/CMakeLists.txt index fa38d6a628..d176226598 100644 --- a/level_zero/core/test/unit_tests/mt_tests/CMakeLists.txt +++ b/level_zero/core/test/unit_tests/mt_tests/CMakeLists.txt @@ -4,94 +4,95 @@ # SPDX-License-Identifier: MIT # -link_libraries(${ASAN_LIBS} ${TSAN_LIBS}) +if(NOT NEO_SKIP_MT_UNIT_TESTS) + link_libraries(${ASAN_LIBS} ${TSAN_LIBS}) -set(TARGET_NAME ${TARGET_NAME_L0}_core_mt_tests) + set(TARGET_NAME ${TARGET_NAME_L0}_core_mt_tests) -include(${NEO_SOURCE_DIR}/cmake/setup_ult_global_flags.cmake) + include(${NEO_SOURCE_DIR}/cmake/setup_ult_global_flags.cmake) -function(ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION) - set(L0_TESTED_PRODUCT_FAMILIES ${ALL_TESTED_PRODUCT_FAMILY}) - string(REPLACE ";" "," L0_TESTED_PRODUCT_FAMILIES "${L0_TESTED_PRODUCT_FAMILIES}") - add_definitions(-DSUPPORTED_TEST_PRODUCT_FAMILIES=${L0_TESTED_PRODUCT_FAMILIES}) -endfunction() + function(ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION) + set(L0_TESTED_PRODUCT_FAMILIES ${ALL_TESTED_PRODUCT_FAMILY}) + string(REPLACE ";" "," L0_TESTED_PRODUCT_FAMILIES "${L0_TESTED_PRODUCT_FAMILIES}") + add_definitions(-DSUPPORTED_TEST_PRODUCT_FAMILIES=${L0_TESTED_PRODUCT_FAMILIES}) + endfunction() -ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION() + ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION() -add_executable(${TARGET_NAME} - ${NEO_SOURCE_DIR}/level_zero/core/source/dll/disallow_deferred_deleter.cpp -) + add_executable(${TARGET_NAME} EXCLUDE_FROM_ALL + ${NEO_SOURCE_DIR}/level_zero/core/source/dll/disallow_deferred_deleter.cpp -target_sources(${TARGET_NAME} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt - ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/mock.h - ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/white_box.h - ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/sources/builtin/create_ult_builtin_functions_lib.cpp - ${NEO_SOURCE_DIR}/level_zero/tools/test/unit_tests/sources/debug/debug_session_helper.cpp - ${NEO_SHARED_TEST_DIRECTORY}/common/common_main.cpp - ${NEO_SHARED_TEST_DIRECTORY}/common/helpers/mock_sip_listener.cpp - ${NEO_SHARED_TEST_DIRECTORY}/common/helpers/virtual_file_system_listener.cpp - ${NEO_SHARED_TEST_DIRECTORY}/common/tests_configuration.h - ${NEO_SOURCE_DIR}/level_zero/core/test/common/test_modules/gen_kernel.cmake - ${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_specific_config_l0.cpp - ${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.cpp - ${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.h -) - -target_sources(${TARGET_NAME} PRIVATE - $ - $ - $ - $ - $ - $ -) - -set_target_properties(${TARGET_NAME} PROPERTIES FOLDER ${TARGET_NAME_L0}) -set_property(TARGET ${TARGET_NAME} PROPERTY ENABLE_EXPORTS TRUE) - -add_subdirectoriesL0(${CMAKE_CURRENT_SOURCE_DIR} "*") - -target_compile_definitions(${TARGET_NAME} PRIVATE $) -target_include_directories(${TARGET_NAME} PRIVATE $) - -target_include_directories(${TARGET_NAME} - BEFORE - PRIVATE - ${NEO_SHARED_TEST_DIRECTORY}/common/test_macros/header${BRANCH_DIR_SUFFIX} - ${NEO_SHARED_TEST_DIRECTORY}/common/test_configuration/mt_tests -) - -target_link_libraries(${TARGET_NAME} - ${NEO_SHARED_MOCKABLE_LIB_NAME} - ${HW_LIBS_ULT} - gmock-gtest - ${NEO_EXTRA_LIBS} -) - -target_sources(${TARGET_NAME} PRIVATE - $ - $ - $ - $ - $ - $ - $ - $ -) -if(TARGET ${BUILTINS_SPIRV_LIB_NAME}) - target_sources(${TARGET_NAME} PRIVATE - $ ) + + target_sources(${TARGET_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt + ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/mock.h + ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/white_box.h + ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/sources/builtin/create_ult_builtin_functions_lib.cpp + ${NEO_SOURCE_DIR}/level_zero/tools/test/unit_tests/sources/debug/debug_session_helper.cpp + ${NEO_SHARED_TEST_DIRECTORY}/common/common_main.cpp + ${NEO_SHARED_TEST_DIRECTORY}/common/helpers/mock_sip_listener.cpp + ${NEO_SHARED_TEST_DIRECTORY}/common/helpers/virtual_file_system_listener.cpp + ${NEO_SHARED_TEST_DIRECTORY}/common/tests_configuration.h + ${NEO_SOURCE_DIR}/level_zero/core/test/common/test_modules/gen_kernel.cmake + ${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_specific_config_l0.cpp + ${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.cpp + ${NEO_SOURCE_DIR}/level_zero/core/test/common/ult_config_listener_l0.h + ) + + target_sources(${TARGET_NAME} PRIVATE + $ + $ + $ + $ + $ + $ + ) + + set_target_properties(${TARGET_NAME} PROPERTIES FOLDER ${TARGET_NAME_L0}) + set_property(TARGET ${TARGET_NAME} PROPERTY ENABLE_EXPORTS TRUE) + + add_subdirectoriesL0(${CMAKE_CURRENT_SOURCE_DIR} "*") + + target_compile_definitions(${TARGET_NAME} PRIVATE $) + target_include_directories(${TARGET_NAME} PRIVATE $) + + target_include_directories(${TARGET_NAME} + BEFORE + PRIVATE + ${NEO_SHARED_TEST_DIRECTORY}/common/test_macros/header${BRANCH_DIR_SUFFIX} + ${NEO_SHARED_TEST_DIRECTORY}/common/test_configuration/mt_tests + ) + + target_link_libraries(${TARGET_NAME} + ${NEO_SHARED_MOCKABLE_LIB_NAME} + ${HW_LIBS_ULT} + gmock-gtest + ${NEO_EXTRA_LIBS} + ) + + target_sources(${TARGET_NAME} PRIVATE + $ + $ + $ + $ + $ + $ + $ + $ + ) + if(TARGET ${BUILTINS_SPIRV_LIB_NAME}) + target_sources(${TARGET_NAME} PRIVATE + $ + ) + endif() + + option(L0_ULT_VERBOSE "Use the default/verbose test output" OFF) + if(NOT L0_ULT_VERBOSE) + set(L0_TESTS_LISTENER_OPTION "--disable_default_listener") + else() + set(L0_TESTS_LISTENER_OPTION "--enable_default_listener") + endif() + + create_source_tree(${TARGET_NAME} ${L0_ROOT_DIR}/..) endif() - -option(L0_ULT_VERBOSE "Use the default/verbose test output" OFF) -if(NOT L0_ULT_VERBOSE) - set(L0_TESTS_LISTENER_OPTION "--disable_default_listener") -else() - set(L0_TESTS_LISTENER_OPTION "--enable_default_listener") -endif() - -add_dependencies(unit_tests ${TARGET_NAME}) - -create_source_tree(${TARGET_NAME} ${L0_ROOT_DIR}/..) \ No newline at end of file diff --git a/opencl/test/unit_test/mt_tests/CMakeLists.txt b/opencl/test/unit_test/mt_tests/CMakeLists.txt index 49f58f8e6f..f1c77dd651 100644 --- a/opencl/test/unit_test/mt_tests/CMakeLists.txt +++ b/opencl/test/unit_test/mt_tests/CMakeLists.txt @@ -1,54 +1,56 @@ # -# Copyright (C) 2018-2024 Intel Corporation +# Copyright (C) 2018-2025 Intel Corporation # # SPDX-License-Identifier: MIT # -project(igdrcl_mt_tests) +if(NOT NEO_SKIP_MT_UNIT_TESTS) + project(igdrcl_mt_tests) -set(OPENCL_MT_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + set(OPENCL_MT_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}) -add_custom_target(run_mt_unit_tests) -add_executable(igdrcl_mt_tests EXCLUDE_FROM_ALL - ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt - ${NEO_SOURCE_DIR}/opencl/test/unit_test/test_macros/test_checks_ocl.cpp - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ -) + add_custom_target(run_mt_unit_tests) + add_executable(igdrcl_mt_tests EXCLUDE_FROM_ALL + ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt + ${NEO_SOURCE_DIR}/opencl/test/unit_test/test_macros/test_checks_ocl.cpp + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + ) -target_include_directories(igdrcl_mt_tests PRIVATE - ${NEO_SHARED_TEST_DIRECTORY}/common/test_configuration/mt_tests - ${NEO_SHARED_TEST_DIRECTORY}/common/test_macros/header${BRANCH_DIR_SUFFIX} - ${NEO_SHARED_TEST_DIRECTORY}/common/helpers/includes${BRANCH_DIR_SUFFIX} - ${NEO_SOURCE_DIR}/opencl/source/gen_common -) + target_include_directories(igdrcl_mt_tests PRIVATE + ${NEO_SHARED_TEST_DIRECTORY}/common/test_configuration/mt_tests + ${NEO_SHARED_TEST_DIRECTORY}/common/test_macros/header${BRANCH_DIR_SUFFIX} + ${NEO_SHARED_TEST_DIRECTORY}/common/helpers/includes${BRANCH_DIR_SUFFIX} + ${NEO_SOURCE_DIR}/opencl/source/gen_common + ) -add_subdirectories() + add_subdirectories() -target_link_libraries(igdrcl_mt_tests ${TSAN_LIB}) -target_link_libraries(igdrcl_mt_tests ${NEO_MOCKABLE_LIB_NAME} ${NEO_SHARED_MOCKABLE_LIB_NAME}) -target_link_libraries(igdrcl_mt_tests gmock-gtest) -target_link_libraries(igdrcl_mt_tests igdrcl_mocks ${NEO_EXTRA_LIBS}) + target_link_libraries(igdrcl_mt_tests ${TSAN_LIB}) + target_link_libraries(igdrcl_mt_tests ${NEO_MOCKABLE_LIB_NAME} ${NEO_SHARED_MOCKABLE_LIB_NAME}) + target_link_libraries(igdrcl_mt_tests gmock-gtest) + target_link_libraries(igdrcl_mt_tests igdrcl_mocks ${NEO_EXTRA_LIBS}) -add_dependencies(igdrcl_mt_tests - prepare_test_kernels_for_shared - prepare_test_kernels_for_ocl -) -create_project_source_tree(igdrcl_mt_tests) + add_dependencies(igdrcl_mt_tests + prepare_test_kernels_for_shared + prepare_test_kernels_for_ocl + ) + create_project_source_tree(igdrcl_mt_tests) -set_target_properties(igdrcl_mt_tests PROPERTIES FOLDER ${OPENCL_TEST_PROJECTS_FOLDER}) -set_property(TARGET igdrcl_mt_tests PROPERTY ENABLE_EXPORTS TRUE) -set_property(TARGET igdrcl_mt_tests APPEND_STRING PROPERTY COMPILE_FLAGS ${TSAN_FLAGS}) -if(NOT WIN32) - set_property(TARGET igdrcl_mt_tests APPEND_STRING PROPERTY COMPILE_FLAGS " -g") + set_target_properties(igdrcl_mt_tests PROPERTIES FOLDER ${OPENCL_TEST_PROJECTS_FOLDER}) + set_property(TARGET igdrcl_mt_tests PROPERTY ENABLE_EXPORTS TRUE) + set_property(TARGET igdrcl_mt_tests APPEND_STRING PROPERTY COMPILE_FLAGS ${TSAN_FLAGS}) + if(NOT WIN32) + set_property(TARGET igdrcl_mt_tests APPEND_STRING PROPERTY COMPILE_FLAGS " -g") + endif() + + set_target_properties(run_mt_unit_tests PROPERTIES FOLDER ${OPENCL_TEST_PROJECTS_FOLDER}) endif() - -set_target_properties(run_mt_unit_tests PROPERTIES FOLDER ${OPENCL_TEST_PROJECTS_FOLDER}) diff --git a/target_unit_tests/CMakeLists.txt b/target_unit_tests/CMakeLists.txt index 8319913b8c..809ce82060 100644 --- a/target_unit_tests/CMakeLists.txt +++ b/target_unit_tests/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2021 Intel Corporation +# Copyright (C) 2020-2025 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -7,7 +7,7 @@ set(BUILT_IN_KERNEL_DIR "${NEO_SOURCE_DIR}/shared/source/built_ins") set(PLATFORM_SPECIFIC_TEST_TARGETS_FOLDER ult_product_targets) -if(NOT TARGET run_mt_unit_tests) +if(NOT TARGET run_mt_unit_tests AND NOT NEO_SKIP_MT_UNIT_TESTS) add_custom_target(run_mt_unit_tests) endif()