|
1 | | -function(add_yunittest) |
2 | | - set(opts "") |
3 | | - set(oneval_args NAME TEST_TARGET WORKING_DIRECTORY) |
4 | | - set(multival_args TEST_ARG) |
5 | | - cmake_parse_arguments(YUNITTEST_ARGS |
6 | | - "${opts}" |
7 | | - "${oneval_args}" |
8 | | - "${multival_args}" |
9 | | - ${ARGN} |
10 | | - ) |
11 | | - |
12 | | - get_property(SPLIT_FACTOR TARGET ${YUNITTEST_ARGS_TEST_TARGET} PROPERTY SPLIT_FACTOR) |
13 | | - get_property(SPLIT_TYPE TARGET ${YUNITTEST_ARGS_TEST_TARGET} PROPERTY SPLIT_TYPE) |
14 | | - |
15 | | - if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/run_testpack") |
16 | | - add_test(NAME ${YUNITTEST_ARGS_NAME} |
17 | | - COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/run_testpack" ${YUNITTEST_ARGS_TEST_ARG} |
18 | | - WORKING_DIRECTORY ${YUNITTEST_ARGS_WORKING_DIRECTORY} |
19 | | - ) |
20 | | - set_property(TEST ${YUNITTEST_ARGS_NAME} PROPERTY ENVIRONMENT "source_root=${YDB_SDK_SOURCE_DIR};build_root=${YDB_SDK_BINARY_DIR};test_split_factor=${SPLIT_FACTOR};test_split_type=${SPLIT_TYPE}") |
21 | | - return() |
22 | | - endif() |
23 | | - |
24 | | - if (${SPLIT_FACTOR} EQUAL 1) |
25 | | - add_test(NAME ${YUNITTEST_ARGS_NAME} |
26 | | - COMMAND ${YUNITTEST_ARGS_TEST_TARGET} ${YUNITTEST_ARGS_TEST_ARG} |
27 | | - WORKING_DIRECTORY ${YUNITTEST_ARGS_WORKING_DIRECTORY} |
28 | | - ) |
29 | | - return() |
30 | | - endif() |
31 | | - |
32 | | - if ("${SPLIT_TYPE}") |
33 | | - set(FORK_MODE_ARG --fork-mode ${SPLIT_TYPE}) |
34 | | - endif() |
35 | | - math(EXPR LastIdx "${SPLIT_FACTOR} - 1") |
36 | | - foreach(Idx RANGE ${LastIdx}) |
37 | | - add_test(NAME ${YUNITTEST_ARGS_NAME}_${Idx} |
38 | | - COMMAND Python3::Interpreter ${YDB_SDK_SOURCE_DIR}/scripts/split_unittest.py |
39 | | - --split-factor ${SPLIT_FACTOR} ${FORK_MODE_ARG} |
40 | | - --shard ${Idx} |
41 | | - $<TARGET_FILE:${YUNITTEST_ARGS_TEST_TARGET}> ${YUNITTEST_ARGS_TEST_ARG} |
42 | | - WORKING_DIRECTORY ${YUNITTEST_ARGS_WORKING_DIRECTORY} |
43 | | - ) |
44 | | - endforeach() |
45 | | -endfunction() |
46 | | - |
47 | | -function(set_yunittest_property) |
48 | | - set(opts "") |
49 | | - set(oneval_args TEST PROPERTY) |
50 | | - set(multival_args ) |
51 | | - cmake_parse_arguments(YUNITTEST_ARGS |
52 | | - "${opts}" |
53 | | - "${oneval_args}" |
54 | | - "${multival_args}" |
55 | | - ${ARGN} |
56 | | - ) |
57 | | - get_property(SPLIT_FACTOR TARGET ${YUNITTEST_ARGS_TEST} PROPERTY SPLIT_FACTOR) |
58 | | - |
59 | | - if ((${SPLIT_FACTOR} EQUAL 1) OR (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/run_testpack")) |
60 | | - set_property(TEST ${YUNITTEST_ARGS_TEST} PROPERTY ${YUNITTEST_ARGS_PROPERTY} ${YUNITTEST_ARGS_UNPARSED_ARGUMENTS}) |
61 | | - return() |
62 | | - endif() |
| 1 | +enable_testing() |
63 | 2 |
|
64 | | - math(EXPR LastIdx "${SPLIT_FACTOR} - 1") |
65 | | - foreach(Idx RANGE ${LastIdx}) |
66 | | - set_property(TEST ${YUNITTEST_ARGS_TEST}_${Idx} PROPERTY ${YUNITTEST_ARGS_PROPERTY} ${YUNITTEST_ARGS_UNPARSED_ARGUMENTS}) |
67 | | - endforeach() |
68 | | -endfunction() |
| 3 | +find_package(GTest REQUIRED) |
| 4 | +include(GoogleTest) |
69 | 5 |
|
70 | 6 | function(add_ydb_test) |
71 | 7 | set(opts GTEST) |
72 | | -<<<<<<< HEAD |
73 | 8 | set(oneval_args NAME WORKING_DIRECTORY OUTPUT_DIRECTORY) |
74 | 9 | set(multival_args INCLUDE_DIRS SOURCES LINK_LIBRARIES LABELS TEST_ARG) |
75 | | -======= |
76 | | - set(oneval_args NAME) |
77 | | - set(multival_args SPLIT_FACTOR INCLUDE_DIRS SOURCES LINK_LIBRARIES LABELS) |
78 | | ->>>>>>> 273b4fe0c (session_pool_ut) |
79 | 10 | cmake_parse_arguments(YDB_TEST |
80 | 11 | "${opts}" |
81 | 12 | "${oneval_args}" |
@@ -117,76 +48,38 @@ function(add_ydb_test) |
117 | 48 | ) |
118 | 49 | endif() |
119 | 50 |
|
120 | | - if(NOT DEFINED YDB_TEST_SPLIT_FACTOR) |
121 | | - set(YDB_TEST_SPLIT_FACTOR "1") |
122 | | - endif() |
123 | | - |
124 | | - set_property( |
125 | | - TARGET |
126 | | - ${YDB_TEST_NAME} |
127 | | - PROPERTY |
128 | | - SPLIT_FACTOR |
129 | | - ${YDB_TEST_SPLIT_FACTOR} |
130 | | - ) |
131 | 51 | if (YDB_TEST_GTEST) |
132 | | - add_yunittest( |
133 | | - NAME |
134 | | - ${YDB_TEST_NAME} |
135 | | - TEST_TARGET |
136 | | - ${YDB_TEST_NAME} |
137 | | - TEST_ARG |
138 | | - ${YDB_TEST_TEST_ARG} |
139 | | - WORKING_DIRECTORY |
140 | | - ${YDB_TEST_WORKING_DIRECTORY} |
| 52 | + gtest_discover_tests(${YDB_TEST_NAME} |
| 53 | + EXTRA_ARGS ${YDB_TEST_TEST_ARG} |
| 54 | + WORKING_DIRECTORY ${YDB_TEST_WORKING_DIRECTORY} |
| 55 | + PROPERTIES LABELS ${YDB_TEST_LABELS} |
| 56 | + PROPERTIES PROCESSORS 1 |
| 57 | + PROPERTIES TIMEOUT 600 |
141 | 58 | ) |
| 59 | + |
142 | 60 | target_link_libraries(${YDB_TEST_NAME} PRIVATE |
143 | 61 | GTest::gtest_main |
144 | 62 | ) |
145 | 63 | else() |
146 | | - add_yunittest( |
147 | | - NAME |
148 | | - ${YDB_TEST_NAME} |
149 | | - TEST_TARGET |
150 | | - ${YDB_TEST_NAME} |
151 | | - TEST_ARG |
| 64 | + add_test(NAME ${YDB_TEST_NAME} |
| 65 | + WORKING_DIRECTORY ${YDB_TEST_WORKING_DIRECTORY} |
| 66 | + COMMAND ${YDB_TEST_NAME} |
152 | 67 | --print-before-suite |
153 | 68 | --print-before-test |
154 | 69 | --fork-tests |
155 | 70 | --print-times |
156 | 71 | --show-fails |
157 | 72 | ${YDB_TEST_TEST_ARG} |
158 | | - WORKING_DIRECTORY |
159 | | - ${YDB_TEST_WORKING_DIRECTORY} |
160 | 73 | ) |
| 74 | + |
161 | 75 | target_link_libraries(${YDB_TEST_NAME} PRIVATE |
162 | 76 | cpp-testing-unittest_main |
163 | 77 | ) |
164 | | - endif() |
165 | | - |
166 | | - set_yunittest_property( |
167 | | - TEST |
168 | | - ${YDB_TEST_NAME} |
169 | | - PROPERTY |
170 | | - LABELS |
171 | | - MEDIUM |
172 | | - ${YDB_TEST_LABELS} |
173 | | - ) |
174 | 78 |
|
175 | | - set_yunittest_property( |
176 | | - TEST |
177 | | - ${YDB_TEST_NAME} |
178 | | - PROPERTY |
179 | | - PROCESSORS |
180 | | - 1 |
181 | | - ) |
182 | | - |
183 | | - set_yunittest_property( |
184 | | - TEST |
185 | | - ${YDB_TEST_NAME} |
186 | | - PROPERTY |
187 | | - TIMEOUT |
188 | | - 600 |
189 | | - ) |
| 79 | + set_tests_properties(${YDB_TEST_NAME} PROPERTIES LABELS ${YDB_TEST_LABELS}) |
| 80 | + set_tests_properties(${YDB_TEST_NAME} PROPERTIES PROCESSORS 1) |
| 81 | + set_tests_properties(${YDB_TEST_NAME} PROPERTIES TIMEOUT 600) |
| 82 | + endif() |
190 | 83 |
|
191 | 84 | vcs_info(${YDB_TEST_NAME}) |
192 | 85 | endfunction() |
0 commit comments