travis: also run the tests built with clang under ASan+UBsan

This commit is contained in:
Evgeny Vereshchagin 2018-12-02 07:39:18 +01:00
parent 63e688cc3b
commit b8366c5497
2 changed files with 24 additions and 3 deletions

View File

@ -72,6 +72,24 @@ jobs:
after_script:
- $CI_MANAGERS/fedora.sh CLEANUP
- name: Fedora Latest (clang ASan+UBSan)
language: bash
env:
- FEDORA_RELEASE="latest"
- CONT_NAME="systemd-fedora-$FEDORA_RELEASE"
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
before_install:
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- docker --version
install:
- $CI_MANAGERS/fedora.sh SETUP
script:
- set -e
- $CI_MANAGERS/fedora.sh RUN_CLANG_ASAN
- set +e
after_script:
- $CI_MANAGERS/fedora.sh CLEANUP
- stage: Coverity
language: bash
env:

View File

@ -57,9 +57,12 @@ for phase in "${PHASES[@]}"; do
$DOCKER_EXEC ninja -v -C build
$DOCKER_EXEC ninja -C build test
;;
RUN_ASAN)
$DOCKER_EXEC git clean -dxff
$DOCKER_EXEC meson --werror -Dtests=unsafe -Db_sanitize=address,undefined build
RUN_ASAN|RUN_CLANG_ASAN)
if [[ "$phase" = "RUN_CLANG_ASAN" ]]; then
ENV_VARS="-e CC=clang -e CXX=clang++"
MESON_ARGS="-Db_lundef=false" # See https://github.com/mesonbuild/meson/issues/764
fi
docker exec $ENV_VARS -it $CONT_NAME meson --werror -Dtests=unsafe -Db_sanitize=address,undefined $MESON_ARGS build
$DOCKER_EXEC ninja -v -C build
# Never remove halt_on_error from UBSAN_OPTIONS. See https://github.com/systemd/systemd/commit/2614d83aa06592aedb.