Update geode-native integration test jobs to run in parallel 11/12311/2
authorMario Salazar de Torres <mario.salazar.de.torres@est.tech>
Wed, 9 Feb 2022 09:28:29 +0000 (10:28 +0100)
committerMario Salazar de Torres <mario.salazar.de.torres@est.tech>
Wed, 9 Feb 2022 09:49:48 +0000 (09:49 +0000)
 - Changed both old and new ITs jobs so they are executed in parallel.
   The number of tests ran in parallel is equivalent to the number of
   cores divided by 4, meaning that in average, each test will have
   available 4 cores in computing terms.

Change-Id: I8eaeccb45ae41de262ac3c6be5622905b454cf70

jjb/geode-native/apache-geode-native-test/integrationtest.sh
jjb/geode-native/apache-geode-native-test/new_integrationtest.sh

index d6691c5969e329065ef97e1831f0800e1686d898..f4ed1153b4b80347b346322f310ffab4a32cd874 100755 (executable)
@@ -24,10 +24,16 @@ set -o pipefail
 GEODE_NATIVE_DIR="${WORKSPACE}/geode-native"
 SOURCE_DIR="/geode-native"
 
-DOCKER_ARGS="--rm --volume=${GEODE_NATIVE_DIR}:${SOURCE_DIR}"
+CTEST_TIMEOUT=2000
+CTEST_JOBS=$(( $(nproc) / 4 ))
+CTEST_ARGS="--output-on-failure --repeat until-pass:4 --schedule-random"
+
+DOCKER_ARGS="--rm --volume=${GEODE_NATIVE_DIR}:${SOURCE_DIR}\
+  -e LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libSegFault.so"
 COMMAND="echo -e '\n*** Build ***\n' && mkdir build && cd build &&\
   cmake ${SOURCE_DIR} -DCMAKE_CXX_FLAGS=-stdlib=libc++ -DCMAKE_CXX_CLANG_TIDY=clang-tidy &&\
   cmake --build . -- -j${JOBS} && echo -e '\n*** Old Integration Tests ***\n' &&\
-  cd /build/cppcache/integration-test && ctest --timeout 2000 -L STABLE -C Release -j1"
+  cd /build/cppcache/integration-test &&\
+  ctest -L STABLE -C Release -j${CTEST_JOBS} --timeout ${CTEST_TIMEOUT} ${CTEST_ARGS}"
 
 docker run ${DOCKER_ARGS} "${GEODE_NATIVE_DOCKER_IMAGE}" bash -c "${COMMAND}"
index ee159ae0a4e9cb6cece17cfde5cef8df6c0cc731..c587f0048d2c7b00f646f5c819e503fb108b170e 100755 (executable)
@@ -24,11 +24,17 @@ set -o pipefail
 GEODE_NATIVE_DIR="${WORKSPACE}/geode-native"
 SOURCE_DIR="/geode-native"
 
-DOCKER_ARGS="--rm --volume=${GEODE_NATIVE_DIR}:${SOURCE_DIR}"
+CTEST_TIMEOUT=600
+CTEST_JOBS=$(( $(nproc) / 4 ))
+CTEST_ARGS="--output-on-failure --repeat until-pass:4 --schedule-random"
+
+DOCKER_ARGS="--rm --volume=${GEODE_NATIVE_DIR}:${SOURCE_DIR}\
+  -e LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libSegFault.so"
 COMMAND="echo -e '\n*** Build ***\n' && mkdir build && cd build &&\
   cmake ${SOURCE_DIR} -DCMAKE_CXX_FLAGS=-stdlib=libc++ \\
   -DCMAKE_CXX_CLANG_TIDY=clang-tidy -DWITH_IPV6=ON &&\
   cmake --build . -- -j${JOBS} && echo -e '\n*** New Integration Tests ***\n' &&\
-  cd /build/cppcache/integration/test && ctest -j1 --extra-verbose"
+  cd /build/cppcache/integration/test &&\
+  ctest -j${CTEST_JOBS} --timeout ${CTEST_TIMEOUT} ${CTEST_ARGS}"
 
 docker run ${DOCKER_ARGS} "${GEODE_NATIVE_DOCKER_IMAGE}" bash -c "${COMMAND}"