#!/bin/sh # Enable test coverage recording. export CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage" export CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage" set_opt() { opts="$opts -D$1="`expr ON \& \( $i % 2 \) \| OFF` set +e # result can be 0 i=`expr $i / 2` set -e } if perl -e ' use Socket qw(PF_INET6 SOCK_STREAM pack_sockaddr_in6 IN6ADDR_LOOPBACK); socket(S, PF_INET6, SOCK_STREAM, 0) || exit 1; bind(S, pack_sockaddr_in6(0, IN6ADDR_LOOPBACK)) || exit 1; '; then USE_IPV6=yes else USE_IPV6=no fi # Build toxcore and run tests. RUN $CMAKE \ -B$BUILD_DIR \ -H. \ -DCMAKE_INSTALL_PREFIX:PATH=$CURDIR/_install \ -DASAN=ON \ -DDEBUG=ON \ -DMUST_BUILD_TOXAV=ON \ -DSTRICT_ABI=ON \ -DTEST_TIMEOUT_SECONDS=120 \ -DTRACE=ON \ -DUSE_IPV6=$USE_IPV6 \ $CMAKE_EXTRA_FLAGS export CTEST_OUTPUT_ON_FAILURE=1 RUN $MAKE -C$BUILD_DIR -j$NPROC -k install if $RUN_TESTS; then TESTS $MAX_TEST_RETRIES $MAKE -C$BUILD_DIR -j$NPROC test ARGS="-j50 --rerun-failed" CTEST_OUTPUT_ON_FAILURE="$CTEST_OUTPUT_ON_FAILURE" fi