source: trunk/essentials/sys-devel/automake-1.9/tests/check4.test

Last change on this file was 3086, checked in by bird, 18 years ago

automake 1.9.6

File size: 2.2 KB
Line 
1#! /bin/sh
2# Copyright (C) 2005 Free Software Foundation, Inc.
3#
4# This file is part of GNU Automake.
5#
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 2, or (at your option)
9# any later version.
10#
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.
15#
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.
20
21# Make sure `make -k check' processes all directories.
22
23. ./defs || exit 1
24
25set -e
26
27cat >> configure.in << 'END'
28AC_CONFIG_FILES([dir/Makefile])
29AC_OUTPUT
30END
31
32mkdir dir
33
34cat > Makefile.am <<'END'
35SUBDIRS = dir
36TESTS = ok.sh
37END
38
39echo TESTS = fail.sh >dir/Makefile.am
40
41cat >ok.sh <<'END'
42#!/bin/sh
43:
44END
45
46cat >dir/fail.sh <<'END'
47#!/bin/sh
48exit 1
49END
50
51chmod +x ok.sh dir/fail.sh
52
53$ACLOCAL
54$AUTOCONF
55$AUTOMAKE
56./configure --prefix `pwd`/inst
57$MAKE check >stdout && exit 1
58cat stdout
59grep 'FAIL: fail.sh' stdout
60grep 'PASS: ok.sh' stdout && exit 1
61
62# The exit status of `make -k' can be anything
63# (depending on the Make implementation)
64$MAKE -k check >stdout || :
65cat stdout
66grep 'FAIL: fail.sh' stdout
67grep 'PASS: ok.sh' stdout
68
69# should also works when -k is not in first position
70$MAKE -s -k check >stdout || :
71cat stdout
72grep 'FAIL: fail.sh' stdout
73grep 'PASS: ok.sh' stdout
74
75# The rest of the test is for GNU Make.
76
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
81
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 || :
86cat stdout
87grep 'FAIL: fail.sh' stdout
88grep 'PASS: ok.sh' stdout
Note: See TracBrowser for help on using the repository browser.