diff options
Diffstat (limited to 't/check4.sh')
-rwxr-xr-x | t/check4.sh | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/t/check4.sh b/t/check4.sh new file mode 100755 index 000000000..26548b3db --- /dev/null +++ b/t/check4.sh @@ -0,0 +1,83 @@ +#! /bin/sh +# Copyright (C) 2005-2012 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Make sure 'make -k check' processes all directories. + +. ./defs || Exit 1 + +cat >> configure.ac << 'END' +AC_CONFIG_FILES([dir/Makefile]) +AC_OUTPUT +END + +mkdir dir + +cat > Makefile.am <<'END' +SUBDIRS = dir +TESTS = ok.sh +END + +echo TESTS = fail.sh >dir/Makefile.am + +cat >ok.sh <<'END' +#!/bin/sh +: +END + +cat >dir/fail.sh <<'END' +#!/bin/sh +exit 1 +END + +chmod +x ok.sh dir/fail.sh + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing + +./configure --prefix "`pwd`/inst" + +$MAKE check >stdout && { cat stdout; Exit 1; } +cat stdout +grep '^FAIL: fail\.sh *$' stdout +grep '^PASS: ok\.sh *$' stdout && Exit 1 + +# The exit status of 'make -k' can be anything +# (depending on the Make implementation) +$MAKE -k check >stdout || : +cat stdout +grep '^FAIL: fail\.sh *$' stdout +grep '^PASS: ok\.sh *$' stdout + +# Should also works when -k is not in first position. +$MAKE -s -k check >stdout || : +cat stdout +grep '^FAIL: fail\.sh *' stdout +grep '^PASS: ok\.sh *' stdout + +# The rest of the test is for GNU Make. + +if using_gmake; then + # Try with a long-option that do not have a short option equivalent + # (here, --no-print-directory). That should cause all options to + # appear verbatim in MAKEFLAGS. + $MAKE --no-print-directory -k check >stdout || : + cat stdout + grep '^FAIL: fail\.sh *$' stdout + grep '^PASS: ok\.sh *$' stdout +fi + +: |