test harness: improve catching of usage errors in script 'test-driver'
[platform/upstream/automake.git] / t / remake-macrodir.sh
1 #! /bin/sh
2 # Copyright (C) 2012-2013 Free Software Foundation, Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Check that the aclocal honouring of AC_CONFIG_MACRO_DIR interacts
18 # nicely with automatic rebuild rules.
19
20 . test-init.sh
21
22 cat >> configure.ac <<'END'
23 AC_CONFIG_MACRO_DIR([macro-dir])
24 my__FOO || AS_EXIT([1])
25 AC_OUTPUT
26 END
27
28 : > Makefile.am
29
30 mkdir macro-dir
31 cat > macro-dir/foo.m4 <<'END'
32 AC_DEFUN([my__FOO], [: > bar])
33 END
34
35 $ACLOCAL
36 $AUTOCONF
37 $AUTOMAKE
38
39 $FGREP my__FOO configure && exit 1
40
41 ./configure
42 test -f bar
43 rm -f bar
44
45 $sleep
46
47 cat > macro-dir/foo.m4 <<'END'
48 AC_DEFUN([my__FOO], [: > baz])
49 END
50
51 $MAKE Makefile
52 test -f baz
53 test ! -r bar
54 rm -f baz
55
56 $sleep
57
58 rm -f macro-dir/foo.m4
59 cat > macro-dir/quux.m4 <<'END'
60 AC_DEFUN([my__FOO], [: > quux])
61 END
62
63 $MAKE Makefile
64 test -f quux
65 test ! -r baz
66 rm -f quux
67
68 $sleep
69
70 sed 's/^AC_CONFIG_MACRO_DIR/&([newdir])/' configure.ac > t
71 mv -f t configure.ac
72
73 mkdir newdir
74 cat > newdir/mu.m4 <<'END'
75 AC_DEFUN([my__FOO], [[: my__FOO do nothing]])
76 END
77
78 $MAKE Makefile
79 $FGREP ': my__FOO do nothing' configure
80
81 $MAKE distcheck
82
83 :