From 6dfe7f43d0eb9f2ca0f2d04ba6d04d89de0445b4 Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Thu, 8 Nov 2018 01:28:11 +0100 Subject: [PATCH] travis: UBSan should be every C programmer's friend so let's build systemd with it too --- travis-ci/managers/fedora.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/travis-ci/managers/fedora.sh b/travis-ci/managers/fedora.sh index d1ea920a1c..704a3da299 100755 --- a/travis-ci/managers/fedora.sh +++ b/travis-ci/managers/fedora.sh @@ -15,7 +15,7 @@ CONT_NAME="${CONT_NAME:-fedora-$FEDORA_RELEASE-$RANDOM}" DOCKER_EXEC="${DOCKER_EXEC:-docker exec -it $CONT_NAME}" DOCKER_RUN="${DOCKER_RUN:-docker run}" REPO_ROOT="${REPO_ROOT:-$PWD}" -ADDITIONAL_DEPS=(dnf-plugins-core python2 iputils hostname libasan python3-pyparsing python3-evdev) +ADDITIONAL_DEPS=(dnf-plugins-core python2 iputils hostname libasan python3-pyparsing python3-evdev libubsan) function info() { echo -e "\033[33;1m$1\033[0m" @@ -51,9 +51,11 @@ for phase in "${PHASES[@]}"; do ;; RUN_ASAN) $DOCKER_EXEC git clean -dxff - $DOCKER_EXEC meson -Db_sanitize=address build + $DOCKER_EXEC meson -Db_sanitize=address,undefined build $DOCKER_EXEC ninja -v -C build - $DOCKER_EXEC ninja -C build test + + # Never remove halt_on_error from UBSAN_OPTIONS. See https://github.com/systemd/systemd/commit/2614d83aa06592aedb. + $DOCKER_EXEC sh -c "UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1 ninja -C build test" ;; CLEANUP) info "Cleanup phase"