Skip to content

Commit 5f13d18

Browse files
trondndaverigby
authored andcommitted
Build mock_server as a library
The files is used from different test suites and currently one needs to update the list of libraries for all targets if one wants to use functionality from a new library. Change-Id: Iace393c7386a43d147c64ed01cf3f99d5de458b3 Reviewed-on: http://review.couchbase.org/108151 Tested-by: Build Bot <[email protected]> Reviewed-by: Dave Rigby <[email protected]>
1 parent bd425f9 commit 5f13d18

File tree

3 files changed

+32
-43
lines changed

3 files changed

+32
-43
lines changed

engines/ep/CMakeLists.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -411,9 +411,6 @@ if (NOT EP_BYPASS_TESTS)
411411
$<TARGET_OBJECTS:memory_tracking>
412412
$<TARGET_OBJECTS:couchstore_test_fileops>
413413
$<TARGET_OBJECTS:couchfile_upgrade_objects>
414-
${Memcached_SOURCE_DIR}/programs/engine_testapp/mock_server.cc
415-
${Memcached_SOURCE_DIR}/daemon/doc_pre_expiry.cc
416-
${Memcached_SOURCE_DIR}/daemon/protocol/mcbp/engine_errc_2_mcbp.cc
417414
${Memcached_SOURCE_DIR}/logger/logger_test_fixture.cc)
418415

419416
TARGET_INCLUDE_DIRECTORIES(ep-engine_ep_unit_tests
@@ -424,7 +421,7 @@ if (NOT EP_BYPASS_TESTS)
424421
dirutils engine_utilities ep-engine_collections gtest
425422
gmock hdr_histogram_static JSON_checker
426423
memcached_logger mcbp mcd_util mcd_tracing platform
427-
phosphor xattr cbcompress ${MALLOC_LIBRARIES}
424+
phosphor xattr cbcompress mock_server ${MALLOC_LIBRARIES}
428425
${LIBEVENT_LIBRARIES}
429426
${FOLLY_LIBRARIES})
430427

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,31 @@
1-
ADD_EXECUTABLE(engine_testapp engine_testapp.cc
2-
mock_server.cc
3-
mock_server.h
4-
${Memcached_SOURCE_DIR}/daemon/protocol/mcbp/engine_errc_2_mcbp.cc
5-
${Memcached_SOURCE_DIR}/daemon/protocol/mcbp/engine_errc_2_mcbp.h
6-
${Memcached_SOURCE_DIR}/daemon/doc_pre_expiry.cc
7-
$<TARGET_OBJECTS:memory_tracking>)
1+
add_library(mock_server STATIC
2+
mock_server.cc
3+
mock_server.h
4+
${Memcached_SOURCE_DIR}/daemon/protocol/mcbp/engine_errc_2_mcbp.cc
5+
${Memcached_SOURCE_DIR}/daemon/protocol/mcbp/engine_errc_2_mcbp.h
6+
${Memcached_SOURCE_DIR}/daemon/doc_pre_expiry.cc
7+
$<TARGET_OBJECTS:memory_tracking>)
8+
set_property(TARGET mock_server PROPERTY POSITION_INDEPENDENT_CODE 1)
9+
target_link_libraries(mock_server INTERFACE
10+
memcached_logger
11+
mcd_tracing
12+
mcd_util
13+
platform
14+
xattr
15+
${MALLOC_LIBRARIES})
816

9-
TARGET_LINK_LIBRARIES(engine_testapp PRIVATE
10-
memcached_logger
11-
mcd_util
12-
mcd_tracing
17+
add_executable(engine_testapp engine_testapp.cc)
18+
target_link_libraries(engine_testapp PRIVATE
1319
phosphor
1420
platform
15-
xattr
16-
${MALLOC_LIBRARIES}
21+
mock_server
1722
${COUCHBASE_NETWORK_LIBS})
23+
1824
add_sanitizers(engine_testapp)
19-
INSTALL(TARGETS engine_testapp
25+
install(TARGETS engine_testapp
2026
RUNTIME DESTINATION bin)
2127

22-
ADD_TEST(NAME memcached-basic-engine-tests
28+
add_test(NAME memcached-basic-engine-tests
2329
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
2430
COMMAND engine_testapp -E default_engine.so
2531
-T basic_engine_testsuite.so)

tests/tracing/CMakeLists.txt

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,20 @@
1-
ADD_EXECUTABLE(tracing_test
1+
add_executable(tracing_test
22
tracing_test.cc)
33

4-
TARGET_LINK_LIBRARIES(tracing_test
4+
target_link_libraries(tracing_test
55
mcd_tracing memcached_daemon gtest gtest_main)
66

7-
ADD_SANITIZERS(tracing_test)
7+
add_sanitizers(tracing_test)
88

9-
ADD_TEST(NAME tracing-test
9+
add_test(NAME tracing-test
1010
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
1111
COMMAND tracing_test)
1212

13-
set(mock_server_SOURCE
14-
${Memcached_SOURCE_DIR}/programs/engine_testapp/mock_server.cc
15-
${Memcached_SOURCE_DIR}/daemon/doc_pre_expiry.cc
16-
${Memcached_SOURCE_DIR}/daemon/protocol/mcbp/engine_errc_2_mcbp.cc
17-
$<TARGET_OBJECTS:memory_tracking>)
13+
add_executable(tracing_bench tracing_bench.cc)
14+
15+
target_include_directories(tracing_bench SYSTEM PRIVATE
16+
${benchmark_SOURCE_DIR}/include)
17+
18+
target_link_libraries(tracing_bench PRIVATE benchmark mock_server)
1819

19-
add_executable(tracing_bench
20-
tracing_bench.cc
21-
${mock_server_SOURCE})
22-
target_include_directories(tracing_bench
23-
PRIVATE
24-
${benchmark_SOURCE_DIR}/include)
25-
target_link_libraries(tracing_bench
26-
PRIVATE
27-
benchmark
28-
mcd_tracing
29-
mcd_util
30-
memcached_logger
31-
platform
32-
xattr
33-
${MALLOC_LIBRARIES})
3420
add_sanitizers(tracing_bench)

0 commit comments

Comments
 (0)