* INSTALL, lib/INSTALL, lib/config-ml.in, lib/config.guess,
[automake/plouj.git] / tests / check4.test
blobc1632cfa00b087869042afe103462b8e0a10a147
1 #! /bin/sh
2 # Copyright (C) 2005, 2007 Free Software Foundation, Inc.
4 # This file is part of GNU Automake.
6 # GNU Automake is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3, or (at your option)
9 # any later version.
11 # GNU Automake is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with Automake; see the file COPYING. If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 # Boston, MA 02110-1301, USA.
21 # Make sure `make -k check' processes all directories.
23 . ./defs || exit 1
25 set -e
27 cat >> configure.in << 'END'
28 AC_CONFIG_FILES([dir/Makefile])
29 AC_OUTPUT
30 END
32 mkdir dir
34 cat > Makefile.am <<'END'
35 SUBDIRS = dir
36 TESTS = ok.sh
37 END
39 echo TESTS = fail.sh >dir/Makefile.am
41 cat >ok.sh <<'END'
42 #!/bin/sh
44 END
46 cat >dir/fail.sh <<'END'
47 #!/bin/sh
48 exit 1
49 END
51 chmod +x ok.sh dir/fail.sh
53 $ACLOCAL
54 $AUTOCONF
55 $AUTOMAKE
56 ./configure --prefix "`pwd`/inst"
57 $MAKE check >stdout && exit 1
58 cat stdout
59 grep 'FAIL: fail.sh' stdout
60 grep 'PASS: ok.sh' stdout && exit 1
62 # The exit status of `make -k' can be anything
63 # (depending on the Make implementation)
64 $MAKE -k check >stdout || :
65 cat stdout
66 grep 'FAIL: fail.sh' stdout
67 grep 'PASS: ok.sh' stdout
69 # should also works when -k is not in first position
70 $MAKE -s -k check >stdout || :
71 cat stdout
72 grep 'FAIL: fail.sh' stdout
73 grep 'PASS: ok.sh' stdout
75 # The rest of the test is for GNU Make.
77 # Use --version AND -v, because SGI Make doesn't fail on --version.
78 # Also grep for GNU because newer versions of FreeBSD make do
79 # not complain about `--version' (they seem to silently ignore it).
80 ($MAKE --version -v | grep GNU) || exit 0
82 # Try with a long-option that do not have a short option equivalent
83 # (here, --no-print-directory). That should cause all options to
84 # appear verbatim in MAKEFLAGS.
85 $MAKE --no-print-directory -k check >stdout || :
86 cat stdout
87 grep 'FAIL: fail.sh' stdout
88 grep 'PASS: ok.sh' stdout