mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 12:08:18 +00:00
[TravisCI] Don't print sanitizer suppressions by default because
that breaks Z3's regression tests.
This commit is contained in:
parent
35f6746c60
commit
ad2a0a0085
|
@ -16,6 +16,7 @@ ARG PYTHON_BINDINGS
|
||||||
ARG PYTHON_EXECUTABLE=/usr/bin/python2.7
|
ARG PYTHON_EXECUTABLE=/usr/bin/python2.7
|
||||||
ARG RUN_SYSTEM_TESTS
|
ARG RUN_SYSTEM_TESTS
|
||||||
ARG RUN_UNIT_TESTS
|
ARG RUN_UNIT_TESTS
|
||||||
|
ARG SANITIZER_PRINT_SUPPRESSIONS
|
||||||
ARG TARGET_ARCH
|
ARG TARGET_ARCH
|
||||||
ARG TEST_INSTALL
|
ARG TEST_INSTALL
|
||||||
ARG UBSAN_BUILD
|
ARG UBSAN_BUILD
|
||||||
|
@ -42,6 +43,7 @@ ENV \
|
||||||
NO_SUPPRESS_OUTPUT=${NO_SUPPRESS_OUTPUT} \
|
NO_SUPPRESS_OUTPUT=${NO_SUPPRESS_OUTPUT} \
|
||||||
PYTHON_BINDINGS=${PYTHON_BINDINGS} \
|
PYTHON_BINDINGS=${PYTHON_BINDINGS} \
|
||||||
PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} \
|
PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} \
|
||||||
|
SANITIZER_PRINT_SUPPRESSIONS=${SANITIZER_PRINT_SUPPRESSIONS} \
|
||||||
RUN_SYSTEM_TESTS=${RUN_SYSTEM_TESTS} \
|
RUN_SYSTEM_TESTS=${RUN_SYSTEM_TESTS} \
|
||||||
RUN_UNIT_TESTS=${RUN_UNIT_TESTS} \
|
RUN_UNIT_TESTS=${RUN_UNIT_TESTS} \
|
||||||
TARGET_ARCH=${TARGET_ARCH} \
|
TARGET_ARCH=${TARGET_ARCH} \
|
||||||
|
|
|
@ -32,6 +32,7 @@ the future.
|
||||||
* `PYTHON_BINDINGS` - Build and test Python API bindings (`0` or `1`)
|
* `PYTHON_BINDINGS` - Build and test Python API bindings (`0` or `1`)
|
||||||
* `RUN_SYSTEM_TESTS` - Run system tests (`0` or `1`)
|
* `RUN_SYSTEM_TESTS` - Run system tests (`0` or `1`)
|
||||||
* `RUN_UNIT_TESTS` - Run unit tests (`BUILD_ONLY` or `BUILD_AND_RUN` or `SKIP`)
|
* `RUN_UNIT_TESTS` - Run unit tests (`BUILD_ONLY` or `BUILD_AND_RUN` or `SKIP`)
|
||||||
|
* `SANITIZER_PRINT_SUPPRESSIONS` - Show ASan/UBSan suppressions (`0` or `1`)
|
||||||
* `TARGET_ARCH` - Target architecture (`x86_64` or `i686`)
|
* `TARGET_ARCH` - Target architecture (`x86_64` or `i686`)
|
||||||
* `TEST_INSTALL` - Test running `install` target (`0` or `1`)
|
* `TEST_INSTALL` - Test running `install` target (`0` or `1`)
|
||||||
* `UBSAN_BUILD` - Do [UndefinedBehaviourSanitizer](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html) build (`0` or `1`)
|
* `UBSAN_BUILD` - Do [UndefinedBehaviourSanitizer](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html) build (`0` or `1`)
|
||||||
|
|
|
@ -11,6 +11,10 @@ export NO_SUPPRESS_OUTPUT="${NO_SUPPRESS_OUTPUT:-0}"
|
||||||
export PYTHON_BINDINGS="${PYTHON_BINDINGS:-1}"
|
export PYTHON_BINDINGS="${PYTHON_BINDINGS:-1}"
|
||||||
export RUN_SYSTEM_TESTS="${RUN_SYSTEM_TESTS:-1}"
|
export RUN_SYSTEM_TESTS="${RUN_SYSTEM_TESTS:-1}"
|
||||||
export RUN_UNIT_TESTS="${RUN_UNIT_TESTS:-BUILD_AND_RUN}"
|
export RUN_UNIT_TESTS="${RUN_UNIT_TESTS:-BUILD_AND_RUN}"
|
||||||
|
# Don't print suppressions by default because that breaks the Z3
|
||||||
|
# regression tests because they don't expect them to appear in Z3's
|
||||||
|
# output.
|
||||||
|
export SANITIZER_PRINT_SUPPRESSIONS="${SANITIZER_PRINT_SUPPRESSIONS:-0}"
|
||||||
export TARGET_ARCH="${TARGET_ARCH:-x86_64}"
|
export TARGET_ARCH="${TARGET_ARCH:-x86_64}"
|
||||||
export TEST_INSTALL="${TEST_INSTALL:-1}"
|
export TEST_INSTALL="${TEST_INSTALL:-1}"
|
||||||
export UBSAN_BUILD="${UBSAN_BUILD:-0}"
|
export UBSAN_BUILD="${UBSAN_BUILD:-0}"
|
||||||
|
|
|
@ -7,11 +7,18 @@
|
||||||
|
|
||||||
if [ "X${ASAN_BUILD}" = "X1" ]; then
|
if [ "X${ASAN_BUILD}" = "X1" ]; then
|
||||||
# Use suppression files
|
# Use suppression files
|
||||||
export LSAN_OPTIONS="print_suppressions=1,suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/lsan.txt"
|
export LSAN_OPTIONS="suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/lsan.txt"
|
||||||
# NOTE: If you get bad stacktraces try using `fast_unwind_on_malloc=0`
|
# NOTE: If you get bad stacktraces try using `fast_unwind_on_malloc=0`
|
||||||
# NOTE: `malloc_context_size` controls size of recorded stacktrace for allocations.
|
# NOTE: `malloc_context_size` controls size of recorded stacktrace for allocations.
|
||||||
# If the reported stacktraces appear incomplete try increasing the value.
|
# If the reported stacktraces appear incomplete try increasing the value.
|
||||||
export ASAN_OPTIONS="malloc_context_size=100,print_suppressions=1,suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/asan.txt"
|
export ASAN_OPTIONS="malloc_context_size=100,suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/asan.txt"
|
||||||
|
|
||||||
|
: ${SANITIZER_PRINT_SUPPRESSIONS?"SANITIZER_PRINT_SUPPRESSIONS must be specified"}
|
||||||
|
if [ "X${SANITIZER_PRINT_SUPPRESSIONS}" = "X1" ]; then
|
||||||
|
export LSAN_OPTIONS="${LSAN_OPTIONS},print_suppressions=1"
|
||||||
|
export ASAN_OPTIONS="${ASAN_OPTIONS},print_suppressions=1"
|
||||||
|
fi
|
||||||
|
|
||||||
: ${ASAN_SYMBOLIZER_PATH?"ASAN_SYMBOLIZER_PATH must be specified"}
|
: ${ASAN_SYMBOLIZER_PATH?"ASAN_SYMBOLIZER_PATH must be specified"}
|
||||||
|
|
||||||
# Run command without checking for leaks
|
# Run command without checking for leaks
|
||||||
|
@ -61,5 +68,10 @@ if [ "X${UBSAN_BUILD}" = "X1" ]; then
|
||||||
# `halt_on_error=1,abort_on_error=1` means that on the first UBSan error
|
# `halt_on_error=1,abort_on_error=1` means that on the first UBSan error
|
||||||
# the program will terminate by calling `abort(). Without this UBSan will
|
# the program will terminate by calling `abort(). Without this UBSan will
|
||||||
# allow execution to continue. We also use a suppression file.
|
# allow execution to continue. We also use a suppression file.
|
||||||
export UBSAN_OPTIONS="halt_on_error=1,abort_on_error=1,print_suppressions=1,suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/ubsan.txt"
|
export UBSAN_OPTIONS="halt_on_error=1,abort_on_error=1,suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/ubsan.txt"
|
||||||
|
|
||||||
|
: ${SANITIZER_PRINT_SUPPRESSIONS?"SANITIZER_PRINT_SUPPRESSIONS must be specified"}
|
||||||
|
if [ "X${SANITIZER_PRINT_SUPPRESSIONS}" = "X1" ]; then
|
||||||
|
export UBSAN_OPTIONS="${UBSAN_OPTIONS},print_suppressions=1"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -88,6 +88,10 @@ if [ -n "${ASAN_DSO}" ]; then
|
||||||
BUILD_OPTS+=("--build-arg" "ASAN_DSO=${ASAN_DSO}")
|
BUILD_OPTS+=("--build-arg" "ASAN_DSO=${ASAN_DSO}")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "${SANITIZER_PRINT_SUPPRESSIONS}" ]; then
|
||||||
|
BUILD_OPTS+=("--build-arg" "SANITIZER_PRINT_SUPPRESSIONS=${SANITIZER_PRINT_SUPPRESSIONS}")
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "${UBSAN_BUILD}" ]; then
|
if [ -n "${UBSAN_BUILD}" ]; then
|
||||||
BUILD_OPTS+=("--build-arg" "UBSAN_BUILD=${UBSAN_BUILD}")
|
BUILD_OPTS+=("--build-arg" "UBSAN_BUILD=${UBSAN_BUILD}")
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue