Update geode-native integration test jobs to run in parallel
[infra/cicd.git] / jjb / geode-native / apache-geode-native-test / 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}"