diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-02-06 15:48:30 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-02-08 10:04:19 +0100 |
commit | 96401cb96cb4494023c59850d9f6a2912df22c24 (patch) | |
tree | acbe647e615eced80b901a59d2b12d36c4eb2d3c /tests | |
parent | 5066c1b5019b7de419a7b4703c26cb79ee9c713d (diff) | |
download | automake-96401cb96cb4494023c59850d9f6a2912df22c24.tar.gz |
tests: better way to compare lists in Makefile rules
With this commit, we introduce a new helper shell script for use
in the testsuite, which is meant to allow the test cases to easily
check whether two whitespace-separated lists are equal; this ability
is particularly useful to check for equality of the contents of make
variables that are expected to contain multiple whitespace-separated
words, and are defined through line continuations (or are rewritten
by automake in this way), or that contain expansion of potentially
empty variables.
Before this change, a test checking that an usage like this one:
VAR = valA
if COND1
VAR += val1 # com1
endif COND1
VAR += valC
worked as expected, couldn't use rules like:
## Doesn't work because $(VAR) expands to multiple words
verify:
test $(VAR) = "valA val1 valC"
nor like:
## Doesn't work because the final expansion of $(VAR) contains
## repeated contiguous whitespace characters (it actually
## equals "valA val1 valC", not "valA val1 valC"), and this
## is an internal detail which might change and which we don't
## want to explicitly rely on.
verify:
test "$(VAR)" = "valA val1 valC"
Instead, we had to rely on cumbersome workaround such as:
## This works, but is ugly.
verify:
test "`echo $(VAR)`" = "valA val1 valC"
or:
## This works, but is even uglier.
verify:
echo BEG: $(VAR) :END | grep "BEG: valA val1 valC :END"
Now, with the help of the new 'is' script, we can perform such a
check in a clearer and more straightforward way, as in:
## Works, and reads clearly.
verify:
is $(VAR) == valA val1 valC
* tests/is: New helper shell script, telling whether two whitespace
separated lists are equal.
* Makefile.am (EXTRA_DIST): Add it.
* tests/colneq2.test: Use the new helper script, and accordingly
get rid of older, more cumbersome idioms.
* tests/cond11.test: Likewise.
* tests/cond16.test: Likewise.
* tests/cond18.test: Likewise.
* tests/cond22.test: Likewise.
* tests/cond31.test: Likewise.
* tests/cond38.test: Likewise.
* tests/test-logs-repeated.test: Likewise.
* tests/objext-pr10128.test: Likewise.
* tests/programs-primary-rewritten.test: Likewise.
* tests/substre2.test: Likewise. Also ...
(configure.in, Makefile.am): Add a couple of hack to avoid having
to require (and run) a C compiler; accordingly ...
($required): ... remove this.
* tests/exeext4.test: Likewise.
* tests/substref.test: Likewise. Also ...
(hello.c): Use ": >" rather than "cat <<EOF" to generate it,
since it's meant to be empty anyway.
* tests/cond4.test: Use the new helper script, and accordingly
get rid of older, more cumbersome idioms. Avoid some unnecessary
uses of "make -e" since we are at it.
* tests/cond19.test: Likewise.
* tests/cond32.test: Likewise.
* tests/cond6.test: Use the new helper script, and accordingly
move some checks in the Makefile.am.
Avoid unnecessary execution of automake remake rules by manually
"touching" aclocal.m4
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rwxr-xr-x | tests/colneq2.test | 6 | ||||
-rwxr-xr-x | tests/comment8.test | 5 | ||||
-rwxr-xr-x | tests/cond11.test | 7 | ||||
-rwxr-xr-x | tests/cond16.test | 4 | ||||
-rwxr-xr-x | tests/cond18.test | 6 | ||||
-rwxr-xr-x | tests/cond19.test | 14 | ||||
-rwxr-xr-x | tests/cond22.test | 4 | ||||
-rwxr-xr-x | tests/cond31.test | 6 | ||||
-rwxr-xr-x | tests/cond32.test | 11 | ||||
-rwxr-xr-x | tests/cond38.test | 4 | ||||
-rwxr-xr-x | tests/cond4.test | 16 | ||||
-rwxr-xr-x | tests/cond6.test | 15 | ||||
-rwxr-xr-x | tests/exeext4.test | 50 | ||||
-rwxr-xr-x | tests/is | 54 | ||||
-rwxr-xr-x | tests/objext-pr10128.test | 4 | ||||
-rwxr-xr-x | tests/programs-primary-rewritten.test | 8 | ||||
-rwxr-xr-x | tests/substre2.test | 15 | ||||
-rwxr-xr-x | tests/substref.test | 19 | ||||
-rwxr-xr-x | tests/test-logs-repeated.test | 4 |
20 files changed, 144 insertions, 110 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index dc16ad5bb..873c08e5e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -30,7 +30,7 @@ TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/lib/tap-driver.sh AM_TAP_LOG_DRIVER_FLAGS = --merge -EXTRA_DIST = ChangeLog-old +EXTRA_DIST = is ChangeLog-old TESTS = ## Will be updated later. diff --git a/tests/colneq2.test b/tests/colneq2.test index 8f408eb2b..fe117c93a 100755 --- a/tests/colneq2.test +++ b/tests/colneq2.test @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 1996, 2001, 2002, 2010, 2011 Free Software Foundation, -# Inc. +# Copyright (C) 1996, 2001, 2002, 2010, 2011, 2012 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 @@ -28,7 +28,7 @@ t = a b c EXTRA_DIST = $(t:=.test) .PHONY: test test: - test x'$(EXTRA_DIST)' = x'a.test b.test c.test' + is $(EXTRA_DIST) == a.test b.test c.test END $ACLOCAL diff --git a/tests/comment8.test b/tests/comment8.test index a9d6eaa0d..b2b12fe07 100755 --- a/tests/comment8.test +++ b/tests/comment8.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2004, 2011 Free Software Foundation, Inc. +# Copyright (C) 2004, 2011, 2012 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 @@ -36,8 +36,9 @@ if COND2 VAR += val2 # com2 endif COND2 +.PHONY: test test: - test "`echo $(VAR)`" = 'valA valB val1 valC val2' + is $(VAR) == valA valB val1 valC val2 EOF $ACLOCAL diff --git a/tests/cond11.test b/tests/cond11.test index 89ab4825e..90cbde30c 100755 --- a/tests/cond11.test +++ b/tests/cond11.test @@ -1,5 +1,6 @@ #! /bin/sh -# Copyright (C) 2001, 2002, 2003, 2011 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2011, 2012 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 @@ -40,9 +41,9 @@ LDADD = $(SUBSTVAR) $(foolibs) .PHONY: test1 test2 test1: - test faz.la = $(foo_DEPENDENCIES) + is faz.la == $(foo_DEPENDENCIES) test2: - test -z "`echo $(foo_DEPENDENCIES)`" + is "" == $(foo_DEPENDENCIES) END : > config.guess diff --git a/tests/cond16.test b/tests/cond16.test index 4efcbbd74..7c4a26459 100755 --- a/tests/cond16.test +++ b/tests/cond16.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2001, 2002, 2011 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2011, 2012 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 @@ -43,7 +43,7 @@ hell_SOURCES = $(var:=) .PHONY: test test: - test "`echo $(hell_SOURCES) $(hell_OBJECTS)`" = "foo.c foo.o" + is $(hell_SOURCES) $(hell_OBJECTS) == foo.c foo.o END $ACLOCAL diff --git a/tests/cond18.test b/tests/cond18.test index 366dfd01d..fa04d5605 100755 --- a/tests/cond18.test +++ b/tests/cond18.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2001, 2002, 2011 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2011, 2012 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 @@ -48,8 +48,8 @@ helldl_SOURCES = $(var3) .PHONY: test test: - test x"`echo $(helldl_SOURCES) $(helldl_OBJECTS)`" = \ - x"dlmain.c foo.c dlmain.obj foo.obj" + is $(helldl_SOURCES) $(helldl_OBJECTS) == \ + dlmain.c foo.c dlmain.obj foo.obj bin_PROGRAMS = helldl END diff --git a/tests/cond19.test b/tests/cond19.test index d1ba08a31..17ead91de 100755 --- a/tests/cond19.test +++ b/tests/cond19.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2001, 2002, 2011 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2011, 2012 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 @@ -48,11 +48,9 @@ endif helldl_SOURCES = $(var3:.c=1.c) $(var4:.c=2.c) -got = `echo $(helldl_SOURCES) $(helldl_OBJECTS)` - .PHONY: test test: - test x"$(exp)" = x"$(got)" + is $(exp) == $(helldl_SOURCES) $(helldl_OBJECTS) END $ACLOCAL @@ -60,12 +58,12 @@ $AUTOCONF $AUTOMAKE -a -i CONDITION1=true CONDITION2=true ./configure -exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o' $MAKE -e test +$MAKE test exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o' CONDITION1=true CONDITION2=false ./configure -exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o' $MAKE -e test +$MAKE test exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o' CONDITION1=false CONDITION2=true ./configure -exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o' $MAKE -e test +$MAKE test exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o' CONDITION1=false CONDITION2=false ./configure -exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o' $MAKE -e test +$MAKE test exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o' : diff --git a/tests/cond22.test b/tests/cond22.test index 72120eb4c..cc46745ec 100755 --- a/tests/cond22.test +++ b/tests/cond22.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2002, 2003, 2011 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2011, 2012 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 @@ -57,7 +57,7 @@ targ_SOURCES = $(SONE) $(STWO) $(STHREE) $(STHREE2) .PHONY: test test: - test "`echo $(targ_OBJECTS)`" = "one.oo two.oo three.oo three2.oo" + is $(targ_OBJECTS) == one.oo two.oo three.oo three2.oo END $ACLOCAL diff --git a/tests/cond31.test b/tests/cond31.test index b94820e01..69b8fc1b5 100755 --- a/tests/cond31.test +++ b/tests/cond31.test @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 2003, 2011 Free Software Foundation, Inc. +# Copyright (C) 2003, 2011, 2012 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 @@ -38,9 +38,9 @@ endif .PHONY: test1 test2 test1: - test "`echo $(a_DEPENDENCIES)`" = "c0.o c1.o" + is $(a_DEPENDENCIES) == c0.o c1.o test2: - test "`echo $(a_DEPENDENCIES)`" = "c0.o c2.o c3.la" + is $(a_DEPENDENCIES) == c0.o c2.o c3.la EOF $ACLOCAL diff --git a/tests/cond32.test b/tests/cond32.test index 45ecf7096..738903a81 100755 --- a/tests/cond32.test +++ b/tests/cond32.test @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006, 2011, 2012 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 @@ -50,9 +50,8 @@ endif a_LDADD = $(BAR) endif -got = `echo $(a_DEPENDENCIES)` test: - test "$(exp)" = "$(got)" + is $(exp) == $(a_DEPENDENCIES) .PHONY: test EOF @@ -61,12 +60,12 @@ $AUTOCONF $AUTOMAKE ./configure -exp='foo.o nonsense.a' $MAKE -e test +$MAKE test exp='foo.o nonsense.a' ./configure two=yes three= -exp='bar.o' $MAKE -e test +$MAKE test exp='bar.o' ./configure two=yes three=yes -exp='baz.o' $MAKE -e test +$MAKE test exp='baz.o' : diff --git a/tests/cond38.test b/tests/cond38.test index 8638daee5..bc313b856 100755 --- a/tests/cond38.test +++ b/tests/cond38.test @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 2005, 2011 Free Software Foundation, Inc. +# Copyright (C) 2005, 2011, 2012 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 @@ -49,7 +49,7 @@ endif .PHONY: test test: - test "`echo $(SUBDIRS)`" = 'a b c d e f g h iXYZ jZYX' + is $(SUBDIRS) == a b c d e f g h iXYZ jZYX EOF mkdir a b c d e f g h iXYZ jZYX diff --git a/tests/cond4.test b/tests/cond4.test index 307157754..40dfa2f61 100755 --- a/tests/cond4.test +++ b/tests/cond4.test @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 1998, 2001, 2002, 2010, 2011 Free Software Foundation, -# Inc. +# Copyright (C) 1998, 2001, 2002, 2010, 2011, 2012 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 @@ -40,11 +40,9 @@ endif targ_SOURCES = main.c $(OPT1) $(OPT2) -got = `echo $(targ_OBJECTS)` - .PHONY: test test: - test x"$(exp)" = x"$(got)" + is $(exp) == $(targ_OBJECTS) END $ACLOCAL @@ -57,12 +55,12 @@ grep '^@TWO_FALSE@' Makefile.in && Exit 1 $AUTOCONF CONDITION1=true CONDITION2=true ./configure -exp='main.o one.o two.o' $MAKE -e test +$MAKE test exp='main.o one.o two.o' CONDITION1=true CONDITION2=false ./configure -exp='main.o one.o' $MAKE -e test +$MAKE test exp='main.o one.o' CONDITION1=false CONDITION2=true ./configure -exp='main.o two.o' $MAKE -e test +$MAKE test exp='main.o two.o' CONDITION1=false CONDITION2=false ./configure -exp='main.o' $MAKE -e test +$MAKE test exp='main.o' : diff --git a/tests/cond6.test b/tests/cond6.test index 0ac178327..308032091 100755 --- a/tests/cond6.test +++ b/tests/cond6.test @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 1998, 2001, 2002, 2010, 2011 Free Software Foundation, -# Inc. +# Copyright (C) 1998, 2001, 2002, 2010, 2011, 2012 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 @@ -39,9 +39,9 @@ endif a b c d e f g h: touch $@ -.PHONY: print-data -print-data: - echo BEG: $(help_DATA) :END +.PHONY: test +test: + is $(help_DATA) == a b c d e f g h END @@ -54,14 +54,13 @@ $AUTOMAKE rm -rf autom4te*.cache echo AC_OUTPUT >> configure.in +touch aclocal.m4 # Avoid unnecessary firing the remake rules. $AUTOCONF $AUTOMAKE Makefile ./configure --prefix="`pwd`/_inst" -$MAKE print-data >stdout || { cat stdout; Exit 1; } -cat stdout -grep '^BEG: a b c d e f g h :END$' stdout +$MAKE test $MAKE install for x in a b c d e f g h; do diff --git a/tests/exeext4.test b/tests/exeext4.test index 1ee80162b..9ce25fef2 100755 --- a/tests/exeext4.test +++ b/tests/exeext4.test @@ -1,5 +1,6 @@ #! /bin/sh -# Copyright (C) 2003, 2006, 2010, 2011 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006, 2010, 2011, 2012 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 @@ -17,18 +18,18 @@ # Make sure $(EXEEXT) is appended to programs and to tests that are # programs, but not to @substitutions@. -required=cc . ./defs || Exit 1 cat >> configure.in << 'END' AM_CONDITIONAL([COND], [test -n "$cond"]) AC_SUBST([programs], ['prg1$(EXEEXT) prg2$(EXEEXT)']) -AC_PROG_CC +AC_SUBST([CC], [whocares]) AC_OUTPUT END cat > Makefile.am << 'END' -EXEEXT = .bin +AUTOMAKE_OPTIONS = no-dependencies +EXEEXT = .x if COND BAR = bar DEP = bar @@ -39,42 +40,31 @@ bin_PROGRAMS = $(programs) @programs@ prg3 $(BAR) $(BAZE) EXTRA_PROGRAMS = prg1 prg2 prg3 TESTS = prg1 prg3 prg4 $(BAZ) -print-bin: - @echo BEG: $(bin_PROGRAMS) :END -print-extra: - @echo BEG: $(EXTRA_PROGRAMS) :END -print-tests: - @echo BEG: $(TESTS) :END -print-barbaz: - @echo BEG: $(BAR) $(BAZ) :END +.PHONY: test-cond test-nocond +test-nocond: + is $(bin_PROGRAMS) == prg1.x prg2.x prg1.x prg2.x prg3.x + is $(EXTRA_PROGRAMS) == prg1.x prg2.x prg3.x + is $(TESTS) == prg1.x prg3.x prg4 +test-cond: + is $(bin_PROGRAMS) == prg1.x prg2.x prg1.x prg2.x prg3.x bar.x baz.x + is $(EXTRA_PROGRAMS) == prg1.x prg2.x prg3.x + is $(TESTS) == prg1.x prg3.x prg4 baz.x bar.x + is $(BAR) $(BAZ) == bar baz bar END $ACLOCAL $AUTOCONF $AUTOMAKE --add-missing --copy + ./configure -$MAKE print-bin > output -cat output -$FGREP 'prg1.bin prg2.bin prg1.bin prg2.bin prg3.bin' output -$MAKE print-extra > output -cat output -$FGREP 'prg1.bin prg2.bin prg3.bin' output -$MAKE print-tests > output -cat output -$FGREP 'prg1.bin prg3.bin prg4' output +$MAKE test-nocond ./configure cond=yes -$MAKE print-bin > output -cat output -$FGREP 'prg1.bin prg2.bin prg1.bin prg2.bin prg3.bin bar.bin baz.bin' output -$MAKE print-tests > output -cat output -$FGREP 'prg1.bin prg3.bin prg4 baz.bin bar.bin' output -$MAKE print-barbaz > output -cat output -$FGREP 'bar baz bar' output +$MAKE test-cond # Only two am__EXEEXT_* variables are needed here: one for BAR, and one # BAZ. The latter must use the former. test 2 = `grep '__EXEEXT_. =' Makefile.in | wc -l` grep 'am__EXEEXT_2 = .*am__EXEEXT_1' Makefile.in + +: diff --git a/tests/is b/tests/is new file mode 100755 index 000000000..1e1c0ce48 --- /dev/null +++ b/tests/is @@ -0,0 +1,54 @@ +#! /bin/sh +# Copyright (C) 2012 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 that two whitespace-separated lists are equal. +# Assumes the two lists are passed on the command line separated by +# a '==' string. +# This script is useful to test equality of lists in makefile rules, +# in the face of variables defined through line-continuations, +# automake rewrites and expansions of empty variables. + +set -e +set -u + +# Initialize before unsetting, for shells (like older bash or Solaris +# ksh) that fail to unset variables that are already unset. +exp= got=; unset exp got +seen_eqeq=no +while test $# -gt 0; do + if test x"$1" = x"=="; then + if test $seen_eqeq = no; then + seen_eqeq=yes + else + echo "$0: more than one '==' argument seen on command line" >&2 + exit 2 + fi + else + if test $seen_eqeq = no; then + got=${got+"$got "}$1 + else + exp=${exp+"$exp "}$1 + fi + fi + shift +done + +if test $seen_eqeq = no; then + echo "$0: no '==' argument seen on command line" >&2 + exit 2 +fi + +test x"${exp-}" = x"${got-}" diff --git a/tests/objext-pr10128.test b/tests/objext-pr10128.test index 120986c99..e1056357b 100755 --- a/tests/objext-pr10128.test +++ b/tests/objext-pr10128.test @@ -38,8 +38,8 @@ zardoz_SOURCES = mu1.lisp mu2.lisp .PHONY: test test: - test '$(foo_OBJECTS)' = 'foo.fasl' - test '$(zardoz_OBJECTS)' = 'mu1.fasl mu2.fasl' + is $(foo_OBJECTS) == foo.fasl + is $(zardoz_OBJECTS) == mu1.fasl mu2.fasl END $ACLOCAL diff --git a/tests/programs-primary-rewritten.test b/tests/programs-primary-rewritten.test index e52bd569a..2328bb6d2 100755 --- a/tests/programs-primary-rewritten.test +++ b/tests/programs-primary-rewritten.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006, 2011, 2012 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 @@ -40,9 +40,9 @@ baz = mau .PHONY: test test: - test '$(check_PROGRAMS)' = a.bin - test '$(bin_PROGRAMS)' = 'b.bin c' - test '$(noinst_PROGRAMS)' = 'zardoz.bin maude.bin' + is $(check_PROGRAMS) == a.bin + is $(bin_PROGRAMS) == b.bin c + is $(noinst_PROGRAMS) == zardoz.bin maude.bin END $ACLOCAL diff --git a/tests/substre2.test b/tests/substre2.test index ec920627b..193562239 100755 --- a/tests/substre2.test +++ b/tests/substre2.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2003, 2010, 2011 Free Software Foundation, Inc. +# Copyright (C) 2003, 2010, 2011, 2012 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 @@ -17,15 +17,15 @@ # Test for bug in variable substitution references, where # undefined variables break later substitutions. -required=cc . ./defs || Exit 1 cat >> configure.in << 'END' -AC_PROG_CC +AC_SUBST([CC], [whocares]) AC_OUTPUT END cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = no-dependencies foo = foo.a foo.b $(doesnt_exist) bar = bar.a bar.b @@ -36,16 +36,15 @@ bin_PROGRAMS = foo foo_SOURCES = $(var2) OBJEXT = obj -echorule: - @echo BEG: $(foo_OBJECTS) :END +.PHONY: test +test: + is $(foo_OBJECTS) == foo1.obj foo4.obj bar3.obj bar4.obj END $ACLOCAL $AUTOCONF $AUTOMAKE -a ./configure -$MAKE echorule >output || { cat output; Exit 1; } -cat output -$FGREP 'BEG: foo1.obj foo4.obj bar3.obj bar4.obj :END' output +$MAKE test : diff --git a/tests/substref.test b/tests/substref.test index 7b3042393..a3088b0e4 100755 --- a/tests/substref.test +++ b/tests/substref.test @@ -18,24 +18,24 @@ # pattern is null. # Report from Richard Boulton. -required=cc . ./defs || Exit 1 cat >> configure.in << 'END' -AC_PROG_CC +AC_SUBST([CC], [whocares]) AC_OUTPUT END -cat > hello.c << 'END' -END +: > hello.c cat > Makefile.am << 'END' +AUTOMAKE_OPTIONS = no-dependencies var1 = dlmain var2 = $(var1:=.) helldl_SOURCES = $(var2:=c) bin_PROGRAMS = helldl -got: - @echo $(helldl_SOURCES) $(helldl_OBJECTS) >got +.PHONY: test +test: + is $(helldl_SOURCES) $(helldl_OBJECTS) == dlmain.c dlmain.$(OBJEXT) END $ACLOCAL @@ -43,12 +43,7 @@ $AUTOCONF $AUTOMAKE -a ./configure - -objext=`sed -n -e 's/^OBJEXT = //p' < Makefile` -echo dlmain.c dlmain.$objext >exp -$MAKE got -cat got -diff exp got +$MAKE test # This is unrelated to the rest of this test. But while we are # at it, make sure we don't use am__helldl_SOURCES_DIST here, since diff --git a/tests/test-logs-repeated.test b/tests/test-logs-repeated.test index 5ab346136..0bec57915 100755 --- a/tests/test-logs-repeated.test +++ b/tests/test-logs-repeated.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2011 Free Software Foundation, Inc. +# Copyright (C) 2011, 2012 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 @@ -32,7 +32,7 @@ TEST_EXTENSIONS = .sh .test .bar TESTS = foo.sh mu.test foo.test foo.bar .PHONY: verify verify: - test "`echo $(TEST_LOGS)`" = 'foo.log mu.log foo.log foo.log' + is $(TEST_LOGS) == foo.log mu.log foo.log foo.log END $ACLOCAL |