Skip to content

Commit f4bd193

Browse files
committed
Moved sessions tests to C++ SDK repo (#17512)
1 parent 404e497 commit f4bd193

File tree

14 files changed

+1220
-228
lines changed

14 files changed

+1220
-228
lines changed

CMakeLists.txt

Lines changed: 1 addition & 2 deletions
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

Lines changed: 5 additions & 1 deletion
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

Lines changed: 0 additions & 1 deletion
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

Lines changed: 18 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,7 @@
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)
1+
enable_testing()
582

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()
63-
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)
@@ -112,72 +48,38 @@ function(add_ydb_test)
11248
)
11349
endif()
11450

115-
set_property(
116-
TARGET
117-
${YDB_TEST_NAME}
118-
PROPERTY
119-
SPLIT_FACTOR
120-
1
121-
)
12251
if (YDB_TEST_GTEST)
123-
add_yunittest(
124-
NAME
125-
${YDB_TEST_NAME}
126-
TEST_TARGET
127-
${YDB_TEST_NAME}
128-
TEST_ARG
129-
${YDB_TEST_TEST_ARG}
130-
WORKING_DIRECTORY
131-
${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
13258
)
59+
13360
target_link_libraries(${YDB_TEST_NAME} PRIVATE
13461
GTest::gtest_main
13562
)
13663
else()
137-
add_yunittest(
138-
NAME
139-
${YDB_TEST_NAME}
140-
TEST_TARGET
141-
${YDB_TEST_NAME}
142-
TEST_ARG
64+
add_test(NAME ${YDB_TEST_NAME}
65+
WORKING_DIRECTORY ${YDB_TEST_WORKING_DIRECTORY}
66+
COMMAND ${YDB_TEST_NAME}
14367
--print-before-suite
14468
--print-before-test
14569
--fork-tests
14670
--print-times
14771
--show-fails
14872
${YDB_TEST_TEST_ARG}
149-
WORKING_DIRECTORY
150-
${YDB_TEST_WORKING_DIRECTORY}
15173
)
74+
15275
target_link_libraries(${YDB_TEST_NAME} PRIVATE
15376
cpp-testing-unittest_main
15477
)
155-
endif()
156-
157-
set_yunittest_property(
158-
TEST
159-
${YDB_TEST_NAME}
160-
PROPERTY
161-
LABELS
162-
MEDIUM
163-
${YDB_TEST_LABELS}
164-
)
16578

166-
set_yunittest_property(
167-
TEST
168-
${YDB_TEST_NAME}
169-
PROPERTY
170-
PROCESSORS
171-
1
172-
)
173-
174-
set_yunittest_property(
175-
TEST
176-
${YDB_TEST_NAME}
177-
PROPERTY
178-
TIMEOUT
179-
600
180-
)
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()
18183

18284
vcs_info(${YDB_TEST_NAME})
18385
endfunction()

scripts/split_unittest.py

Lines changed: 0 additions & 80 deletions
This file was deleted.

src/client/draft/CMakeLists.txt

Lines changed: 0 additions & 25 deletions
This file was deleted.

tests/integration/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
add_subdirectory(basic_example)
22
add_subdirectory(bulk_upsert)
33
add_subdirectory(server_restart)
4+
add_subdirectory(sessions)
5+
add_subdirectory(sessions_pool)

tests/integration/basic_example/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
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/bulk_upsert/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
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
Lines changed: 12 additions & 0 deletions
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)