diff options
author | Nikolaus Rath <Nikolaus@rath.org> | 2017-06-20 13:53:55 -0700 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2017-07-12 17:10:18 +0200 |
commit | 4828a8a59cec58bb4a6f1d4c1552c62a45f12a26 (patch) | |
tree | 6cb1b8a17fa1c5f255c1a1378e7136291a51a8c6 /test/travis-build.sh | |
parent | 7ad9156d4df999df162c005eb6cdeba3f31bbb25 (diff) | |
download | sshfs-4828a8a59cec58bb4a6f1d4c1552c62a45f12a26.tar sshfs-4828a8a59cec58bb4a6f1d4c1552c62a45f12a26.tar.gz sshfs-4828a8a59cec58bb4a6f1d4c1552c62a45f12a26.tar.bz2 sshfs-4828a8a59cec58bb4a6f1d4c1552c62a45f12a26.zip |
Added unit tests and travis integration
Diffstat (limited to 'test/travis-build.sh')
-rwxr-xr-x | test/travis-build.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/travis-build.sh b/test/travis-build.sh new file mode 100755 index 0000000..ba04295 --- /dev/null +++ b/test/travis-build.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +set -e + +# Disable leak checking for now, there are some issues (or false positives) +# that we still need to fix +export ASAN_OPTIONS="detect_leaks=0" + +export LSAN_OPTIONS="suppressions=$(pwd)/test/lsan_suppress.txt" +export CC + +TEST_CMD="python3 -m pytest --maxfail=99 test/" + +# Standard build with Valgrind +for CC in gcc gcc-6 clang; do + mkdir build-${CC}; cd build-${CC} + if [ ${CC} == 'gcc-6' ]; then + build_opts='-D b_lundef=false' + else + build_opts='' + fi + meson -D werror=true ${build_opts} ../ + ninja + + TEST_WITH_VALGRIND=true ${TEST_CMD} + cd .. +done +(cd build-$CC; sudo ninja install) + +# Sanitized build +CC=clang +for san in undefined address; do + mkdir build-${san}; cd 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 .. + ninja + ${TEST_CMD} + cd .. +done + +# Autotools build +CC=gcc +autoreconf -i +./configure +make +${TEST_CMD} +sudo make install |