diff --git a/cmake/run_ult_target.cmake b/cmake/run_ult_target.cmake index 07b09fd5d0..ca6fc30d0a 100644 --- a/cmake/run_ult_target.cmake +++ b/cmake/run_ult_target.cmake @@ -12,6 +12,14 @@ list(GET unit_test_config 3 eu_per_ss) add_custom_target(run_${product}_unit_tests ALL DEPENDS unit_tests) set_target_properties(run_${product}_unit_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TEST_TARGETS_FOLDER}/${product}") if(NOT SKIP_NEO_UNIT_TESTS) + add_custom_command( + TARGET run_${product}_unit_tests + POST_BUILD + COMMAND WORKING_DIRECTORY ${TargetDir} + COMMAND echo Running neo_shared_tests ${target} ${slices}x${subslices}x${eu_per_ss} in ${TargetDir}/${product} + COMMAND $ --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} ${GTEST_EXCEPTION_OPTIONS} --gtest_repeat=${GTEST_REPEAT} ${GTEST_SHUFFLE} ${IGDRCL_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} + ) + add_custom_command( TARGET run_${product}_unit_tests POST_BUILD diff --git a/level_zero/cmake/l0_tests.cmake b/level_zero/cmake/l0_tests.cmake index 9ed61513d8..848523d09d 100644 --- a/level_zero/cmake/l0_tests.cmake +++ b/level_zero/cmake/l0_tests.cmake @@ -70,7 +70,8 @@ add_library(compute_runtime_mockable_extra ${NEO_SHARED_TEST_DIRECTORY}/unit_test/mocks/mock_compiler_interface.cpp ${NEO_SHARED_TEST_DIRECTORY}/unit_test/mocks/mock_compiler_interface.h ${NEO_SHARED_TEST_DIRECTORY}/unit_test/mocks/mock_command_stream_receiver.cpp - ${NEO_SOURCE_DIR}/opencl/source/aub/aub_stream_interface.cpp + ${NEO_SHARED_TEST_DIRECTORY}/unit_test/mocks/mock_device.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/aub_stream_mocks/aub_stream_interface_mock.cpp ${NEO_SOURCE_DIR}/opencl/test/unit_test/abort.cpp ${NEO_SOURCE_DIR}/opencl/test/unit_test/helpers/built_ins_helper.cpp ${NEO_SOURCE_DIR}/opencl/test/unit_test/helpers/debug_helpers.cpp @@ -90,7 +91,6 @@ add_library(compute_runtime_mockable_extra ${NEO_SOURCE_DIR}/opencl/test/unit_test/mocks/mock_sip.cpp ${NEO_SOURCE_DIR}/opencl/test/unit_test/utilities/debug_settings_reader_creator.cpp ${NEO_SOURCE_DIR}/shared/source/debug_settings/debug_settings_manager.cpp - ${NEO_SOURCE_DIR}/shared/test/unit_test/mocks/mock_device.cpp ) set_property(TARGET compute_runtime_mockable_extra APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS} ${TSAN_FLAGS}) diff --git a/opencl/test/unit_test/compiler_interface/CMakeLists.txt b/opencl/test/unit_test/compiler_interface/CMakeLists.txt index c2835e3115..d21e26aa18 100644 --- a/opencl/test/unit_test/compiler_interface/CMakeLists.txt +++ b/opencl/test/unit_test/compiler_interface/CMakeLists.txt @@ -10,8 +10,8 @@ set(IGDRCL_SRCS_tests_compiler_interface ) get_property(NEO_CORE_COMPILER_INTERFACE_TESTS GLOBAL PROPERTY NEO_CORE_COMPILER_INTERFACE_TESTS) -get_property(NEO_DEVICE_BINARY_FORMAT_TESTS GLOBAL PROPERTY NEO_DEVICE_BINARY_FORMAT_TESTS) +get_property(NEO_SHARED_DEVICE_BINARY_FORMAT_TESTS GLOBAL PROPERTY NEO_SHARED_DEVICE_BINARY_FORMAT_TESTS) list(APPEND IGDRCL_SRCS_tests_compiler_interface ${NEO_CORE_COMPILER_INTERFACE_TESTS}) -list(APPEND IGDRCL_SRCS_tests_compiler_interface ${NEO_DEVICE_BINARY_FORMAT_TESTS}) +list(APPEND IGDRCL_SRCS_tests_compiler_interface ${NEO_SHARED_DEVICE_BINARY_FORMAT_TESTS}) target_sources(igdrcl_tests PRIVATE ${IGDRCL_SRCS_tests_compiler_interface}) diff --git a/shared/test/unit_test/CMakeLists.txt b/shared/test/unit_test/CMakeLists.txt index fabeb2ae35..3a91af014c 100644 --- a/shared/test/unit_test/CMakeLists.txt +++ b/shared/test/unit_test/CMakeLists.txt @@ -4,12 +4,14 @@ # SPDX-License-Identifier: MIT # +add_subdirectories() + if(NOT SKIP_NEO_UNIT_TESTS AND NOT SKIP_UNIT_TESTS) -set(TARGET_NAME neo_shared_test) + set(TARGET_NAME neo_shared_tests) -# disable optimizations for ults -if(UNIX) + # disable optimizations for ults + if(UNIX) string(REPLACE "-O2" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) #disable fortify source as this requires optimization to be on string(REPLACE "-Wp,-D_FORTIFY_SOURCE=2" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) @@ -18,28 +20,28 @@ if(UNIX) set(CMAKE_CXX_FLAGS_RELEASEINTERNAL "${CMAKE_CXX_FLAGS_RELEASEINTERNAL} -O0") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O0") set(CMAKE_C_FLAGS_RELEASEINTERNAL "${CMAKE_C_FLAGS_RELEASEINTERNAL} -O0") -endif() + endif() -if(WIN32) + if(WIN32) string(REPLACE "/O2" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) string(REPLACE "/O2" "/Od" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) string(REPLACE "/O2" "/Od" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) string(REPLACE "/O2" "/Od" CMAKE_CXX_FLAGS_RELEASEINTERNAL ${CMAKE_CXX_FLAGS_RELEASEINTERNAL}) string(REPLACE "/O2" "/Od" CMAKE_C_FLAGS_RELEASEINTERNAL ${CMAKE_C_FLAGS_RELEASEINTERNAL}) -endif() + endif() -function(ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION) + function(ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION) set(NEO_SUPPORTED_PRODUCT_FAMILIES ${ALL_PRODUCT_FAMILY_LIST}) string(REPLACE ";" "," NEO_SUPPORTED_PRODUCT_FAMILIES "${NEO_SUPPORTED_PRODUCT_FAMILIES}") add_definitions(-DSUPPORTED_TEST_PRODUCT_FAMILIES=${NEO_SUPPORTED_PRODUCT_FAMILIES}) -endfunction() + endfunction() -ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION() -link_libraries(${ASAN_LIBS} ${TSAN_LIBS}) + ADD_SUPPORTED_TEST_PRODUCT_FAMILIES_DEFINITION() + link_libraries(${ASAN_LIBS} ${TSAN_LIBS}) -append_sources_from_properties(CORE_ENABLERS NEO_CORE_SRCS_LINK) + append_sources_from_properties(CORE_ENABLERS NEO_CORE_SRCS_LINK) -add_executable(${TARGET_NAME} + add_executable(${TARGET_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_mode.h @@ -59,49 +61,53 @@ add_executable(${TARGET_NAME} ${NEO_SOURCE_DIR}/shared/test/unit_test/helpers/memory_management.cpp ${NEO_SOURCE_DIR}/shared/test/unit_test/helpers/memory_leak_listener.cpp $ -) + ) -if (UNIX) + if (UNIX) target_sources(${TARGET_NAME} PRIVATE - ${NEO_SOURCE_DIR}/opencl/source/dll/linux/os_interface.cpp - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/linux/create_drm_memory_manager.cpp - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/linux/drm_neo_create.cpp - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/linux/options.cpp - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/linux/sys_calls_linux_ult.cpp + ${NEO_SOURCE_DIR}/opencl/source/dll/linux/os_interface.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/linux/create_drm_memory_manager.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/linux/drm_neo_create.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/linux/options.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/linux/sys_calls_linux_ult.cpp ) -else() + else() target_sources(${TARGET_NAME} PRIVATE - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/create_wddm_memory_manager.cpp - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/options.cpp - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/sys_calls.cpp - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/ult_dxgi_factory.cpp - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/wddm_calls.cpp - ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/wddm_create.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/create_wddm_memory_manager.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/options.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/sys_calls.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/ult_dxgi_factory.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/wddm_calls.cpp + ${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/wddm_create.cpp ) -endif() + endif() -set_property(TARGET ${TARGET_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS}) + set_property(TARGET ${TARGET_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS}) -target_include_directories(${TARGET_NAME} PRIVATE + target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${ENGINE_NODE_DIR} ${NEO_SHARED_TEST_DIRECTORY}/unit_test/test_macros/header${BRANCH_DIR_SUFFIX} -) + ) -if (UNIX) + if (UNIX) target_link_libraries(${TARGET_NAME} pthread rt) -else() + else() target_link_libraries(${TARGET_NAME} dbghelp) -endif() + endif() -target_link_libraries(${TARGET_NAME} + target_link_libraries(${TARGET_NAME} gmock-gtest ${NEO_STATICALLY_LINKED_LIBRARIES_MOCKABLE} compute_runtime_mockable_extra -) + ) -create_project_source_tree(${TARGET_NAME}) + if(MSVC) + set_target_properties(${TARGET_NAME} PROPERTIES + VS_DEBUGGER_COMMAND_ARGUMENTS "--gtest_filter=* --gtest_catch_exceptions=0 --enable_default_listener --disable_pagefaulting_tests" + ) + endif() + + create_project_source_tree(${TARGET_NAME}) endif() - -add_subdirectories() diff --git a/shared/test/unit_test/device_binary_format/CMakeLists.txt b/shared/test/unit_test/device_binary_format/CMakeLists.txt index 2a7896ff2d..7d98251eb0 100644 --- a/shared/test/unit_test/device_binary_format/CMakeLists.txt +++ b/shared/test/unit_test/device_binary_format/CMakeLists.txt @@ -4,7 +4,7 @@ # SPDX-License-Identifier: MIT # -set(NEO_DEVICE_BINARY_FORMAT_TESTS +set(NEO_SHARED_DEVICE_BINARY_FORMAT_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt ${CMAKE_CURRENT_SOURCE_DIR}/ar/ar_decoder_tests.cpp ${CMAKE_CURRENT_SOURCE_DIR}/ar/ar_encoder_tests.cpp @@ -20,4 +20,4 @@ set(NEO_DEVICE_BINARY_FORMAT_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/patchtokens_validator_tests.cpp ) -set_property(GLOBAL PROPERTY NEO_DEVICE_BINARY_FORMAT_TESTS ${NEO_DEVICE_BINARY_FORMAT_TESTS}) +set_property(GLOBAL PROPERTY NEO_SHARED_DEVICE_BINARY_FORMAT_TESTS ${NEO_SHARED_DEVICE_BINARY_FORMAT_TESTS})