summaryrefslogtreecommitdiff
path: root/test/travis-build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/travis-build.sh')
-rwxr-xr-xtest/travis-build.sh37
1 files changed, 29 insertions, 8 deletions
diff --git a/test/travis-build.sh b/test/travis-build.sh
index 267b6e7..22b3e6a 100755
--- a/test/travis-build.sh
+++ b/test/travis-build.sh
@@ -50,15 +50,20 @@ for CC in gcc gcc-7 gcc-10 clang; do
done
(cd build-$CC; sudo ninja install)
-# Sanitized build
-CC=clang
-CXX=clang++
-for san in undefined address; do
+sanitized_build()
+{
+ san=$1
+ additonal_option=$2
+
echo "=== Building with clang and ${san} sanitizer ==="
- mkdir build-${san}; cd build-${san}
+ [ -n ${additonal_option} ] || echo "Additional option: ${additonal_option}"
+
+ mkdir build-${san}; pushd build-${san}
+
# b_lundef=false is required to work around clang
# bug, cf. https://groups.google.com/forum/#!topic/mesonbuild/tgEdAXIIdC4
- meson -D b_sanitize=${san} -D b_lundef=false -D werror=true "${SOURCE_DIR}" \
+ meson -D b_sanitize=${san} -D b_lundef=false -D werror=true\
+ ${additonal_option} "${SOURCE_DIR}" \
|| (cat meson-logs/meson-log.txt; false)
ninja
@@ -66,11 +71,27 @@ for san in undefined address; do
sudo ${TEST_CMD}
sudo chown root:root util/fusermount3
sudo chmod 4755 util/fusermount3
- # Cleanup temporary files (since they're now owned by root)
+ # Cleanup temporary files (since they are now owned by root)
sudo rm -rf test/.pytest_cache/ test/__pycache__
${TEST_CMD}
- cd ..
+
+ popd
+ rm -fr build-${san}
+}
+
+# Sanitized build
+CC=clang
+CXX=clang++
+for san in undefined address; do
+ sanitized_build ${san}
+done
+
+# Sanitized build without libc versioned symbols
+CC=clang
+CXX=clang++
+for san in undefined address; do
+ sanitized_build ${san} "-Ddisable-libc-symbol-version=true"
done
# Documentation.