|
3 | 3 | # See LICENSE.TXT |
4 | 4 | # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
5 | 5 |
|
6 | | -set(UR_CONFORMANCE_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}) |
| 6 | +add_ur_lit_testsuite(conformance DEPENDS urinfo) |
| 7 | + |
| 8 | +set(UR_CONFORMANCE_TEST_DIR "${CMAKE_CURRENT_SOURCE_DIR}" CACHE INTERNAL |
| 9 | + "Internal cache variable for conformance test root") |
7 | 10 |
|
8 | 11 | set(UR_CONFORMANCE_DEVICE_BINARIES_DIR |
9 | 12 | "${CMAKE_CURRENT_BINARY_DIR}/device_binaries" CACHE INTERNAL |
10 | 13 | "Internal cache variable for device binaries directory") |
11 | 14 |
|
12 | | -function(add_test_adapter name adapter backend) |
13 | | - set(TEST_TARGET_NAME test-${name}) |
14 | | - set(TEST_NAME ${name}-${adapter}) |
15 | | - |
16 | | - set(TEST_COMMAND |
17 | | - "${PROJECT_BINARY_DIR}/bin/${TEST_TARGET_NAME} --gtest_filter=*${backend}*" |
18 | | - ) |
19 | | - |
20 | | - function(do_add_test tname env) |
21 | | - separate_arguments(TEST_COMMAND) |
22 | | - add_test(NAME ${tname} |
23 | | - COMMAND ${TEST_COMMAND} |
24 | | - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
25 | | - ) |
26 | | - |
27 | | - set_tests_properties(${tname} PROPERTIES |
28 | | - ENVIRONMENT "${env}" |
29 | | - LABELS "conformance;${adapter}") |
30 | | - endfunction() |
31 | | - |
32 | | - do_add_test(${TEST_NAME} UR_ADAPTERS_FORCE_LOAD="$<TARGET_FILE:ur_${adapter}>") |
33 | | - if(UR_CONFORMANCE_TEST_LOADER) |
34 | | - do_add_test(${TEST_NAME}-loader "") |
35 | | - endif() |
36 | | -endfunction() |
37 | | - |
38 | 15 | function(add_conformance_test name) |
39 | | - set(TEST_TARGET_NAME test-${name}) |
40 | | - add_ur_executable(${TEST_TARGET_NAME} |
| 16 | + add_gtest_test(${name} |
41 | 17 | ${ARGN} |
42 | 18 | ${UR_CONFORMANCE_TEST_DIR}/source/environment.cpp |
43 | | - ${UR_CONFORMANCE_TEST_DIR}/source/main.cpp) |
44 | | - target_link_libraries(${TEST_TARGET_NAME} |
45 | | - PRIVATE |
46 | | - ${PROJECT_NAME}::loader |
47 | | - ${PROJECT_NAME}::headers |
48 | | - ${PROJECT_NAME}::testing |
49 | | - ${PROJECT_NAME}::common |
50 | | - GTest::gtest_main) |
51 | | - |
52 | | - if(UR_USE_CFI) |
53 | | - target_compile_definitions(${TEST_TARGET_NAME} PRIVATE UR_USE_CFI) |
54 | | - endif() |
55 | | - |
56 | | - if(UR_BUILD_ADAPTER_CUDA OR UR_BUILD_ADAPTER_ALL) |
57 | | - add_test_adapter(${name} adapter_cuda CUDA) |
58 | | - endif() |
59 | | - if(UR_BUILD_ADAPTER_HIP OR UR_BUILD_ADAPTER_ALL) |
60 | | - add_test_adapter(${name} adapter_hip HIP) |
61 | | - endif() |
62 | | - if(UR_BUILD_ADAPTER_L0 OR UR_BUILD_ADAPTER_ALL) |
63 | | - add_test_adapter(${name} adapter_level_zero Level_Zero) |
64 | | - endif() |
65 | | - if(UR_BUILD_ADAPTER_L0_V2) |
66 | | - add_test_adapter(${name} adapter_level_zero_v2 Level_Zero) |
67 | | - endif() |
68 | | - if(UR_BUILD_ADAPTER_OPENCL OR UR_BUILD_ADAPTER_ALL) |
69 | | - add_test_adapter(${name} adapter_opencl OpenCL) |
70 | | - endif() |
71 | | - if(UR_BUILD_ADAPTER_NATIVE_CPU OR UR_BUILD_ADAPTER_ALL) |
72 | | - add_test_adapter(${name} adapter_native_cpu NATIVE_CPU) |
73 | | - endif() |
| 19 | + ${UR_CONFORMANCE_TEST_DIR}/source/main.cpp |
| 20 | + ) |
74 | 21 | endfunction() |
75 | 22 |
|
76 | | -function(add_conformance_test_with_kernels_environment name) |
| 23 | +function(add_conformance_kernels_test name) |
77 | 24 | add_conformance_test(${name} ${ARGN}) |
78 | | - target_compile_definitions("test-${name}" PRIVATE KERNELS_ENVIRONMENT PRIVATE |
| 25 | + target_compile_definitions(${name}-test PRIVATE KERNELS_ENVIRONMENT PRIVATE |
79 | 26 | KERNELS_DEFAULT_DIR="${UR_CONFORMANCE_DEVICE_BINARIES_DIR}") |
80 | | - target_include_directories("test-${name}" PRIVATE ${UR_CONFORMANCE_DEVICE_BINARIES_DIR}) |
81 | | - add_dependencies("test-${name}" generate_device_binaries) |
| 27 | + target_include_directories(${name}-test PRIVATE ${UR_CONFORMANCE_DEVICE_BINARIES_DIR}) |
| 28 | + add_dependencies(${name}-test generate_device_binaries kernel_names_header) |
82 | 29 | endfunction() |
83 | 30 |
|
84 | | -function(add_conformance_test_with_devices_environment name) |
| 31 | +function(add_conformance_devices_test name) |
85 | 32 | add_conformance_test(${name} ${ARGN}) |
86 | | - target_compile_definitions("test-${name}" PRIVATE DEVICES_ENVIRONMENT) |
| 33 | + target_compile_definitions(${name}-test PRIVATE DEVICES_ENVIRONMENT) |
87 | 34 | endfunction() |
88 | 35 |
|
89 | | -function(add_conformance_test_with_platform_environment name) |
| 36 | +function(add_conformance_platform_test name) |
90 | 37 | add_conformance_test(${name} ${ARGN}) |
91 | | - target_compile_definitions("test-${name}" PRIVATE PLATFORM_ENVIRONMENT) |
| 38 | + target_compile_definitions(${name}-test PRIVATE PLATFORM_ENVIRONMENT) |
92 | 39 | endfunction() |
93 | 40 |
|
| 41 | +foreach(adapter ${UR_ADAPTERS_LIST}) |
| 42 | + if(NOT "${adapter}" STREQUAL "mock") |
| 43 | + if(UR_STANDALONE_BUILD) |
| 44 | + add_custom_target(check-unified-runtime-conformance-${adapter} |
| 45 | + COMMAND "${URLIT_LIT_BINARY}" "${CMAKE_CURRENT_BINARY_DIR}" |
| 46 | + -v -Dselector=${adapter}:* |
| 47 | + DEPENDS deps_check-unified-runtime-conformance |
| 48 | + ) |
| 49 | + else() |
| 50 | + add_lit_testsuite(check-unified-runtime-conformance-${adapter} |
| 51 | + "Running Unified Runtime ${adapter} conformance tests" |
| 52 | + ${CMAKE_CURRENT_BINARY_DIR} |
| 53 | + DEPENDS FileCheck deps_check-unified-runtime-conformance |
| 54 | + PARAMS selector=${adapter}:* |
| 55 | + EXCLUDE_FROM_CHECK_ALL |
| 56 | + ) |
| 57 | + endif() |
| 58 | + endif() |
| 59 | +endforeach() |
| 60 | + |
94 | 61 | add_subdirectory(testing) |
95 | 62 |
|
96 | 63 | add_subdirectory(adapter) |
|
0 commit comments