|
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