]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
travis: UBSan should be every C programmer's friend so let's build systemd with it too
authorEvgeny Vereshchagin <evvers@ya.ru>
Thu, 8 Nov 2018 00:28:11 +0000 (01:28 +0100)
committerEvgeny Vereshchagin <evvers@ya.ru>
Thu, 8 Nov 2018 12:49:45 +0000 (13:49 +0100)
travis-ci/managers/fedora.sh

index d1ea920a1ccd9e7d7eae5a9454902d3cef3106cb..704a3da299985b1b68722890df864742433ef4fa 100755 (executable)
@@ -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"