diff options
author | Nikolaus Rath <Nikolaus@rath.org> | 2017-01-11 19:16:25 -0800 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2017-01-12 15:19:04 -0800 |
commit | bcb8f7599539248c53051b06b81c3d4f3b327f94 (patch) | |
tree | cae564b14b7131c928b94259ac9a96210655aa31 /test | |
parent | 9f96db71252fc66b72c433e2ca0d49e031c6a5fd (diff) |
Switch Travis build to Meson+Ninja
Diffstat (limited to 'test')
-rwxr-xr-x | test/travis-build.sh | 53 | ||||
-rwxr-xr-x | test/travis-install.sh | 14 |
2 files changed, 67 insertions, 0 deletions
diff --git a/test/travis-build.sh b/test/travis-build.sh new file mode 100755 index 0000000..d0b172b --- /dev/null +++ b/test/travis-build.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +set -e + +export CFLAGS="-Werror" +export CC + +# Standard build +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 ${build_opts} ../ + ninja + + sudo chown root:root util/fusermount3 + sudo chmod 4755 util/fusermount3 + ninja tests + cd .. +done +(cd build-$CC; sudo ninja install) + +# Sanitized build +CC=clang +for san in undefined; 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 .. + ninja + + # Test as root and regular user + sudo ninja tests + sudo chown root:root util/fusermount3 + sudo chmod 4755 util/fusermount3 + ninja tests + cd .. +done + +# Autotools build +CC=gcc +./makeconf.sh +./configure +make +sudo python3 -m pytest test/ +sudo make install + +# Documentation +doxygen doc/Doxyfile + diff --git a/test/travis-install.sh b/test/travis-install.sh new file mode 100755 index 0000000..e01b6b1 --- /dev/null +++ b/test/travis-install.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +sudo ln -svf $(which python3) /usr/bin/python3 +sudo python3 -m pip install pytest meson +wget https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip +unzip ninja-linux.zip +chmod 755 ninja +sudo chown root:root ninja +sudo mv -fv ninja /usr/local/bin +valgrind --version +ninja --version +meson --version |