test harness: improve catching of usage errors in script 'test-driver'
[platform/upstream/automake.git] / t / aclocal-no-unused-required.sh
1 #! /bin/sh
2 # Copyright (C) 2003-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 # Make sure aclocal does not require unused macros.
18
19 am_create_testdir=empty
20 . test-init.sh
21
22 cat > configure.ac << 'END'
23 AC_INIT
24 SOME_DEFS
25 END
26
27 mkdir m4
28 cat >m4/somedefs.m4 <<EOF
29 AC_DEFUN([SOME_DEFS], [
30   m4_if([a], [a], [MACRO1], [MACRO2])
31 ])
32 EOF
33
34 echo 'AC_DEFUN([MACRO1],)' >m4/macro1.m4
35 echo 'AC_DEFUN([MACRO2], [AC_REQUIRE([AM_UNUSED_MACRO])])' >m4/macro2.m4
36
37 $ACLOCAL -I m4 >output 2>&1 || { cat output; exit 1; }
38 test 0 -eq $(wc -l <output)
39 grep macro1.m4 aclocal.m4
40 grep macro2.m4 aclocal.m4 && exit 1
41
42 :