1#
2# Copyright (C) 2020-2021 Intel Corporation
3#
4# SPDX-License-Identifier: MIT
5#
6
7string(REPLACE "/" ";" aub_test_config ${aub_test_config})
8list(GET aub_test_config 0 product)
9list(GET aub_test_config 1 slices)
10list(GET aub_test_config 2 subslices)
11list(GET aub_test_config 3 eu_per_ss)
12list(GET aub_test_config 4 revision_id)
13
14add_custom_target(run_${product}_${revision_id}_aub_tests ALL)
15
16if(NOT NEO_SKIP_OCL_UNIT_TESTS OR NOT NEO_SKIP_L0_UNIT_TESTS)
17
18  if(NOT NEO_SKIP_OCL_UNIT_TESTS)
19    add_dependencies(run_${product}_${revision_id}_aub_tests copy_test_files_per_product)
20    add_dependencies(run_${product}_${revision_id}_aub_tests prepare_test_kernels_for_ocl)
21    add_dependencies(run_${product}_${revision_id}_aub_tests prepare_test_kernels_for_shared)
22  endif()
23
24  add_dependencies(run_aub_tests run_${product}_${revision_id}_aub_tests)
25  set_target_properties(run_${product}_${revision_id}_aub_tests PROPERTIES FOLDER "${AUB_TESTS_TARGETS_FOLDER}/${product}/${revision_id}")
26
27  if(WIN32)
28    add_dependencies(run_${product}_${revision_id}_aub_tests mock_gdi)
29  endif()
30
31  set(aub_tests_options "")
32  if(NOT ${AUB_DUMP_BUFFER_FORMAT} STREQUAL "")
33    list(APPEND aub_tests_options --dump_buffer_format)
34    list(APPEND aub_tests_options ${AUB_DUMP_BUFFER_FORMAT})
35  endif()
36  if(NOT ${AUB_DUMP_IMAGE_FORMAT} STREQUAL "")
37    list(APPEND aub_tests_options --dump_image_format)
38    list(APPEND aub_tests_options ${AUB_DUMP_IMAGE_FORMAT})
39  endif()
40
41  add_custom_command(
42                     TARGET run_${product}_${revision_id}_aub_tests
43                     POST_BUILD
44                     COMMAND WORKING_DIRECTORY ${TargetDir}
45                     COMMAND echo re-creating working directory for ${product}/${revision_id} AUBs generation...
46                     COMMAND ${CMAKE_COMMAND} -E remove_directory ${TargetDir}/${product}_aub/${revision_id}
47                     COMMAND ${CMAKE_COMMAND} -E make_directory ${TargetDir}/${product}_aub/${revision_id}
48                     COMMAND ${CMAKE_COMMAND} -E make_directory ${TargetDir}/${product}_aub/${revision_id}/aub_out
49                     COMMAND ${CMAKE_COMMAND} -E make_directory ${TargetDir}/${product}_aub/${revision_id}/cl_cache
50  )
51
52endif()
53
54if(NOT NEO_SKIP_OCL_UNIT_TESTS)
55  if(WIN32 OR NOT DEFINED NEO__GMM_LIBRARY_PATH)
56    set(aub_test_cmd_prefix $<TARGET_FILE:igdrcl_aub_tests>)
57  else()
58    set(aub_test_cmd_prefix LD_LIBRARY_PATH=${NEO__GMM_LIBRARY_PATH} IGDRCL_TEST_SELF_EXEC=off ${NEO_RUN_INTERCEPTOR_LIST} $<TARGET_FILE:igdrcl_aub_tests>)
59  endif()
60
61  add_custom_command(
62                     TARGET run_${product}_${revision_id}_aub_tests
63                     POST_BUILD
64                     COMMAND WORKING_DIRECTORY ${TargetDir}
65                     COMMAND echo Running AUB generation for ${product} in ${TargetDir}/${product}_aub
66                     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}
67  )
68endif()
69
70if(NOT NEO_SKIP_L0_UNIT_TESTS AND BUILD_WITH_L0)
71  add_dependencies(run_${product}_${revision_id}_aub_tests prepare_test_kernels_for_l0)
72
73  if(WIN32 OR NOT DEFINED NEO__GMM_LIBRARY_PATH)
74    set(l0_aub_test_cmd_prefix $<TARGET_FILE:ze_intel_gpu_aub_tests>)
75  else()
76    set(l0_aub_test_cmd_prefix LD_LIBRARY_PATH=${NEO__GMM_LIBRARY_PATH} ${NEO_RUN_INTERCEPTOR_LIST} $<TARGET_FILE:ze_intel_gpu_aub_tests>)
77  endif()
78
79  add_custom_command(
80                     TARGET run_${product}_${revision_id}_aub_tests
81                     POST_BUILD
82                     COMMAND WORKING_DIRECTORY ${TargetDir}
83                     COMMAND echo Running Level Zero AUB generation for ${product} in ${TargetDir}/${product}_aub
84                     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}
85  )
86endif()
87
88if(DO_NOT_RUN_AUB_TESTS)
89  set_target_properties(run_${product}_${revision_id}_aub_tests PROPERTIES
90                        EXCLUDE_FROM_DEFAULT_BUILD TRUE
91                        EXCLUDE_FROM_ALL TRUE
92  )
93endif()
94