Skip to content

Commit 91c8cab

Browse files
committed
Refactor tests
1 parent 6cdb675 commit 91c8cab

File tree

19 files changed

+1218
-1369
lines changed

19 files changed

+1218
-1369
lines changed

CMakeLists.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,10 @@ include(cmake/install.cmake)
4646
include(cmake/common.cmake)
4747
include(cmake/ccache.cmake)
4848
include(cmake/protobuf.cmake)
49-
include(cmake/testing.cmake)
5049
include(cmake/external_libs.cmake)
5150

5251
if (YDB_SDK_TESTS)
53-
enable_testing()
52+
include(cmake/testing.cmake)
5453
endif()
5554

5655
add_subdirectory(tools)

CMakePresets.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,11 @@
102102
"name": "all",
103103
"inherits": "common",
104104
"displayName": "Run All Tests",
105-
"configurePreset": "base"
105+
"configurePreset": "base",
106+
"environment": {
107+
"YDB_ENDPOINT": "localhost:2136",
108+
"YDB_DATABASE": "/local"
109+
}
106110
},
107111
{
108112
"name": "unit",

cmake/external_libs.cmake

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ find_package(Snappy 1.1.8 REQUIRED)
1212
find_package(base64 REQUIRED)
1313
find_package(Brotli 1.1.0 REQUIRED)
1414
find_package(jwt-cpp REQUIRED)
15-
find_package(GTest REQUIRED)
1615
find_package(double-conversion REQUIRED)
1716

1817
# RapidJSON

cmake/testing.cmake

+18-125
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,12 @@
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()
632

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)
695

706
function(add_ydb_test)
717
set(opts GTEST)
72-
<<<<<<< HEAD
738
set(oneval_args NAME WORKING_DIRECTORY OUTPUT_DIRECTORY)
749
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)
7910
cmake_parse_arguments(YDB_TEST
8011
"${opts}"
8112
"${oneval_args}"
@@ -117,76 +48,38 @@ function(add_ydb_test)
11748
)
11849
endif()
11950

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-
)
13151
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
14158
)
59+
14260
target_link_libraries(${YDB_TEST_NAME} PRIVATE
14361
GTest::gtest_main
14462
)
14563
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}
15267
--print-before-suite
15368
--print-before-test
15469
--fork-tests
15570
--print-times
15671
--show-fails
15772
${YDB_TEST_TEST_ARG}
158-
WORKING_DIRECTORY
159-
${YDB_TEST_WORKING_DIRECTORY}
16073
)
74+
16175
target_link_libraries(${YDB_TEST_NAME} PRIVATE
16276
cpp-testing-unittest_main
16377
)
164-
endif()
165-
166-
set_yunittest_property(
167-
TEST
168-
${YDB_TEST_NAME}
169-
PROPERTY
170-
LABELS
171-
MEDIUM
172-
${YDB_TEST_LABELS}
173-
)
17478

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()
19083

19184
vcs_info(${YDB_TEST_NAME})
19285
endfunction()

scripts/split_unittest.py

-80
This file was deleted.

src/client/draft/CMakeLists.txt

-25
This file was deleted.

tests/integration/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
add_subdirectory(basic_example)
22
add_subdirectory(bulk_upsert)
33
add_subdirectory(server_restart)
4-
add_subdirectory(sessions_it)
5-
add_subdirectory(sessions_pool_it)
4+
add_subdirectory(sessions)
5+
add_subdirectory(sessions_pool)

tests/integration/basic_example/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_ydb_test(NAME basic-example GTEST
1+
add_ydb_test(NAME basic_example_it GTEST
22
SOURCES
33
main.cpp
44
basic_example_data.cpp

tests/integration/basic_example/basic_example.cpp

-12
Original file line numberDiff line numberDiff line change
@@ -514,15 +514,3 @@ std::vector<NYdb::TResultSet> ScanQuerySelect(TTableClient client, const std::st
514514

515515
return resultSets;
516516
}
517-
518-
void DropTables(TTableClient& client, const std::string& path) {
519-
ThrowOnError(client.RetryOperationSync([path](TSession session) {
520-
return session.DropTable(JoinPath(path, "series")).ExtractValueSync();
521-
}));
522-
ThrowOnError(client.RetryOperationSync([path](TSession session) {
523-
return session.DropTable(JoinPath(path, "seasons")).ExtractValueSync();
524-
}));
525-
ThrowOnError(client.RetryOperationSync([path](TSession session) {
526-
return session.DropTable(JoinPath(path, "episodes")).ExtractValueSync();
527-
}));
528-
}

tests/integration/bulk_upsert/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_ydb_test(NAME bulk_upsert GTEST
1+
add_ydb_test(NAME bulk_upsert_it GTEST
22
SOURCES
33
main.cpp
44
bulk_upsert.cpp

tests/integration/server_restart/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
add_ydb_test(NAME server_restart GTEST
1+
add_ydb_test(NAME server_restart_it GTEST
22
SOURCES
33
main.cpp
44
LINK_LIBRARIES
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
add_ydb_test(NAME sessions_it GTEST
2+
SOURCES
3+
main.cpp
4+
LINK_LIBRARIES
5+
yutil
6+
YDB-CPP-SDK::Table
7+
YDB-CPP-SDK::Query
8+
api-grpc
9+
grpc-client
10+
LABELS
11+
integration
12+
)

0 commit comments

Comments
 (0)