From: Kefu Chai Date: Wed, 13 Jul 2016 13:14:30 +0000 (+0800) Subject: cmake: add a "tests" target to build tests X-Git-Tag: ses5-milestone5~376^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ce5724effb270b0f57369fd1e9bd82d7cc872676;p=ceph.git cmake: add a "tests" target to build tests please note "make test" is used by cmake to run tests, so we cannot just repurpose it to *build* them. * AddCephTest.cmake: depends on "tests" * CMakeLists.txt: let "check" depend on "tests" * src/CMakeLists.txt: update the run-tox tests * run-make-check.sh: use "make tests" and "ctest" instead of "make check" * ceph-detect-init/CMakeLists.txt: let "tests" depend on "ceph-detect-init" * ceph-disk/CMakeLists.txt: let "tests" depend on "ceph-disk" Signed-off-by: Kefu Chai --- diff --git a/CMakeLists.txt b/CMakeLists.txt index a4c5cb826b43..95e41fd6e735 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -382,9 +382,13 @@ set(OperatingSystem "Mac OS X") endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # enables testing and creates Make check command +add_custom_target(tests + COMMENT "Building tests") enable_testing() set(CMAKE_CTEST_COMMAND ctest) -add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) +add_custom_target(check + COMMAND ${CMAKE_CTEST_COMMAND} + DEPENDS tests) add_subdirectory(src) diff --git a/cmake/modules/AddCephTest.cmake b/cmake/modules/AddCephTest.cmake index ab59c45d9b0f..79fdb0c45f6a 100644 --- a/cmake/modules/AddCephTest.cmake +++ b/cmake/modules/AddCephTest.cmake @@ -3,8 +3,8 @@ #adds makes target/script into a test, test to check target, sets necessary environment variables function(add_ceph_test test_name test_path) add_test(NAME ${test_name} COMMAND ${test_path}) - add_dependencies(check ${test_name}) - set_property(TEST + add_dependencies(tests ${test_name}) + set_property(TEST ${test_name} PROPERTY ENVIRONMENT CEPH_ROOT=${CMAKE_SOURCE_DIR} diff --git a/run-make-check.sh b/run-make-check.sh index 158f60d90e9e..16c0672730f8 100755 --- a/run-make-check.sh +++ b/run-make-check.sh @@ -68,8 +68,8 @@ function run() { if test -x ./do_cmake.sh ; then $DRY_RUN ./do_cmake.sh || return 1 cd build - export CTEST_OUTPUT_ON_FAILURE=1 CTEST_PARALLEL_LEVEL=$(get_processors) - $DRY_RUN make $BUILD_MAKEOPTS check || return 1 + $DRY_RUN make $BUILD_MAKEOPTS tests || return 1 + $DRY_RUN ctest $CHECK_MAKEOPTS --output-on-failure || return 1 else $DRY_RUN ./autogen.sh || return 1 $DRY_RUN ./configure "$@" --with-librocksdb-static --disable-static --with-radosgw --with-debug --without-lttng \ diff --git a/src/ceph-detect-init/CMakeLists.txt b/src/ceph-detect-init/CMakeLists.txt index a3a94c888879..fdddd9c334a3 100644 --- a/src/ceph-detect-init/CMakeLists.txt +++ b/src/ceph-detect-init/CMakeLists.txt @@ -6,6 +6,7 @@ add_custom_target(ceph-detect-init ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --disable-pip-version-check --no-index --use-wheel --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e . WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-detect-init COMMENT "ceph-detect-init is being created") +add_dependencies(tests ceph-detect-init) include(Distutils) distutils_install_module(ceph_detect_init) diff --git a/src/ceph-disk/CMakeLists.txt b/src/ceph-disk/CMakeLists.txt index 5db62337eaa7..0f8df3080959 100644 --- a/src/ceph-disk/CMakeLists.txt +++ b/src/ceph-disk/CMakeLists.txt @@ -6,6 +6,7 @@ add_custom_target(ceph-disk ${CEPH_DISK_VIRTUALENV}/bin/pip install --disable-pip-version-check --no-index --use-wheel --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e . WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-disk COMMENT "ceph-disk is being created") +add_dependencies(tests ceph-disk) include(Distutils) distutils_install_module(ceph_disk diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index fca52a7d2105..71f656133240 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -478,7 +478,7 @@ target_link_libraries(ceph_test_get_blkdev_size #make check starts here #following dependencies are run inside make check unit tests -add_dependencies(check +add_dependencies(tests ceph-mon ceph ceph-authtool