Hash :
b563243e
Author :
Date :
2010-06-10T08:34:00
Modernize, improve and/or fix tests `pluseq*.test. * tests/pluseq5.test: Append to configure.in using cat with an here-doc, not using echo. * tests/pluseq10.test: Make sure that the captured output of `make' command is always displayed. Where possible, use $FGREP instead of grep (this change makes some checks slighty stricter). * tests/pluseq8.test: Enable `errexit' shell flag, with related changes. * tests/pluseq.test: Likewise. Also, do not create useless dummy data files, and use better m4 quoting in generated configure.in. * tests/pluseq2.test: Likewise. Also, append to configure.in using cat with an here-doc, not using echo. * tests/pluseq3.test: Likewise. * tests/pluseq4.test: Likewise. * tests/pluseq6.test: Likewise. * tests/pluseq7.test: Do not create useless dummy source file. * tests/pluseq9.test: Slighty extended w.r.t. the grepping of Automake stderr. Some unrelated cosmetic changes. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
#! /bin/sh
# Copyright (C) 2002, 2003, 2010 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test the += diagnostics.
. ./defs || Exit 1
set -e
cat >>configure.in << 'END'
AM_CONDITIONAL([COND1], [true])
AM_CONDITIONAL([COND2], [true])
AM_CONDITIONAL([COND3], [true])
END
cat > Makefile.am << 'END'
if COND1
C = c
if COND2
A = a
B = aa
C += cc
else
A = b
B = bb
endif
A += c
else
A = d
endif
A += e
if COND3
A += f
B = cc
endif
B += dd
END
$ACLOCAL
AUTOMAKE_fails
# We expect the following diagnostic:
#
# Makefile.am:19: Cannot apply `+=' because `B' is not defined in
# Makefile.am:19: the following conditions:
# Makefile.am:19: !COND1 and !COND3
# Makefile.am:19: Either define `B' in these conditions, or use
# Makefile.am:19: `+=' in the same conditions as the definitions.
#
# It would be nice if Automake could print only COND3_FALSE and
# COND1_FALSE (merging the last two conditions), so we'll support
# this case in the check too.
grep '[cC]annot apply.*+=' stderr
grep ': !COND1 and !COND3$' stderr
# Make sure there is exactly one missing condition.
test `grep ': ' stderr | wc -l` = 1
: