- 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
GEODE_NATIVE_DIR="${WORKSPACE}/geode-native"
SOURCE_DIR="/geode-native"
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' &&\
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}"
docker run ${DOCKER_ARGS} "${GEODE_NATIVE_DOCKER_IMAGE}" bash -c "${COMMAND}"
GEODE_NATIVE_DIR="${WORKSPACE}/geode-native"
SOURCE_DIR="/geode-native"
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' &&\
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}"
docker run ${DOCKER_ARGS} "${GEODE_NATIVE_DOCKER_IMAGE}" bash -c "${COMMAND}"