* INSTALL, lib/INSTALL, lib/config-ml.in, lib/config.guess,
[automake/plouj.git] / tests / pluseq9.test
blob04c52f880b5ee6d88a6e838bc69ff02d9d3c6c5e
1 #! /bin/sh
2 # Copyright (C) 2002, 2003 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 # Test the += diagnostics.
23 . ./defs || exit 1
25 set -e
27 cat >>configure.in <<EOF
28 AM_CONDITIONAL(COND1, true)
29 AM_CONDITIONAL(COND2, true)
30 AM_CONDITIONAL(COND3, true)
31 EOF
33 cat > Makefile.am << 'END'
34 if COND1
35 C = c
36 if COND2
37 A = a
38 B = aa
39 C += cc
40 else
41 A = b
42 B = bb
43 endif
44 A += c
45 else
46 A = d
47 endif
48 A += e
50 if COND3
51 A += f
52 B = cc
53 endif
54 B += dd
55 END
57 $ACLOCAL
58 AUTOMAKE_fails
60 # We expect the following diagnostic:
62 # Makefile.am:19: Cannot apply `+=' because `B' is not defined in
63 # Makefile.am:19: the following conditions:
64 # Makefile.am:19: !COND1 and !COND3
65 # Makefile.am:19: Either define `B' in these conditions, or use
66 # Makefile.am:19: `+=' in the same conditions as the definitions.
68 # It would be nice if Automake could print only COND3_FALSE and
69 # COND1_FALSE (merging the last two conditions), so we'll support
70 # this case in the check too.
72 grep ': !COND1 and !COND3$' stderr
73 # Make sure there is exactly one missing condition.
74 test `grep ': ' stderr | wc -l` = 1