From 676c7dde4c430e0f9c3f392a17c803c21b2ec0fd Mon Sep 17 00:00:00 2001 From: Pawel Cieslak Date: Thu, 24 Mar 2022 21:47:39 +0000 Subject: [PATCH] Allow setting gtest_output for targets Related-To: NEO-6715 Signed-off-by: Pawel Cieslak --- cmake/run_aub_test_target.cmake | 18 ++++++-- cmake/run_ult_target.cmake | 44 ++++++++++++++++--- .../mt_tests/cmake/run_mt_test_target.cmake | 10 ++++- 3 files changed, 60 insertions(+), 12 deletions(-) diff --git a/cmake/run_aub_test_target.cmake b/cmake/run_aub_test_target.cmake index 7a4789f212..f016274757 100644 --- a/cmake/run_aub_test_target.cmake +++ b/cmake/run_aub_test_target.cmake @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2021 Intel Corporation +# Copyright (C) 2020-2022 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -58,12 +58,18 @@ if(NOT NEO_SKIP_OCL_UNIT_TESTS) set(aub_test_cmd_prefix LD_LIBRARY_PATH=${NEO__GMM_LIBRARY_PATH} IGDRCL_TEST_SELF_EXEC=off ${NEO_RUN_INTERCEPTOR_LIST} $) endif() + unset(GTEST_OUTPUT) + if(DEFINED GTEST_OUTPUT_DIR) + set(GTEST_OUTPUT "--gtest_output=json:${GTEST_OUTPUT_DIR}/ocl_${product}_${revision_id}_aub_tests_results.json") + message(STATUS "GTest output set to ${GTEST_OUTPUT}") + endif() + add_custom_command( TARGET run_${product}_${revision_id}_aub_tests POST_BUILD COMMAND WORKING_DIRECTORY ${TargetDir} COMMAND echo Running AUB generation for ${product} in ${TargetDir}/${product}_aub - COMMAND ${aub_test_cmd_prefix} --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} --gtest_repeat=1 ${aub_tests_options} ${NEO_TESTS_LISTENER_OPTION} --rev_id ${revision_id} + COMMAND ${aub_test_cmd_prefix} --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} --gtest_repeat=1 ${aub_tests_options} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_OUTPUT} --rev_id ${revision_id} ) endif() @@ -76,12 +82,18 @@ if(NOT NEO_SKIP_L0_UNIT_TESTS AND BUILD_WITH_L0) set(l0_aub_test_cmd_prefix LD_LIBRARY_PATH=${NEO__GMM_LIBRARY_PATH} ${NEO_RUN_INTERCEPTOR_LIST} $) endif() + unset(GTEST_OUTPUT) + if(DEFINED GTEST_OUTPUT_DIR) + set(GTEST_OUTPUT "--gtest_output=json:${GTEST_OUTPUT_DIR}/ze_intel_gpu_${product}_${revision_id}_aub_tests_results.json") + message(STATUS "GTest output set to ${GTEST_OUTPUT}") + endif() + add_custom_command( TARGET run_${product}_${revision_id}_aub_tests POST_BUILD COMMAND WORKING_DIRECTORY ${TargetDir} COMMAND echo Running Level Zero AUB generation for ${product} in ${TargetDir}/${product}_aub - COMMAND ${l0_aub_test_cmd_prefix} --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} --gtest_repeat=1 ${aub_tests_options} --rev_id ${revision_id} + COMMAND ${l0_aub_test_cmd_prefix} --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} --gtest_repeat=1 ${aub_tests_options} ${GTEST_OUTPUT} --rev_id ${revision_id} ) endif() diff --git a/cmake/run_ult_target.cmake b/cmake/run_ult_target.cmake index 259bd2f5fc..42995f89ee 100644 --- a/cmake/run_ult_target.cmake +++ b/cmake/run_ult_target.cmake @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2021 Intel Corporation +# Copyright (C) 2020-2022 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -14,47 +14,77 @@ list(GET unit_test_config 4 revision_id) add_custom_target(run_${product}_${revision_id}_unit_tests ALL DEPENDS unit_tests) set_target_properties(run_${product}_${revision_id}_unit_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TEST_TARGETS_FOLDER}/${product}/${revision_id}") if(NOT NEO_SKIP_SHARED_UNIT_TESTS) + unset(GTEST_OUTPUT) + if(DEFINED GTEST_OUTPUT_DIR) + set(GTEST_OUTPUT "--gtest_output=json:${GTEST_OUTPUT_DIR}/shared_${product}_${revision_id}_unit_tests_results.json") + message(STATUS "GTest output set to ${GTEST_OUTPUT}") + endif() add_custom_command( TARGET run_${product}_${revision_id}_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 ${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} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_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} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} ) endif() if(NOT NEO_SKIP_OCL_UNIT_TESTS) + unset(GTEST_OUTPUT) + if(DEFINED GTEST_OUTPUT_DIR) + set(GTEST_OUTPUT "--gtest_output=json:${GTEST_OUTPUT_DIR}/ocl_${product}_${revision_id}_unit_tests_results.json") + message(STATUS "GTest output set to ${GTEST_OUTPUT}") + endif() add_custom_command( TARGET run_${product}_${revision_id}_unit_tests POST_BUILD COMMAND WORKING_DIRECTORY ${TargetDir} COMMAND echo Running igdrcl_tests ${target} ${slices}x${subslices}x${eu_per_ss} in ${TargetDir}/${product} - COMMAND ${GTEST_ENV} ${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} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} + COMMAND ${GTEST_ENV} ${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} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} ) if(WIN32 AND ${CMAKE_BUILD_TYPE} STREQUAL "Debug" AND "${IGDRCL_OPTION__BITS}" STREQUAL "64" AND APPVERIFIER_ALLOWED) + unset(GTEST_OUTPUT) + if(DEFINED GTEST_OUTPUT_DIR) + set(GTEST_OUTPUT "--gtest_output=json:${GTEST_OUTPUT_DIR}/ocl_windows_${product}_${revision_id}_unit_tests_results.json") + message(STATUS "GTest output set to ${GTEST_OUTPUT}") + endif() add_custom_command( TARGET run_${product}_${revision_id}_unit_tests POST_BUILD COMMAND WORKING_DIRECTORY ${TargetDir} COMMAND echo Running igdrcl_tests with App Verifier - COMMAND ${NEO_SOURCE_DIR}/scripts/verify.bat $ --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} ${GTEST_EXCEPTION_OPTIONS} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} + COMMAND ${NEO_SOURCE_DIR}/scripts/verify.bat $ --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} ${GTEST_EXCEPTION_OPTIONS} ${GTEST_OUTPUT} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} COMMAND echo App Verifier returned: %errorLevel% ) endif() endif() if(NOT NEO_SKIP_L0_UNIT_TESTS AND BUILD_WITH_L0) + unset(GTEST_OUTPUT_CORE) + if(DEFINED GTEST_OUTPUT_DIR) + set(GTEST_OUTPUT_CORE "--gtest_output=json:${GTEST_OUTPUT_DIR}/ze_intel_gpu_core_${product}_${revision_id}_unit_tests_results.json") + message(STATUS "GTest output core set to ${GTEST_OUTPUT_CORE}") + endif() + unset(GTEST_OUTPUT_TOOLS) + if(DEFINED GTEST_OUTPUT_DIR) + set(GTEST_OUTPUT_TOOLS "--gtest_output=json:${GTEST_OUTPUT_DIR}/ze_intel_gpu_tools_${product}_${revision_id}_unit_tests_results.json") + message(STATUS "GTest output tools set to ${GTEST_OUTPUT_TOOLS}") + endif() + unset(GTEST_OUTPUT_EXP) + if(DEFINED GTEST_OUTPUT_DIR) + set(GTEST_OUTPUT_EXP "--gtest_output=json:${GTEST_OUTPUT_DIR}/ze_intel_gpu_exp_${product}_${revision_id}_unit_tests_results.json") + message(STATUS "GTest output exp set to ${GTEST_OUTPUT_EXP}") + endif() add_custom_command( TARGET run_${product}_${revision_id}_unit_tests POST_BUILD COMMAND WORKING_DIRECTORY ${TargetDir} COMMAND echo Running ze_intel_gpu_core_tests ${target} ${slices}x${subslices}x${eu_per_ss} in ${TargetDir}/${product} - 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} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_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_CORE} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} COMMAND echo Running ze_intel_gpu_tools_tests ${target} ${slices}x${subslices}x${eu_per_ss} in ${TargetDir}/${product} - 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} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_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_TOOLS} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} COMMAND echo Running ze_intel_gpu_exp_tests ${target} ${slices}x${subslices}x${eu_per_ss} in ${TargetDir}/${product} - 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} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_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_EXP} ${NEO_TESTS_LISTENER_OPTION} ${GTEST_FILTER_OPTION} --rev_id ${revision_id} ) endif() diff --git a/opencl/test/unit_test/mt_tests/cmake/run_mt_test_target.cmake b/opencl/test/unit_test/mt_tests/cmake/run_mt_test_target.cmake index 1d01164524..333830ac86 100644 --- a/opencl/test/unit_test/mt_tests/cmake/run_mt_test_target.cmake +++ b/opencl/test/unit_test/mt_tests/cmake/run_mt_test_target.cmake @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2021 Intel Corporation +# Copyright (C) 2020-2022 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -16,6 +16,12 @@ if(NOT WIN32) add_dependencies(run_${product}_${revision_id}_mt_unit_tests copy_test_files_${product}_${revision_id}) endif() +unset(GTEST_OUTPUT) +if(DEFINED GTEST_OUTPUT_DIR) + set(GTEST_OUTPUT "--gtest_output=json:${GTEST_OUTPUT_DIR}/ocl_${product}_${revision_id}_mt_unit_tests_results.json") + message(STATUS "GTest output set to ${GTEST_OUTPUT}") +endif() + add_dependencies(run_mt_unit_tests run_${product}_${revision_id}_mt_unit_tests) set_target_properties(run_${product}_${revision_id}_mt_unit_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TEST_TARGETS_FOLDER}/${product}/${revision_id}") @@ -24,7 +30,7 @@ add_custom_command( POST_BUILD COMMAND WORKING_DIRECTORY ${TargetDir} COMMAND echo "Running igdrcl_mt_tests ${product} ${slices}x${subslices}x${eu_per_ss}" - COMMAND igdrcl_mt_tests --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} --gtest_repeat=${GTEST_REPEAT} ${NEO_TESTS_LISTENER_OPTION} --rev_id ${revision_id} + COMMAND igdrcl_mt_tests --product ${product} --slices ${slices} --subslices ${subslices} --eu_per_ss ${eu_per_ss} --gtest_repeat=${GTEST_REPEAT} ${GTEST_OUTPUT} ${NEO_TESTS_LISTENER_OPTION} --rev_id ${revision_id} ) add_dependencies(run_${product}_${revision_id}_mt_unit_tests prepare_test_kernels_for_ocl)