#!/usr/bin/env bash set -eu -o pipefail cd "$(dirname "$0")" echo "$(tput bold)C++ tests, sanitized$(tput sgr0)" set -x ./build.py sanitized rs/rs-tests crc32c/crc32c-tests tests/tests tests/logsdbtests UBSAN_OPTIONS=print_stacktrace=1 ./build/sanitized/rs/rs-tests UBSAN_OPTIONS=print_stacktrace=1 ./build/sanitized/crc32c/crc32c-tests UBSAN_OPTIONS=print_stacktrace=1 ./build/sanitized/tests/tests UBSAN_OPTIONS=print_stacktrace=1 ./build/sanitized/tests/logsdbtests set +x # valgrind doesn't support fnctl F_SET_RW_HINT (1036), and as far as I can # tell there isn't a way to programmatically filter those. echo "$(tput bold)C++ tests, valgrind$(tput sgr0)" set -x ./build.py valgrind rs/rs-tests crc32c/crc32c-tests tests/tests tests/logsdbtests valgrind --exit-on-first-error=yes -q --error-exitcode=1 ./build/valgrind/rs/rs-tests valgrind --exit-on-first-error=yes -q --error-exitcode=1 ./build/valgrind/crc32c/crc32c-tests valgrind --exit-on-first-error=yes -q --suppressions=valgrind-suppressions --error-exitcode=1 ./build/valgrind/tests/tests 2> >(grep -v "Warning: unimplemented fcntl command: 1036") valgrind --exit-on-first-error=yes -q --suppressions=valgrind-suppressions --error-exitcode=1 ./build/valgrind/tests/logsdbtests 2> >(grep -v "Warning: unimplemented fcntl command: 1036") set +x