cmake: check_TESTPROGRAMS tests running

Make check working, accept rocksdb tests. Clean up coming.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
This commit is contained in:
Ali Maredia 2015-08-17 16:26:47 -04:00
parent 6e7fafc9d2
commit bf82c65e33
7 changed files with 994 additions and 133 deletions

View File

@ -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

View File

@ -179,6 +179,8 @@ set(crush_srcs
crush/CrushCompiler.cc
crush/CrushTester.cc)
add_library(crush STATIC ${crush_srcs})
add_subdirectory(json_spirit)
set(xio_common_srcs)
@ -852,6 +854,27 @@ 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/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)
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

View File

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

View File

@ -3,46 +3,46 @@
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/ec_base.c
isa-l/erasure_code/gf_2vect_dot_prod_sse.asm.s
isa-l/erasure_code/gf_3vect_dot_prod_sse.asm.s
isa-l/erasure_code/gf_4vect_dot_prod_sse.asm.s
isa-l/erasure_code/gf_5vect_dot_prod_sse.asm.s
isa-l/erasure_code/gf_6vect_dot_prod_sse.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_2vect_mad_avx2.asm.s
isa-l/erasure_code/gf_3vect_mad_avx2.asm.s
isa-l/erasure_code/gf_4vect_mad_avx2.asm.s
isa-l/erasure_code/gf_5vect_mad_avx2.asm.s
isa-l/erasure_code/gf_6vect_mad_avx2.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

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,242 @@
# 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
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(UNITTEST_ERASURE_CODE_JERASURE_CXXFLAGS "-Ierasure-code/jerasure/gf-complete/include -Ierasure-code/jerasure/jerasure/include")
set_target_properties(unittest_erasure_code_jerasure 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})
#not sure how to check for YASM_EFL64 right now, setting it true
set(WITH_BETTER_YASM_ELF64 1)
if(WITH_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(WITH_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_shec
add_executable(unittest_erasure_code_shec EXCLUDE_FROM_ALL
TestErasureCodePluginShec.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
${CMAKE_DL_LIBS}
${TCMALLOC_LIBS}
${UNITTEST_LIBS})
set_target_properties(unittest_erasure_code_shec 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})
# 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})