From e2f292983852f486c1eb56f0f83f8f29d47b96dd Mon Sep 17 00:00:00 2001 From: Willem Jan Withagen Date: Mon, 2 Sep 2019 16:28:23 +0200 Subject: [PATCH] test/librbd: allow parallel runs of run-rbd-unit-tests Running all tests sequential makes it the longest test of `make check`, with each partial test taking around 500 sec. Running 6 tests thus takes almost an hour. Cut this down if ctest runs tests in parallel Default behaviour of src/test/run-rbd-unit-tests.sh is kept: Without parameters the tests are run in sequence To run unitttest_librbd with RBD_FEATURES, use `N` as parameter Signed-off-by: Willem Jan Withagen --- src/test/CMakeLists.txt | 9 ++++++++- src/test/run-rbd-unit-tests.sh | 14 +++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 08e8166325b9..5ed3b220ff61 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -527,7 +527,14 @@ if(WITH_FIO OR WITH_SYSTEM_FIO) endif() if(WITH_RBD) - add_ceph_test(run-rbd-unit-tests.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh) + # Run rbd-unit-tests separate so they an run in parallel + # For values see: src/include/rbd/features.h + add_ceph_test(run-rbd-unit-tests-N.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh N) + add_ceph_test(run-rbd-unit-tests-0.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 0) + add_ceph_test(run-rbd-unit-tests-1.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 1) + add_ceph_test(run-rbd-unit-tests-61.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 61) + add_ceph_test(run-rbd-unit-tests-109.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 109) + add_ceph_test(run-rbd-unit-tests-127.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh 127) if(FREEBSD) add_ceph_test(rbd-ggate.sh ${CMAKE_CURRENT_SOURCE_DIR}/rbd-ggate.sh) endif(FREEBSD) diff --git a/src/test/run-rbd-unit-tests.sh b/src/test/run-rbd-unit-tests.sh index 7c856d609841..8c5a29ee6334 100755 --- a/src/test/run-rbd-unit-tests.sh +++ b/src/test/run-rbd-unit-tests.sh @@ -6,10 +6,18 @@ set -ex source $(dirname $0)/detect-build-env-vars.sh PATH="$CEPH_BIN:$PATH" -unset RBD_FEATURES -unittest_librbd +if [ $# = 0 ]; then + # mimic the old behaviour + TESTS='0 1 61 109 127' + unset RBD_FEATURES; unittest_librbd +elif [ $# = 1 -a "${1}" = N ] ; then + # new style no feature request + unset RBD_FEATURES; unittest_librbd +else + TESTS="$*" +fi -for i in 0 1 61 109 127 +for i in ${TESTS} do RBD_FEATURES=$i unittest_librbd done -- 2.47.3