]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - .travis-functions.sh
libmount: fix comment referring to passno field
[thirdparty/util-linux.git] / .travis-functions.sh
index 7b20e886c24b9136f045a5e3c380d43d36d860be..ba7ba1eaf85edbae40ab6cb0682ad1c1fb8751ad 100755 (executable)
@@ -36,35 +36,60 @@ function xconfigure
        return $err
 }
 
-function check_nonroot
+# TODO: integrate checkusage into our regular tests and remove this function
+function make_checkusage
 {
-       local opts="$MAKE_CHECK_OPTS --show-diff"
+       local tmp
+       if ! tmp=$($MAKE checkusage 2>&1) || test -n "$tmp"; then
+               echo "$tmp"
+               echo "make checkusage failed" >&2
+               return 1
+       fi
+}
 
-       xconfigure \
+function check_nonroot
+{
+       local make_opts="$MAKE_CHECK_OPTS --show-diff"
+       local conf_opts="\
                --disable-use-tty-group \
                --disable-makeinstall-chown \
-               --enable-all-programs \
-               || return
+               --enable-all-programs"
+
+       if [ "$TRAVIS_OS_NAME" != "osx" ]; then
+               conf_opts="$conf_opts --enable-asan"
+               make_opts="$make_opts --memcheck-asan"
+       fi
+
+       xconfigure $conf_opts || return
        $MAKE || return
 
        osx_prepare_check
-       $MAKE check TS_OPTS="$opts" || return
+       $MAKE check TS_OPTS="$make_opts" || return
+
+       make_checkusage || return
 
        $MAKE install DESTDIR=/tmp/dest || return
 }
 
 function check_root
 {
-       local opts="$MAKE_CHECK_OPTS --parallel=1 --show-diff"
+       local make_opts="$MAKE_CHECK_OPTS --show-diff"
+       local conf_opts="--enable-all-programs"
 
-       xconfigure \
-               --enable-all-programs \
-               || return
+       if [ "$TRAVIS_OS_NAME" != "osx" ]; then
+               conf_opts="$conf_opts --enable-asan"
+               make_opts="$make_opts --memcheck-asan"
+       fi
+
+       xconfigure $conf_opts || return
        $MAKE || return
 
        $MAKE check TS_COMMAND="true" || return
        osx_prepare_check
-       sudo -E $MAKE check TS_OPTS="$opts" || return
+       sudo -E $MAKE check TS_OPTS="$make_opts" || return
+
+       # root on osx has not enough permission for make install ;)
+       [ "$TRAVIS_OS_NAME" = "osx" ] && return
 
        # keep PATH to make sure sudo would find $CC
        sudo env "PATH=$PATH" $MAKE install || return
@@ -110,7 +135,6 @@ function travis_install_script
 function osx_install_script
 {
        brew update >/dev/null
-       brew tap homebrew/dupes
 
        brew install gettext ncurses socat xz
        brew link --force gettext