diff --git a/CMakeLists.txt b/CMakeLists.txt index 59a7328572c..af4776c3999 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -241,6 +241,11 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(OperatingSystem "Mac OS X") endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +# enables testing and creates Make check command +enable_testing() +set(CMAKE_CTEST_COMMAND ctest -V) +add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) + add_subdirectory(src) # man pages must be preprocessed, not supported yet diff --git a/README.md b/README.md index db891ea91b3..a3684e40d1e 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,9 @@ Debian Squeeze. Backports for Ceph can be found at ceph.com/debian-leveldb. Building Ceph ============= +Autotools +--------- + Developers, please refer to the [Developer Guide](doc/dev/quick_guide.rst) for more information, otherwise, you can build the server daemons, and FUSE client, by executing the @@ -47,6 +50,21 @@ following: (Note that the FUSE client will only be built if libfuse is present.) +CMake +----- + +Prerequisite: + CMake 2.8.11 + +Build instructions: + + mkdir build + cd build + cmake [options] /path/to/ceph/src/dir + make + +(Note that /path/to/ceph/src/dir can be in the tree and out of the tree) + Dependencies ------------ diff --git a/ceph.spec.in b/ceph.spec.in index a8374dc4f35..97a0063fb32 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -93,6 +93,7 @@ BuildRequires: /usr/share/selinux/devel/policyhelp BuildRequires: gcc-c++ BuildRequires: boost-devel BuildRequires: boost-random +BuildRequires: cmake BuildRequires: cryptsetup BuildRequires: gdbm BuildRequires: hdparm diff --git a/cmake/modules/Findcds.cmake b/cmake/modules/Findcds.cmake deleted file mode 100644 index b22dc025b9d..00000000000 --- a/cmake/modules/Findcds.cmake +++ /dev/null @@ -1,37 +0,0 @@ -# - Find cds -# -# CDS_INCLUDE_DIR - where to find cds/init.h -# FIO_FOUND - True if found. - -find_path(CDS_INC_DIR cds/init.h NO_DEFAULT_PATH PATHS - /usr/include - /opt/local/include - /usr/local/include - /opt/cds -) - -if (CDS_INC_DIR) - set(CDS_FOUND TRUE) -else () - set(CDS_FOUND FALSE) -endif () - -if (CDS_FOUND) - message(STATUS "Found cds: ${CDS_INC_DIR}") -else () - message(STATUS "Failed to find cds/init.h") - if (CDS_FIND_REQUIRED) - message(FATAL_ERROR "Missing required cds/init.h") - endif () -endif () - -find_library(CDS_LIBS - NAMES cds - PATHS /usr/lib /usr/lib/x86_64-linux-gnu /opt/cds/bin/gcc-amd64-linux-64 -) - -mark_as_advanced( - CDS_INC_DIR - CDS_LIBS -) - diff --git a/debian/control b/debian/control index d4d6eb6412f..363bb08d4a7 100644 --- a/debian/control +++ b/debian/control @@ -11,6 +11,7 @@ Build-Depends: autoconf, automake, autotools-dev, libbz2-dev, + cmake, cryptsetup-bin | cryptsetup, debhelper (>= 6.0.7~), default-jdk, @@ -27,6 +28,7 @@ Build-Depends: autoconf, libboost-program-options-dev (>= 1.42), libboost-system-dev (>= 1.42), libboost-thread-dev (>= 1.42), + libboost-regex-dev, libboost-random-dev, libcurl4-gnutls-dev, libedit-dev, diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5b8298e1308..7206e73bcd8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -75,10 +75,6 @@ if(${WITH_PROFILER}) list(APPEND EXTRALIBS profiler) endif(${WITH_PROFILER}) -if(WITH_CDS) - list(APPEND EXTRALIBS ${CDS_LIBS}) -endif(WITH_CDS) - if(USE_NSS) if(NSS_FOUND) if(NSPR_FOUND) @@ -179,6 +175,8 @@ set(crush_srcs crush/CrushCompiler.cc crush/CrushTester.cc) +add_library(crush STATIC ${crush_srcs}) + add_subdirectory(json_spirit) set(xio_common_srcs) @@ -343,7 +341,7 @@ endif(${WITH_PROFILER}) add_library(common_utf8 STATIC common/utf8.c) -target_link_libraries( common json_spirit common_utf8 erasure_code rt uuid ${CRYPTO_LIBS} ${Boost_LIBRARIES}) +target_link_libraries( common json_spirit common_utf8 erasure_code rt uuid ${CRYPTO_LIBS} ${Boost_LIBRARIES} ${BLKID_LIBRARIES}) set(libglobal_srcs global/global_init.cc @@ -685,6 +683,7 @@ set(crushtool_srcs tools/crushtool.cc) add_executable(crushtool ${crushtool_srcs}) target_link_libraries(crushtool global) +install(TARGETS crushtool DESTINATION bin) # Support/Tools add_subdirectory(gmock) @@ -695,6 +694,12 @@ target_link_libraries(cephfstool common ${EXTRALIBS}) set_target_properties(cephfstool PROPERTIES OUTPUT_NAME cephfs) install(TARGETS cephfstool DESTINATION bin) +set(compressor_srcs + compressor/Compressor.cc + compressor/AsyncCompressor.cc) +add_library(compressor STATIC ${compressor_srcs}) +target_link_libraries(compressor common snappy) + #set(ceph_srcs tools/ceph.cc tools/common.cc) #add_executable(ceph ${ceph_srcs}) #target_link_libraries(ceph global ${LIBEDIT_LIBS}) @@ -852,6 +857,32 @@ if(${WITH_RBD}) ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS}) install(TARGETS rbd DESTINATION bin) install(PROGRAMS ${CMAKE_SOURCE_DIR}/src/ceph-rbdnamer DESTINATION bin) + + set(librbd_replay_srcs + rbd_replay/actions.cc + rbd_replay/Deser.cc + rbd_replay/ImageNameMap.cc + rbd_replay/PendingIO.cc + rbd_replay/rbd_loc.cc + rbd_replay/Replayer.cc + rbd_replay/Ser.cc) + add_library(librbd_replay STATIC ${librbd_replay_srcs}) + target_link_libraries(librbd_replay PRIVATE librbd librados global udev) + + add_executable(rbd_replay + rbd_replay/rbd-replay.cc + $ + ) + target_link_libraries(rbd_replay librbd librados global librbd_replay keyutils) + install(TARGETS rbd_replay DESTINATION bin) + + set(librbd_replay_ios_srcs + rbd_replay/ios.cc) + add_library(librbd_replay_ios STATIC ${librbd_replay_ios_srcs}) + target_link_libraries(librbd_replay_ios librbd librados global) + + install(TARGETS librbd_replay librbd_replay_ios DESTINATION lib) + endif(${WITH_RBD}) # RadosGW diff --git a/src/erasure-code/CMakeLists.txt b/src/erasure-code/CMakeLists.txt index 484d8958423..8bcba45b276 100644 --- a/src/erasure-code/CMakeLists.txt +++ b/src/erasure-code/CMakeLists.txt @@ -4,6 +4,7 @@ set(erasure_codelibdir ${LIBRARY_OUTPUT_PATH}/erasure-code) add_subdirectory(jerasure) add_subdirectory(lrc) +add_subdirectory(shec) if (HAVE_BETTER_YASM_ELF64) add_subdirectory(isa) diff --git a/src/erasure-code/isa/CMakeLists.txt b/src/erasure-code/isa/CMakeLists.txt index 099cc727322..923427441b7 100644 --- a/src/erasure-code/isa/CMakeLists.txt +++ b/src/erasure-code/isa/CMakeLists.txt @@ -4,45 +4,45 @@ include_directories(isa-l/include) set(isa_srcs isa-l/erasure_code/ec_base.c - isa-l/erasure_code/ec_highlevel_func.c - isa-l/erasure_code/ec_multibinary.asm.s - isa-l/erasure_code/gf_2vect_dot_prod_avx2.asm.s - isa-l/erasure_code/gf_2vect_dot_prod_avx.asm.s isa-l/erasure_code/gf_2vect_dot_prod_sse.asm.s - isa-l/erasure_code/gf_3vect_dot_prod_avx2.asm.s - isa-l/erasure_code/gf_3vect_dot_prod_avx.asm.s isa-l/erasure_code/gf_3vect_dot_prod_sse.asm.s - isa-l/erasure_code/gf_4vect_dot_prod_avx2.asm.s - isa-l/erasure_code/gf_4vect_dot_prod_avx.asm.s isa-l/erasure_code/gf_4vect_dot_prod_sse.asm.s - isa-l/erasure_code/gf_5vect_dot_prod_avx2.asm.s - isa-l/erasure_code/gf_5vect_dot_prod_avx.asm.s isa-l/erasure_code/gf_5vect_dot_prod_sse.asm.s - isa-l/erasure_code/gf_6vect_dot_prod_avx2.asm.s - isa-l/erasure_code/gf_6vect_dot_prod_avx.asm.s isa-l/erasure_code/gf_6vect_dot_prod_sse.asm.s - isa-l/erasure_code/gf_vect_dot_prod_avx2.asm.s - isa-l/erasure_code/gf_vect_dot_prod_avx.asm.s isa-l/erasure_code/gf_vect_dot_prod_sse.asm.s isa-l/erasure_code/gf_2vect_mad_avx2.asm.s - isa-l/erasure_code/gf_2vect_mad_avx.asm.s - isa-l/erasure_code/gf_2vect_mad_sse.asm.s isa-l/erasure_code/gf_3vect_mad_avx2.asm.s - isa-l/erasure_code/gf_3vect_mad_avx.asm.s - isa-l/erasure_code/gf_3vect_mad_sse.asm.s isa-l/erasure_code/gf_4vect_mad_avx2.asm.s - isa-l/erasure_code/gf_4vect_mad_avx.asm.s - isa-l/erasure_code/gf_4vect_mad_sse.asm.s isa-l/erasure_code/gf_5vect_mad_avx2.asm.s - isa-l/erasure_code/gf_5vect_mad_avx.asm.s - isa-l/erasure_code/gf_5vect_mad_sse.asm.s isa-l/erasure_code/gf_6vect_mad_avx2.asm.s - isa-l/erasure_code/gf_6vect_mad_avx.asm.s - isa-l/erasure_code/gf_6vect_mad_sse.asm.s isa-l/erasure_code/gf_vect_mad_avx2.asm.s + isa-l/erasure_code/ec_highlevel_func.c + isa-l/erasure_code/gf_2vect_mad_avx.asm.s + isa-l/erasure_code/gf_3vect_mad_avx.asm.s + isa-l/erasure_code/gf_4vect_mad_avx.asm.s + isa-l/erasure_code/gf_5vect_mad_avx.asm.s + isa-l/erasure_code/gf_6vect_mad_avx.asm.s isa-l/erasure_code/gf_vect_mad_avx.asm.s + isa-l/erasure_code/ec_multibinary.asm.s + isa-l/erasure_code/gf_2vect_mad_sse.asm.s + isa-l/erasure_code/gf_3vect_mad_sse.asm.s + isa-l/erasure_code/gf_4vect_mad_sse.asm.s + isa-l/erasure_code/gf_5vect_mad_sse.asm.s + isa-l/erasure_code/gf_6vect_mad_sse.asm.s isa-l/erasure_code/gf_vect_mad_sse.asm.s + isa-l/erasure_code/gf_2vect_dot_prod_avx2.asm.s + isa-l/erasure_code/gf_3vect_dot_prod_avx2.asm.s + isa-l/erasure_code/gf_4vect_dot_prod_avx2.asm.s + isa-l/erasure_code/gf_5vect_dot_prod_avx2.asm.s + isa-l/erasure_code/gf_6vect_dot_prod_avx2.asm.s + isa-l/erasure_code/gf_vect_dot_prod_avx2.asm.s isa-l/erasure_code/gf_vect_mul_avx.asm.s + isa-l/erasure_code/gf_2vect_dot_prod_avx.asm.s + isa-l/erasure_code/gf_3vect_dot_prod_avx.asm.s + isa-l/erasure_code/gf_4vect_dot_prod_avx.asm.s + isa-l/erasure_code/gf_5vect_dot_prod_avx.asm.s + isa-l/erasure_code/gf_6vect_dot_prod_avx.asm.s + isa-l/erasure_code/gf_vect_dot_prod_avx.asm.s isa-l/erasure_code/gf_vect_mul_sse.asm.s ErasureCodeIsa.cc ErasureCodeIsaTableCache.cc diff --git a/src/erasure-code/shec/CMakeLists.txt b/src/erasure-code/shec/CMakeLists.txt new file mode 100644 index 00000000000..260f4d21838 --- /dev/null +++ b/src/erasure-code/shec/CMakeLists.txt @@ -0,0 +1,36 @@ +#shec plugin + +set(shec_srcs + ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc + ErasureCodePluginShec.cc + ErasureCodeShec.cc + ErasureCodeShecTableCache.cc + determinant.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/cauchy.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/galois.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/jerasure.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/liberation.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/reed_sol.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_wgen.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_method.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w16.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w32.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w64.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w128.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_general.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w4.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_rand.c + ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w8.c) + +include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/include) +include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/include) +include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure) +include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/shec) +add_library(ec_shec_generic SHARED ${shec_srcs}) +target_link_libraries(ec_shec_generic crush pthread) +add_dependencies(ec_shec_generic ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) +set_target_properties(ec_shec_generic PROPERTIES VERSION 1.0.0 SOVERSION 1) +install(TARGETS ec_shec_generic DESTINATION lib/erasure-code) + +#TODO:build libec_shec_neon, libec_shec+sse3, libec_shec_sse4 libraries diff --git a/src/include/config-h.in.cmake b/src/include/config-h.in.cmake index fbd2e634178..84514915e51 100644 --- a/src/include/config-h.in.cmake +++ b/src/include/config-h.in.cmake @@ -232,7 +232,4 @@ /* Defined if XIO */ #cmakedefine HAVE_XIO -/* Defined if CDS */ -#cmakedefine HAVE_CDS - #endif /* CONFIG_H */ diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 6a5f10cc0b8..76c364819df 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -300,107 +300,241 @@ add_executable(bench_log target_link_libraries(bench_log global pthread rt ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS}) ## Unit tests +#make check starts here +add_custom_target(symlinks COMMAND + ln -sf ${CMAKE_SOURCE_DIR}/src/test/ ${CMAKE_BINARY_DIR}/src/test/ && + ln -sf ${CMAKE_BINARY_DIR}/src/ceph-mon ${CMAKE_BINARY_DIR}/src/test/ && + ln -sf ${CMAKE_BINARY_DIR}/ceph ${CMAKE_BINARY_DIR}/src/test/ && + ln -sf ${CMAKE_BINARY_DIR}/src/ceph-authtool ${CMAKE_BINARY_DIR}/src/test/ && + ln -sf ${CMAKE_BINARY_DIR}/src/ceph-conf ${CMAKE_BINARY_DIR}/src/test/ && + ln -sf ${CMAKE_BINARY_DIR}/src/ceph-osd ${CMAKE_BINARY_DIR}/src/test/ && + ln -sf ${CMAKE_SOURCE_DIR}/src/ceph-disk ${CMAKE_BINARY_DIR}/src/test/ && + ln -sf ${CMAKE_SOURCE_DIR}/qa/ ${CMAKE_BINARY_DIR}/src/ + COMMENT "Symlinks for test scripts have been created") +add_dependencies(check symlinks) + +add_test(NAME unittest_bufferlist_shell COMMAND bash ${CMAKE_SOURCE_DIR}/src/unittest_bufferlist.sh) +add_dependencies(check unittest_bufferlist_shell) + +add_test(NAME run_tox COMMAND bash ${CMAKE_SOURCE_DIR}/src/ceph-detect-init/run-tox.sh) +add_dependencies(check run_tox) + +add_test(NAME cephtool_test_osd COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/cephtool-test-osd.sh) +add_dependencies(check cephtool_test_osd) + +add_test(NAME check_generated COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/encoding/check-generated.sh) +add_dependencies(check check_generated) + +add_test(NAME cephtool_test_rados COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/cephtool-test-rados.sh) +add_dependencies(check cephtool_test_rados) + +add_test(NAME run_rbd_unit_tests COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/run-rbd-unit-tests.sh) +add_dependencies(check run_rbd_unit_tests) + +add_test(NAME mkfs COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/mon/mkfs.sh) +add_dependencies(check mkfs) + +add_test(NAME misc COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/mon/misc.sh) +add_dependencies(check misc) + +add_test(NAME osd_config COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/osd/osd-config.sh) +add_dependencies(check osd_config) + +add_test(NAME osd_pool_create COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/mon/osd-pool-create.sh) +add_dependencies(check osd_pool_create) + +add_test(NAME osd_copy_from COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/osd/osd-copy-from.sh) +add_dependencies(check osd_copy_from) + +add_test(NAME mon_handle_forward COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/mon/mon-handle-forward.sh) +add_dependencies(check mon_handle_forward) + +add_test(NAME osd_erasure_code_profile COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/mon/osd-erasure-code-profile.sh) +add_dependencies(check osd_erasure_code_profile) + +add_test(NAME osd_crush COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/mon/osd-crush.sh) +add_dependencies(check osd_crush) + +add_test(NAME test_ceph_daemon COMMAND python ${CMAKE_SOURCE_DIR}/src/test/pybind/test_ceph_daemon.py) +add_dependencies(check test_ceph_daemon) + +add_test(NAME rados_striper COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/libradosstriper/rados-striper.sh) +add_dependencies(check rados_striper) + +add_test(NAME osd_bench COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/osd/osd-bench.sh) +add_dependencies(check osd_bench) + +add_test(NAME test_erasure_code COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/erasure-code/test-erasure-code.sh) +add_dependencies(check test_erasure_code) + +add_test(NAME cephtool_test_mds COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/cephtool-test-mds.sh) +add_dependencies(check cephtool_test_mds) + +add_test(NAME test_ceph_argparse_py COMMAND python ${CMAKE_SOURCE_DIR}/src/test/pybind/test_ceph_argparse.py) +add_dependencies(check test_ceph_argparse_py) + +add_test(NAME test_erasure_eio COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/erasure-code/test-erasure-eio.sh) +add_dependencies(check test_erasure_eio) + +add_test(NAME ceph_disk COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/ceph-disk.sh) +add_dependencies(check ceph_disk) + +add_test(NAME readable COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/encoding/readable.sh) +add_dependencies(check readable) + +add_test(NAME ceph_objectstore_tool COMMAND python ${CMAKE_SOURCE_DIR}/src/test/ceph_objectstore_tool.py) +add_dependencies(check ceph_objectstore_tool) + +add_test(NAME test_ceph_helpers COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/test-ceph-helpers.sh) +add_dependencies(check test_ceph_helpers) + +add_test(NAME cephtool_test_mon COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/cephtool-test-mon.sh) +add_dependencies(check cephtool_test_mon) + +add_test(NAME encode_decode_non_regression COMMAND bash ${CMAKE_SOURCE_DIR}/qa/workunits/erasure-code/encode-decode-non-regression.sh) +add_dependencies(check encode_decode_non_regression) + +add_test(NAME osd_scrub_repair COMMAND bash ${CMAKE_SOURCE_DIR}/src/osd/osd-scrub-repair.sh) +add_dependencies(check osd_scrub_repair) + +set(UNITTEST_LIBS gtest_main ${PTHREAD_LIBS}) +set(UNITTEST_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${CMAKE_SOURCE_DIR}/src/gtest/include -I${CMAKE_BINARY_DIR}/src/gtest/include -fno-strict-aliasing") set(UNITTEST_LIBS gmock_main gmock gtest ${PTHREAD_LIBS}) set(UNITTEST_CXX_FLAGS "-I${CMAKE_SOURCE_DIR}/src/gmock/include -I${CMAKE_BINARY_DIR}/src/gmock/include -I${CMAKE_SOURCE_DIR}/src/gmock/gtest/include -I${CMAKE_BINARY_DIR}/src/gmock/gtest/include -fno-strict-aliasing") # unittest_encoding -set(unittest_encoding_srcs +add_executable(unittest_encoding EXCLUDE_FROM_ALL encoding.cc - ) -add_executable(unittest_encoding - ${unittest_encoding_srcs} $ ) -target_link_libraries(unittest_encoding cephfs librados pthread rt m - ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +add_test(unittest_encoding unittest_encoding) +add_dependencies(check unittest_encoding) +#target_link_libraries(unittest_encoding librados global boost_filesystem +target_link_libraries(unittest_encoding cephfs librados pthread rt m ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_encoding PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_addrs -set(unittest_addrs_srcs +add_executable(unittest_addrs EXCLUDE_FROM_ALL test_addrs.cc - ) -add_executable(unittest_addrs - ${unittest_addrs_srcs} $ ) +add_test(unittest_addrs unittest_addrs) +add_dependencies(check unittest_addrs) target_link_libraries(unittest_addrs cephfs librados pthread rt m ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_addrs PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_bloom_filter -set(unittest_bloom_filter_srcs - common/test_bloom_filter.cc - ) -add_executable(unittest_bloom_filter - ${unittest_bloom_filter_srcs} +# unittest_blkdev +add_executable(unittest_blkdev EXCLUDE_FROM_ALL + common/test_blkdev.cc $ ) +add_test(unittest_blkdev unittest_blkdev) +add_dependencies(check unittest_blkdev) +target_link_libraries(unittest_blkdev + global + ${BLKID_LIBRARIES} + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_blkdev PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_bloom_filter +add_executable(unittest_bloom_filter EXCLUDE_FROM_ALL + common/test_bloom_filter.cc + $ + ) +add_test(unittest_bloom_filter unittest_bloom_filter) +add_dependencies(check unittest_bloom_filter) target_link_libraries(unittest_bloom_filter global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_bloom_filter PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_histogram -add_executable(unittest_histogram +add_executable(unittest_histogram EXCLUDE_FROM_ALL common/histogram.cc $ ) +add_test(unittest_histogram unittest_histogram) +add_dependencies(check unittest_histogram) target_link_libraries(unittest_histogram global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_histogram PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_str_map -set(unittest_str_map_srcs - common/test_str_map.cc - ) -add_executable(unittest_str_map - ${unittest_str_map_srcs} +# unittest_prioritized_queue +add_executable(unittest_prioritized_queue EXCLUDE_FROM_ALL + common/test_prioritized_queue.cc $ ) +add_test(unittest_prioritized_queue unittest_prioritized_queue) +add_dependencies(check unittest_prioritized_queue) +target_link_libraries(unittest_prioritized_queue global + ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_prioritized_queue + PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) + +# unittest_str_map +add_executable(unittest_str_map EXCLUDE_FROM_ALL + common/test_str_map.cc + $ + ) +add_test(unittest_str_map unittest_str_map) +add_dependencies(check unittest_str_map) target_link_libraries(unittest_str_map common global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS} common) set_target_properties(unittest_str_map PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_sharedptr_registry -set(unittest_sharedptr_registry_srcs +add_executable(unittest_sharedptr_registry EXCLUDE_FROM_ALL common/test_sharedptr_registry.cc - ) -add_executable(unittest_sharedptr_registry - ${unittest_sharedptr_registry_srcs} $ ) +add_test(unittest_sharedptr_registry unittest_sharedptr_registry) +add_dependencies(check unittest_sharedptr_registry) target_link_libraries(unittest_sharedptr_registry global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_sharedptr_registry PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_sloppy_crc_map -set(unittest_sloppy_crc_map_srcs - common/test_sloppy_crc_map.cc - ) -add_executable(unittest_sloppy_crc_map - ${unittest_sloppy_crc_map_srcs} +# unittest_shared_cache +add_executable(unittest_shared_cache EXCLUDE_FROM_ALL + common/test_shared_cache.cc $ ) +add_test(unittest_shared_cache unittest_shared_cache) +add_dependencies(check unittest_shared_cache) +target_link_libraries(unittest_shared_cache global + ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_shared_cache + PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) + +# unittest_sloppy_crc_map +add_executable(unittest_sloppy_crc_map EXCLUDE_FROM_ALL + common/test_sloppy_crc_map.cc + $ + ) +add_test(unittest_sloppy_crc_map unittest_sloppy_crc_map) +add_dependencies(check unittest_sloppy_crc_map) target_link_libraries(unittest_sloppy_crc_map global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_sloppy_crc_map PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_util -set(unittest_util_srcs +add_executable(unittest_util EXCLUDE_FROM_ALL common/test_util.cc ${CMAKE_SOURCE_DIR}/src/common/util.cc - ) -add_executable(unittest_util - ${unittest_util_srcs} $ ) +add_test(unittest_util unittest_util) +add_dependencies(check unittest_util) target_link_libraries(unittest_util global ${BLKID_LIBRARIES} @@ -411,175 +545,275 @@ target_link_libraries(unittest_util set_target_properties(unittest_util PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_osdmap -set(unittest_osdmap_srcs osd/TestOSDMap.cc) -add_executable(unittest_osdmap - ${unittest_osdmap_srcs} +# unittest_crush_wrapper +add_executable(unittest_crush_wrapper EXCLUDE_FROM_ALL + crush/CrushWrapper.cc $ ) +add_test(unittest_crush_wrapper unittest_crush_wrapper) +add_dependencies(check unittest_crush_wrapper) +target_link_libraries(unittest_crush_wrapper global crush ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_crush_wrapper PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_crush +add_executable(unittest_crush EXCLUDE_FROM_ALL + crush/crush.cc + $ + ) +add_test(unittest_crush unittest_crush) +add_dependencies(check unittest_crush) +target_link_libraries(unittest_crush global m ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} + ${UNITTEST_LIBS} ${EXTRALIBS}) +set_target_properties(unittest_crush PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_osdmap +add_executable(unittest_osdmap EXCLUDE_FROM_ALL + osd/TestOSDMap.cc + $ + ) +add_test(unittest_osdmap unittest_osdmap) +add_dependencies(check unittest_osdmap) target_link_libraries(unittest_osdmap global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_osdmap PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_workqueue -set(unittest_workqueue_srcs test_workqueue.cc) -add_executable(unittest_workqueue - ${unittest_workqueue_srcs} +add_executable(unittest_workqueue EXCLUDE_FROM_ALL + test_workqueue.cc $ ) +add_test(unittest_workqueue unittest_workqueue) +add_dependencies(check unittest_workqueue) target_link_libraries(unittest_workqueue global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_workqueue PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) + # unittest_striper -set(unittest_striper_srcs test_striper.cc) -add_executable(unittest_striper - ${unittest_striper_srcs} +add_executable(unittest_striper EXCLUDE_FROM_ALL + test_striper.cc $ ) +add_test(unittest_striper unittest_striper) +add_dependencies(check unittest_striper) target_link_libraries(unittest_striper global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_striper PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_prebufferedstreambuf -set(unittest_prebufferedstreambuf_srcs test_prebufferedstreambuf.cc) -add_executable(unittest_prebufferedstreambuf - ${unittest_prebufferedstreambuf_srcs} +add_executable(unittest_prebufferedstreambuf EXCLUDE_FROM_ALL + test_prebufferedstreambuf.cc $ ) +add_test(unittest_prebufferedstreambuf unittest_prebufferedstreambuf) +add_dependencies(check unittest_prebufferedstreambuf) target_link_libraries(unittest_prebufferedstreambuf global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_prebufferedstreambuf PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_str_list -set(unittest_str_list_srcs test_str_list.cc) -add_executable(unittest_str_list - ${unittest_str_list_srcs} +add_executable(unittest_str_list EXCLUDE_FROM_ALL + test_str_list.cc $ ) +add_test(unittest_str_list unittest_str_list) +add_dependencies(check unittest_str_list) target_link_libraries(unittest_str_list global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_str_list PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_log -set(unittest_log_srcs ${CMAKE_SOURCE_DIR}/src/log/test.cc) -add_executable(unittest_log - ${unittest_log_srcs} +add_executable(unittest_log EXCLUDE_FROM_ALL + ${CMAKE_SOURCE_DIR}/src/log/test.cc $ ) +add_test(unittest_log unittest_log) +add_dependencies(check unittest_log) target_link_libraries(unittest_log global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_log PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_throttle -set(unittest_throttle_srcs common/Throttle.cc) -add_executable(unittest_throttle - ${unittest_throttle_srcs} +add_executable(unittest_throttle EXCLUDE_FROM_ALL + common/Throttle.cc $ ) +add_test(unittest_throttle unittest_throttle) +add_dependencies(check unittest_throttle) target_link_libraries(unittest_throttle global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_throttle PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_base64 -set(unittest_base64_srcs base64.cc) -add_executable(unittest_base64 - ${unittest_base64_srcs} +add_executable(unittest_base64 EXCLUDE_FROM_ALL + base64.cc $ ) +add_test(unittest_base64 unittest_base64) +add_dependencies(check unittest_base64) target_link_libraries(unittest_base64 global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_base64 PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_ceph_argparse -set(unittest_ceph_argparse_srcs ceph_argparse.cc) -add_executable(unittest_ceph_argparse - ${unittest_ceph_argparse_srcs} +add_executable(unittest_ceph_argparse EXCLUDE_FROM_ALL + ceph_argparse.cc $ ) +add_test(unittest_ceph_argparse unittest_ceph_argparse) +add_dependencies(check unittest_ceph_argparse) target_link_libraries(unittest_ceph_argparse global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_ceph_argparse PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_ceph_compatset -set(unittest_ceph_compatset_srcs ceph_compatset.cc) -add_executable(unittest_ceph_compatset - ${unittest_ceph_compatset_srcs} +add_executable(unittest_ceph_compatset EXCLUDE_FROM_ALL + ceph_compatset.cc $ ) +add_test(unittest_ceph_compatset unittest_ceph_compatset) +add_dependencies(check unittest_ceph_compatset) target_link_libraries(unittest_ceph_compatset global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_ceph_compatset PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_osd_types -set(unittest_osd_types_srcs osd/types.cc) -add_executable(unittest_osd_types - ${unittest_osd_types_srcs} +# unittest_mds_types +add_executable(unittest_mds_types EXCLUDE_FROM_ALL + fs/mds_types.cc $ ) +add_test(unittest_mds_types unittest_mds_types) +add_dependencies(check unittest_mds_types) +target_link_libraries(unittest_mds_types global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_mds_types PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) + +# unittest_osd_types +add_executable(unittest_osd_types EXCLUDE_FROM_ALL + osd/types.cc + $ + ) +add_test(unittest_osd_types unittest_osd_types) +add_dependencies(check unittest_osd_types) target_link_libraries(unittest_osd_types global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_osd_types PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_gather -set(unittest_gather_srcs gather.cc) -add_executable(unittest_gather - ${unittest_gather_srcs} +# unittest_lru +add_executable(unittest_lru EXCLUDE_FROM_ALL + common/test_lru.cc $ ) +add_test(unittest_lru unittest_lru) +add_dependencies(check unittest_lru) +target_link_libraries(unittest_lru global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_lru PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_io_priority +add_executable(unittest_io_priority EXCLUDE_FROM_ALL + common/test_io_priority.cc + $ + ) +add_test(unittest_io_priority unittest_io_priority) +add_dependencies(check unittest_io_priority) +target_link_libraries(unittest_io_priority global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_io_priority PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_gather +add_executable(unittest_gather EXCLUDE_FROM_ALL + gather.cc + $ + ) +add_test(unittest_gather unittest_gather) +add_dependencies(check unittest_gather) target_link_libraries(unittest_gather global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_gather PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # run_cmd -set(unittest_run_cmd_srcs run_cmd.cc) -add_executable(unittest_run_cmd - ${unittest_run_cmd_srcs} +add_executable(unittest_run_cmd EXCLUDE_FROM_ALL + run_cmd.cc $ ) +add_test(unittest_run_cmd unittest_run_cmd) +add_dependencies(check unittest_run_cmd) target_link_libraries(unittest_run_cmd global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_run_cmd PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # signals -set(unittest_signals_srcs signals.cc) -add_executable(unittest_signals - ${unittest_signals_srcs} +add_executable(unittest_signals EXCLUDE_FROM_ALL + signals.cc $ ) +add_test(unittest_signals unittest_signals) +add_dependencies(check unittest_signals) target_link_libraries(unittest_signals global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_signals PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_simple_spin -set(unittest_simple_spin_srcs simple_spin.cc) -add_executable(unittest_simple_spin - ${unittest_simple_spin_srcs} +add_executable(unittest_simple_spin EXCLUDE_FROM_ALL + simple_spin.cc $ ) +add_test(unittest_simple_spin unittest_simple_spin) +add_dependencies(check unittest_simple_spin) target_link_libraries(unittest_simple_spin global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_simple_spin PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_librados -set(unittest_librados_srcs librados/librados.cc) -add_executable(unittest_librados - ${unittest_librados_srcs} +# unittest_bufferlist +add_executable(unittest_bufferlist EXCLUDE_FROM_ALL + bufferlist.cc $ ) +add_test(unittest_bufferlist unittest_bufferlist) +add_dependencies(check unittest_bufferlist) +target_link_libraries(unittest_bufferlist global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_bufferlist PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_xlist +add_executable(unittest_xlist EXCLUDE_FROM_ALL + test_xlist.cc + $ + ) +add_test(unittest_xlist unittest_xlist) +add_dependencies(check unittest_xlist) +target_link_libraries(unittest_xlist common ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_xlist PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_librados +add_executable(unittest_librados EXCLUDE_FROM_ALL + librados/librados.cc + $ + ) +add_test(unittest_librados unittest_librados) +add_dependencies(check unittest_librados) target_link_libraries(unittest_librados librados global @@ -591,126 +825,183 @@ target_link_libraries(unittest_librados set_target_properties(unittest_librados PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_bufferlist -set(unittest_bufferlist_srcs bufferlist.cc) -add_executable(unittest_bufferlist - ${unittest_bufferlist_srcs} +# unittest_crc32c +add_executable(unittest_crc32c EXCLUDE_FROM_ALL + common/test_crc32c.cc $ ) -target_link_libraries(unittest_bufferlist global ${CMAKE_DL_LIBS} - ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) -set_target_properties(unittest_bufferlist PROPERTIES COMPILE_FLAGS - ${UNITTEST_CXX_FLAGS}) - -# unittest_crc32 -set(unittest_crc32_srcs common/test_crc32c.cc) -add_executable(unittest_crc32 - ${unittest_crc32_srcs} - $ - ) -target_link_libraries(unittest_crc32 global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} +add_test(unittest_crc32c unittest_crc32c) +add_dependencies(check unittest_crc32c) +target_link_libraries(unittest_crc32c global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) -set_target_properties(unittest_crc32 PROPERTIES COMPILE_FLAGS +set_target_properties(unittest_crc32c PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_arch -set(unittest_arch_srcs test_arch.cc) -add_executable(unittest_arch - ${unittest_arch_srcs} +add_executable(unittest_arch EXCLUDE_FROM_ALL + test_arch.cc $ ) +add_test(unittest_arch unittest_arch) +add_dependencies(check unittest_arch) target_link_libraries(unittest_arch global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_arch PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_crypto_init -set(unittest_crypto_init_srcs crypto_init.cc) -add_executable(unittest_crypto_init - ${unittest_crypto_init_srcs} +# unittest_crypto +add_executable(unittest_crypto + crypto.cc $ ) +add_test(unittest_crypto unittest_crypto) +add_dependencies(check unittest_crypto) +target_link_libraries(unittest_crypto global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_crypto PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_crypto_init +add_executable(unittest_crypto_init EXCLUDE_FROM_ALL + crypto_init.cc + $ + ) +add_test(unittest_crypto_init unittest_crypto_init) +add_dependencies(check unittest_crypto_init) target_link_libraries(unittest_crypto_init global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_crypto_init PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_perf_counters -set(unittest_perf_counters_srcs perf_counters.cc) -add_executable(unittest_perf_counters - ${unittest_perf_counters_srcs} +add_executable(unittest_perf_counters EXCLUDE_FROM_ALL + perf_counters.cc $ ) +add_test(unittest_perf_counters unittest_perf_counters) +add_dependencies(check unittest_perf_counters) target_link_libraries(unittest_perf_counters global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_perf_counters PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_admin_socket -set(unittest_admin_socket_srcs admin_socket.cc) -add_executable(unittest_admin_socket - ${unittest_admin_socket_srcs} +add_executable(unittest_admin_socket EXCLUDE_FROM_ALL + admin_socket.cc $ ) +add_test(unittest_admin_socket unittest_admin_socket) +add_dependencies(check unittest_admin_socket) target_link_libraries(unittest_admin_socket global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_admin_socket PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_ceph_crypto -set(unittest_ceph_crypto_srcs ceph_crypto.cc) -add_executable(unittest_ceph_crypto - ${unittest_ceph_crypto_srcs} +add_executable(unittest_ceph_crypto EXCLUDE_FROM_ALL + ceph_crypto.cc $ ) +add_test(unittest_ceph_crypto unittest_ceph_crypto) +add_dependencies(check unittest_ceph_crypto) target_link_libraries(unittest_ceph_crypto global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_ceph_crypto PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_utf8 -set(unittest_utf8_srcs utf8.cc) -add_executable(unittest_utf8 - ${unittest_utf8_srcs} +add_executable(unittest_utf8 EXCLUDE_FROM_ALL + utf8.cc $ ) +add_test(unittest_utf8 unittest_utf8) +add_dependencies(check unittest_utf8) target_link_libraries(unittest_utf8 global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_utf8 PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_mime -set(unittest_mime_srcs mime.cc) -add_executable(unittest_mime - ${unittest_mime_srcs} +add_executable(unittest_mime EXCLUDE_FROM_ALL + mime.cc $ ) +add_test(unittest_mime unittest_mime) +add_dependencies(check unittest_mime) target_link_libraries(unittest_mime global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_mime PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_escape -set(unittest_escape_srcs escape.cc) -add_executable(unittest_escape - ${unittest_escape_srcs} +add_executable(unittest_escape EXCLUDE_FROM_ALL + escape.cc $ ) +add_test(unittest_escape unittest_escape) +add_dependencies(check unittest_escape) target_link_libraries(unittest_escape global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_escape PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_chain_xattr -set(unittest_chain_xattr_srcs - objectstore/chain_xattr.cc +# unittest_strtol +add_executable(unittest_strtol EXCLUDE_FROM_ALL + strtol.cc + $ ) -add_executable(unittest_chain_xattr - ${unittest_chain_xattr_srcs} +add_test(unittest_strtol unittest_strtol) +add_dependencies(check unittest_strtol) +target_link_libraries(unittest_strtol global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_strtol PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_confutils +add_executable(unittest_confutils EXCLUDE_FROM_ALL + confutils.cc + $ + ) +add_test(unittest_confutils unittest_confutils) +add_dependencies(check unittest_confutils) +target_link_libraries(unittest_confutils global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_confutils PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_config +add_executable(unittest_config EXCLUDE_FROM_ALL + common/test_config.cc + $ + ) +add_test(unittest_config unittest_config) +add_dependencies(check unittest_config) +target_link_libraries(unittest_config global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_config PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_context +add_executable(unittest_context EXCLUDE_FROM_ALL + common/test_context.cc + $ + ) +add_test(unittest_context unittest_context) +add_dependencies(check unittest_context) +target_link_libraries(unittest_context global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_context PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_chain_xattr +add_executable(unittest_chain_xattr EXCLUDE_FROM_ALL + objectstore/chain_xattr.cc $ ) set_target_properties(unittest_chain_xattr PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) +add_test(unittest_chain_xattr unittest_chain_xattr) +add_dependencies(check unittest_chain_xattr) target_link_libraries(unittest_chain_xattr os global @@ -718,57 +1009,28 @@ target_link_libraries(unittest_chain_xattr ${TCMALLOC_LIBS} ${UNITTEST_LIBS} ) - -# unittest_strtol -set(unittest_strtol_srcs strtol.cc) -add_executable(unittest_strtol - ${unittest_strtol_srcs} - $ - ) -target_link_libraries(unittest_strtol global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} - ${UNITTEST_LIBS}) -set_target_properties(unittest_strtol PROPERTIES COMPILE_FLAGS +set_target_properties(unittest_chain_xattr PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_confutils -set(unittest_confutils_srcs confutils.cc) -add_executable(unittest_confutils - ${unittest_confutils_srcs} +# unittest_safe_io +add_executable(unittest_safe_io EXCLUDE_FROM_ALL + common/test_safe_io.cc $ ) -target_link_libraries(unittest_confutils global ${CMAKE_DL_LIBS} +add_test(unittest_safe_io unittest_safe_io) +add_dependencies(check unittest_safe_io) +target_link_libraries(unittest_safe_io global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) -set_target_properties(unittest_confutils PROPERTIES COMPILE_FLAGS - ${UNITTEST_CXX_FLAGS}) - -# unittest_config -set(unittest_config_srcs common/test_config.cc) -add_executable(unittest_config - ${unittest_config_srcs} - $ - ) -target_link_libraries(unittest_config global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} - ${UNITTEST_LIBS}) -set_target_properties(unittest_config PROPERTIES COMPILE_FLAGS - ${UNITTEST_CXX_FLAGS}) - -# unittest_context -set(unittest_context_srcs common/test_context.cc) -add_executable(unittest_context - ${unittest_context_srcs} - $ - ) -target_link_libraries(unittest_context global ${CMAKE_DL_LIBS} - ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) -set_target_properties(unittest_context PROPERTIES COMPILE_FLAGS +set_target_properties(unittest_safe_io PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_heartbeatmap -set(unittest_heartbeatmap_srcs heartbeat_map.cc) -add_executable(unittest_heartbeatmap - ${unittest_heartbeatmap_srcs} +add_executable(unittest_heartbeatmap EXCLUDE_FROM_ALL + heartbeat_map.cc $ ) +add_test(unittest_heartbeatmap unittest_heartbeatmap) +add_dependencies(check unittest_heartbeatmap) target_link_libraries(unittest_heartbeatmap global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_heartbeatmap PROPERTIES COMPILE_FLAGS @@ -776,63 +1038,26 @@ set_target_properties(unittest_heartbeatmap PROPERTIES COMPILE_FLAGS if(${WITH_RADOSGW}) # unittest_formatter - set(unittest_formatter_srcs formatter.cc - ${CMAKE_SOURCE_DIR}/src/rgw/rgw_formats.cc) - add_executable(unittest_formatter - ${unittest_formatter_srcs} + # why does this include rgw/rgw_formats.cc...? + add_executable(unittest_formatter EXCLUDE_FROM_ALL + ${CMAKE_SOURCE_DIR}/src/rgw/rgw_formats.cc $ ) + add_test(unittest_formatter unittest_formatter) + add_dependencies(check unittest_formatter) target_link_libraries(unittest_formatter global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_formatter PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) endif(${WITH_RADOSGW}) -# unittest_libcephfs_config -set(unittest_libcephfs_config_srcs libcephfs_config.cc) -add_executable(unittest_libcephfs_config - ${unittest_libcephfs_config_srcs} - $ - ) -target_link_libraries(unittest_libcephfs_config cephfs ${CMAKE_DL_LIBS} - ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) -set_target_properties(unittest_libcephfs_config PROPERTIES COMPILE_FLAGS - ${UNITTEST_CXX_FLAGS}) - -# unittest_lfnindex -set(unittest_lfnindex_srcs os/TestLFNIndex.cc) -add_executable(unittest_lfnindex - ${unittest_lfnindex_srcs} - $ - ) -target_link_libraries(unittest_lfnindex os global ${CMAKE_DL_LIBS} - ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) -set_target_properties(unittest_lfnindex PROPERTIES COMPILE_FLAGS - ${UNITTEST_CXX_FLAGS}) - -# unittest_librados_config -set(unittest_librados_config_srcs librados/librados_config.cc) -add_executable(unittest_librados_config - ${unittest_librados_config_srcs} - $ - ) -target_link_libraries(unittest_librados_config - librados - global - ${BLKID_LIBRARIES} - ${CMAKE_DL_LIBS} - ${TCMALLOC_LIBS} - ${UNITTEST_LIBS} - ) -set_target_properties(unittest_librados_config PROPERTIES COMPILE_FLAGS - ${UNITTEST_CXX_FLAGS}) - # unittest_daemon_config -set(unittest_daemon_config_srcs daemon_config.cc) -add_executable(unittest_daemon_config - ${unittest_daemon_config_srcs} +add_executable(unittest_daemon_config EXCLUDE_FROM_ALL + daemon_config.cc $ ) +add_test(unittest_daemon_config unittest_daemon_config) +add_dependencies(check unittest_daemon_config) target_link_libraries(unittest_daemon_config common global @@ -845,58 +1070,310 @@ target_link_libraries(unittest_daemon_config set_target_properties(unittest_daemon_config PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_mon_moncap -set(unittest_mon_moncap_srcs mon/moncap.cc) -add_executable(unittest_mon_moncap - ${unittest_mon_moncap_srcs} +# unittest_libcephfs_config +add_executable(unittest_libcephfs_config EXCLUDE_FROM_ALL + libcephfs_config.cc $ ) +add_test(unittest_libcephfs_config unittest_libcephfs_config) +add_dependencies(check unittest_libcephfs_config) +target_link_libraries(unittest_libcephfs_config cephfs ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_libcephfs_config PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_lfnindex +add_executable(unittest_lfnindex EXCLUDE_FROM_ALL + os/TestLFNIndex.cc + $ + ) +add_test(unittest_lfnindex unittest_lfnindex) +add_dependencies(check unittest_lfnindex) +target_link_libraries(unittest_lfnindex os global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_lfnindex PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_librados_config +set(unittest_librados_config_srcs librados/librados_config.cc) +add_executable(unittest_librados_config EXCLUDE_FROM_ALL + ${unittest_librados_config_srcs} + $ + ) +add_test(unittest_librados_config unittest_librados_config) +add_dependencies(check unittest_librados_config) +target_link_libraries(unittest_librados_config + librados + global + ${BLKID_LIBRARIES} + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS} + ) +set_target_properties(unittest_librados_config PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_rbd_replay +add_executable(unittest_rbd_replay EXCLUDE_FROM_ALL + test_rbd_replay.cc + $ + $ +) +add_test(unittest_rbd_replay unittest_rbd_replay) +add_dependencies(check unittest_rbd_replay) +target_link_libraries(unittest_rbd_replay + librbd + librados + global + librbd_replay + librbd_replay_ios + keyutils + ${BLKID_LIBRARIES} + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS} +) +set_target_properties(unittest_rbd_replay PROPERTIES COMPILE_FLAGS +${UNITTEST_CXX_FLAGS}) + +# unittest_mon_moncap +add_executable(unittest_mon_moncap EXCLUDE_FROM_ALL + ${unittest_mon_moncap_srcs} + mon/moncap.cc + $ + ) +add_test(unittest_mon_moncap unittest_mon_moncap) +add_dependencies(check unittest_mon_moncap) target_link_libraries(unittest_mon_moncap mon global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_mon_moncap PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) +# unittest_mon_pgmap +add_executable(unittest_mon_pgmap EXCLUDE_FROM_ALL + mon/PGMap.cc + ${unittest_mon_moncap_srcs} + $ + ) +add_test(unittest_mon_pgmap unittest_mon_pgmap) +add_dependencies(check unittest_mon_pgmap) +target_link_libraries(unittest_mon_pgmap mon global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_mon_pgmap PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_ecbackend +add_executable(unittest_ecbackend EXCLUDE_FROM_ALL + osd/TestECBackend.cc + $ + ) +add_test(unittest_ecbackend unittest_ecbackend) +add_dependencies(check unittest_ecbackend) +target_link_libraries(unittest_ecbackend osd global ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_ecbackend PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_osdscrub +add_executable(unittest_osdscrub EXCLUDE_FROM_ALL + osd/TestOSDScrub.cc + $ + ) +add_test(unittest_osdscrub unittest_osdscrub) +add_dependencies(check unittest_osdscrub) +target_link_libraries(unittest_osdscrub osd global dl os mon ${CMAKE_DL_LIBS} + ${BLKID_LIBRARIES} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_osdscrub PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_pglog +add_executable(unittest_pglog EXCLUDE_FROM_ALL + osd/TestPGLog.cc + $ + ) +add_test(unittest_pglog unittest_pglog) +add_dependencies(check unittest_pglog) +target_link_libraries(unittest_pglog osd global dl ${CMAKE_DL_LIBS} + ${BLKID_LIBRARIES} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_pglog PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_hitset +add_executable(unittest_hitset EXCLUDE_FROM_ALL + osd/hitset.cc + $ + ) +add_test(unittest_hitset unittest_hitset) +add_dependencies(check unittest_hitset) +target_link_libraries(unittest_hitset osd global ${CMAKE_DL_LIBS} + ${BLKID_LIBRARIES} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_hitset PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_osd_osdcap +add_executable(unittest_osd_osdcap EXCLUDE_FROM_ALL + osd/osdcap.cc + $ +) +add_test(unittest_osd_osdcap unittest_osd_osdcap) +add_dependencies(check unittest_osd_osdcap) +target_link_libraries(unittest_osd_osdcap osd global ${CMAKE_DL_LIBS} +${BLKID_LIBRARIES} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_osd_osdcap PROPERTIES COMPILE_FLAGS +${UNITTEST_CXX_FLAGS}) + +# unittest_snap_mapper +add_executable(unittest_snap_mapper EXCLUDE_FROM_ALL + test_snap_mapper.cc + $ + ) +add_test(unittest_snap_mapper unittest_snap_mapper) +add_dependencies(check unittest_snap_mapper) +target_link_libraries(unittest_snap_mapper osd global ${CMAKE_DL_LIBS} + ${BLKID_LIBRARIES} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_snap_mapper PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +#TODO: rocksdb unittests +if(WITH_SLIBROCKSDB) +# unittest_rocksdb_option_static +add_executable(unittest_rocksdb_option_static EXCLUDE_FROM_ALL + objectstore/TestRocksdbOptionParse.cc + $ + ) +add_test(unittest_rocksdb_option_static unittest_rocksdb_option_static) +add_dependencies(check unittest_rocksdb_option_static) +target_link_libraries(unittest_rocksdb_option_static os librocksdb global ${CMAKE_DL_LIBS} + ${BLKID_LIBRARIES} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set(UNITTEST_ROCKSDB_STATIC_FLAGS "-std=gnu++11 -Irocksdb/include") +set_target_properties(unittest_rocksdb_option_static PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS} ${LIBROCKSDB_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_ROCKSDB_STATIC_FLAGS}) +endif(WITH_SLIBROCKSDB) + +if(WITH_DLIBROCKSDB) +# unittest_rocksdb_option +add_executable(unittest_rocksdb_option EXCLUDE_FROM_ALL + objectstore/TestRocksdbOptionParse.cc + $ + ) +add_test(unittest_rocksdb_option_static unittest_rocksdb_option) +add_dependencies(check unittest_rocksdb_option) +target_link_libraries(unittest_rocksdb_option os rocksdb global ${CMAKE_DL_LIBS} + ${BLKID_LIBRARIES} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set(UNITTEST_ROCKSDB_FLAGS "-std=gnu++11") +set_target_properties(unittest_rocksdb_option_static PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS} ${LIBROCKSDB_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_ROCKSDB_STATIC_FLAGS}) +endif(WITH_DLIBROCKSDB) + +# unittest_mds_authcap +add_executable(unittest_mds_authcap EXCLUDE_FROM_ALL + mds/TestMDSAuthCaps.cc + $ + ) +add_test(unittest_mds_authcap unittest_mds_authcap) +add_dependencies(check unittest_mds_authcap) +target_link_libraries(unittest_mds_authcap mds global ${CMAKE_DL_LIBS} + ${BLKID_LIBRARIES} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +set_target_properties(unittest_mds_authcap PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + # unittest_ipaddr -add_executable(unittest_ipaddr test_ipaddr.cc) +add_executable(unittest_ipaddr EXCLUDE_FROM_ALL + test_ipaddr.cc) +add_test(unittest_ipaddr unittest_ipaddr) +add_dependencies(check unittest_ipaddr) target_link_libraries(unittest_ipaddr mon global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_ipaddr PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_texttable -set(unittest_texttable_srcs +add_executable(unittest_texttable EXCLUDE_FROM_ALL test_texttable.cc ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc - ) -add_executable(unittest_texttable - ${unittest_texttable_srcs} $ ) +add_test(unittest_texttable unittest_texttable) +add_dependencies(check unittest_texttable) target_link_libraries(unittest_texttable mon global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) set_target_properties(unittest_texttable PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_on_exit -set(unittest_on_exit_srcs on_exit.cc) -add_executable(unittest_on_exit - ${unittest_on_exit_srcs} +add_executable(unittest_on_exit EXCLUDE_FROM_ALL + on_exit.cc $ ) +add_test(unittest_on_exit unittest_on_exit) +add_dependencies(check unittest_on_exit) target_link_libraries(unittest_on_exit global ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS} ${UNITTEST_LIBS}) +add_test(unittest_on_exit unittest_on_exit) +add_dependencies(check unittest_on_exit) set_target_properties(unittest_on_exit PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -# unittest_subprocess -set(unittest_subprocess_srcs test_subprocess.cc) -add_executable(unittest_subprocess - ${unittest_subprocess_srcs} +# unittest_readahead +add_executable(unittest_readahead EXCLUDE_FROM_ALL + common/Readahead.cc $ ) +add_test(unittest_readahead unittest_readahead) +add_dependencies(check unittest_readahead) +target_link_libraries(unittest_readahead + global + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +add_test(unittest_readahead unittest_readahead) +add_dependencies(check unittest_readahead) +set_target_properties(unittest_readahead PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_tableformatter +add_executable(unittest_tableformatter EXCLUDE_FROM_ALL + common/test_tableformatter.cc + $ + ) +add_test(unittest_tableformatter unittest_tableformatter) +add_dependencies(check unittest_tableformatter) +target_link_libraries(unittest_tableformatter + global + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +add_test(unittest_tableformatter unittest_tableformatter) +add_dependencies(check unittest_tableformatter) +set_target_properties(unittest_tableformatter PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_bit_vector +add_executable(unittest_bit_vector EXCLUDE_FROM_ALL + common/test_bit_vector.cc + $ + ) +add_test(unittest_bit_vector unittest_bit_vector) +add_dependencies(check unittest_bit_vector) +target_link_libraries(unittest_bit_vector + global + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +add_test(unittest_bit_vector unittest_bit_vector) +add_dependencies(check unittest_bit_vector) +set_target_properties(unittest_bit_vector PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_subprocess +add_executable(unittest_subprocess EXCLUDE_FROM_ALL + test_subprocess.cc + $ + ) +add_dependencies(check unittest_subprocess) target_link_libraries(unittest_subprocess global ${CMAKE_DL_LIBS} @@ -906,11 +1383,31 @@ set_target_properties(unittest_subprocess PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) # unittest_pageset -add_executable(unittest_pageset test_pageset.cc) +add_executable(unittest_pageset EXCLUDE_FROM_ALL test_pageset.cc) +add_test(unittest_subprocess unittest_subprocess) +add_dependencies(check unittest_subprocess) target_link_libraries(unittest_pageset ${UNITTEST_LIBS}) set_target_properties(unittest_pageset PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) +# unittest_async_compressor +add_executable(unittest_async_compressor EXCLUDE_FROM_ALL + common/test_async_compressor.cc + $ +) +add_dependencies(check unittest_async_compressor) +target_link_libraries(unittest_async_compressor + global + compressor + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_async_compressor PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +add_subdirectory(erasure-code EXCLUDE_FROM_ALL) +#make check ends here + if(${WITH_RADOSGW}) # test_cors set(test_cors_srcs test_cors.cc) @@ -1059,7 +1556,8 @@ add_executable(multi_stress_watch target_link_libraries(multi_stress_watch librados global radostest ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS}) -add_executable(test_librbd +# unittest_librbd +add_executable(unittest_librbd EXCLUDE_FROM_ALL librbd/test_librbd.cc librbd/test_fixture.cc librbd/test_ImageWatcher.cc @@ -1070,9 +1568,10 @@ add_executable(test_librbd ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc ${CMAKE_SOURCE_DIR}/src/common/secret.c ) -set_target_properties(test_librbd PROPERTIES COMPILE_FLAGS +add_dependencies(check unittest_librbd) +set_target_properties(unittest_librbd PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -target_link_libraries(test_librbd +target_link_libraries(unittest_librbd librbd librados ${UNITTEST_LIBS} diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt new file mode 100644 index 00000000000..3ce5641420a --- /dev/null +++ b/src/test/erasure-code/CMakeLists.txt @@ -0,0 +1,264 @@ +# make check tests for erasure-code directory +# unittest_erasure_code_plugin +add_executable(unittest_erasure_code_plugin EXCLUDE_FROM_ALL + ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc + TestErasureCodePlugin.cc + ) +add_test(unittest_erasure_code_plugin unittest_erasure_code_plugin) +add_dependencies(check unittest_erasure_code_plugin) +target_link_libraries(unittest_erasure_code_plugin + global + osd + common + dl + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_plugin PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_erasure_code +add_executable(unittest_erasure_code EXCLUDE_FROM_ALL + ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc + TestErasureCode.cc + ) +add_test(unittest_erasure_code unittest_erasure_code) +add_dependencies(check unittest_erasure_code) +target_link_libraries(unittest_erasure_code + global + osd + common + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_erasure_code_jerasure_plugin +add_executable(unittest_erasure_code_jerasure_plugin EXCLUDE_FROM_ALL + TestErasureCodePluginJerasure.cc + ) +add_test(unittest_erasure_code_jerasure_plugin unittest_erasure_code_jerasure_plugin) +add_dependencies(check unittest_erasure_code_jerasure_plugin) +target_link_libraries(unittest_erasure_code_jerasure_plugin + global + osd + common + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_jerasure_plugin PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +if(HAVE_BETTER_YASM_ELF64) + +#unittest_erasure_code_isa +add_executable(unittest_erasure_code_isa EXCLUDE_FROM_ALL + ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc + TestErasureCodeIsa.cc +) +add_test(unittest_erasure_code_isa unittest_erasure_code_isa) +add_dependencies(check unittest_erasure_code_isa) +target_link_libraries(unittest_erasure_code_isa + global + osd + common + ec_isa + erasure_code + dl + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_isa PROPERTIES COMPILE_FLAGS +${UNITTEST_CXX_FLAGS}) + +#unittest_erasure_code_plugin_isa +add_executable(unittest_erasure_code_plugin_isa EXCLUDE_FROM_ALL + ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc + TestErasureCodePluginIsa.cc +) +add_test(unittest_erasure_code_plugin_isa unittest_erasure_code_plugin_isa) +add_dependencies(check unittest_erasure_code_plugin_isa) +target_link_libraries(unittest_erasure_code_plugin_isa + global + osd + common + ec_isa + crush + dl + erasure_code + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_plugin_isa PROPERTIES COMPILE_FLAGS +${UNITTEST_CXX_FLAGS}) +endif(HAVE_BETTER_YASM_ELF64) + +# unittest_erasure_code_lrc +add_executable(unittest_erasure_code_lrc EXCLUDE_FROM_ALL + TestErasureCodeLrc.cc + ${lrc_srcs} + ) +add_test(unittest_erasure_code_lrc unittest_erasure_code_lrc) +add_dependencies(check unittest_erasure_code_lrc) +target_link_libraries(unittest_erasure_code_lrc + global + osd + dl + ec_lrc + common + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_lrc PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_erasure_code_plugin_lrc +add_executable(unittest_erasure_code_plugin_lrc EXCLUDE_FROM_ALL + TestErasureCodePluginLrc.cc + ) +add_test(unittest_erasure_code_plugin_lrc unittest_erasure_code_plugin_lrc) +add_dependencies(check unittest_erasure_code_plugin_lrc) +target_link_libraries(unittest_erasure_code_plugin_lrc + global + osd + dl + common + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_plugin_lrc PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_erasure_code_plugin_shec +add_executable(unittest_erasure_code_plugin_shec EXCLUDE_FROM_ALL + TestErasureCodePluginShec.cc + ) +add_test(unittest_erasure_code_plugin_shec unittest_erasure_code_plugin_shec) +add_dependencies(check unittest_erasure_code_plugin_shec) +target_link_libraries(unittest_erasure_code_plugin_shec + global + osd + dl + common + ec_shec_generic + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_plugin_shec PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_erasure_code_example +add_executable(unittest_erasure_code_example EXCLUDE_FROM_ALL + ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc + TestErasureCodeExample.cc +) +add_test(unittest_erasure_code_example unittest_erasure_code_example) +add_dependencies(check unittest_erasure_code_example) +target_link_libraries(unittest_erasure_code_example + global + osd + dl + common + erasure_code + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_example PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/include) +include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code//jerasure/gf-complete/include) + +# unittest_erasure_code_jerasure +add_executable(unittest_erasure_code_jerasure EXCLUDE_FROM_ALL + TestErasureCodeJerasure.cc + ) +add_test(unittest_erasure_code_jerasure unittest_erasure_code_jerasure) +add_dependencies(check unittest_erasure_code_jerasure) +target_link_libraries(unittest_erasure_code_jerasure + global + osd + common + ec_jerasure_generic + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_jerasure PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure) +include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/shec) + +# unittest_erasure_code_shec +add_executable(unittest_erasure_code_shec + TestErasureCodeShec.cc + ) +add_test(unittest_erasure_code_shec unittest_erasure_code_shec) +add_dependencies(check unittest_erasure_code_shec) +target_link_libraries(unittest_erasure_code_shec + global + osd + dl + common + ec_shec_generic + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_shec PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_erasure_code_shec_all +add_executable(unittest_erasure_code_shec_all EXCLUDE_FROM_ALL + TestErasureCodeShec_all.cc + ) +add_test(unittest_erasure_code_shec_all unittest_erasure_code_shec_all) +add_dependencies(check unittest_erasure_code_shec_all) +target_link_libraries(unittest_erasure_code_shec_all + global + osd + dl + common + ec_shec_generic + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_shec_all PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_erasure_code_shec_thread +add_executable(unittest_erasure_code_shec_thread EXCLUDE_FROM_ALL + TestErasureCodeShec_thread.cc + ) +add_test(unittest_erasure_code_shec_thread unittest_erasure_code_shec_thread) +add_dependencies(check unittest_erasure_code_shec_thread) +target_link_libraries(unittest_erasure_code_shec_thread + global + osd + dl + common + ec_shec_generic + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_shec_thread PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) + +# unittest_erasure_code_shec_arguments +add_executable(unittest_erasure_code_shec_arguments EXCLUDE_FROM_ALL + TestErasureCodeShec_arguments.cc + ) +add_test(unittest_erasure_code_shec_arguments unittest_erasure_code_shec_arguments) +add_dependencies(check unittest_erasure_code_shec_arguments) +target_link_libraries(unittest_erasure_code_shec_arguments + global + osd + dl + common + ec_shec_generic + ${CMAKE_DL_LIBS} + ${TCMALLOC_LIBS} + ${UNITTEST_LIBS}) +set_target_properties(unittest_erasure_code_shec_arguments PROPERTIES COMPILE_FLAGS + ${UNITTEST_CXX_FLAGS}) +