ci: Add new build-check-sanitized.sh
authorColin Walters <walters@verbum.org>
Tue, 2 Feb 2021 21:04:18 +0000 (21:04 +0000)
committerColin Walters <walters@verbum.org>
Tue, 2 Feb 2021 21:09:23 +0000 (21:09 +0000)
All C/C++ projects should use the sanitizers (and static analysis)
in their CI.  We had this but lost it in one of our CI shuffles;
let's readd it.

ci/build-check-sanitized.sh [new file with mode: 0755]

diff --git a/ci/build-check-sanitized.sh b/ci/build-check-sanitized.sh
new file mode 100755 (executable)
index 0000000..39c06f4
--- /dev/null
@@ -0,0 +1,12 @@
+#!/usr/bin/bash
+# Build with ASAN and UBSAN + unit tests.
+
+set -xeuo pipefail
+
+dn=$(dirname $0)
+. ${dn}/libbuild.sh
+export CFLAGS='-fsanitize=address -fsanitize=undefined -fsanitize-undefined-trap-on-error'
+# We leak global state in a few places, fixing that is hard.
+export ASAN_OPTIONS='detect_leaks=0'
+${dn}/build.sh
+make check