automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Modernize, improve and/or fix various test scripts (again)


From: Stefano Lattarini
Subject: [PATCH] Modernize, improve and/or fix various test scripts (again)
Date: Thu, 10 Jun 2010 00:43:41 +0200
User-agent: KMail/1.12.1 (Linux/2.6.30-2-686; KDE/4.3.4; i686; ; )

Again, this might seem huge, but most changes are trivial and/or
similar one to the others.
And having all these tweakings packed in a big lump should make their
reviewing easier IMHO (at least, it shouldn't make it more difficult).

Regards,
    Stefano

-*-*-*-

 ChangeLog                                |   34 ++++++++++++++++++++++++++++
 tests/Makefile.am                        |    3 +-
 tests/Makefile.in                        |    3 +-
 tests/cygwin32.test                      |   11 +++++----
 tests/{symlink3.test => forcemiss.test}  |   19 +++++++++------
 tests/{symlink3.test => forcemiss2.test} |   30 +++++++++++++++++-------
 tests/postproc.test                      |   14 ++++++-----
 tests/recurs.test                        |   12 +++++-----
 tests/recurs2.test                       |   14 ++---------
 tests/scripts.test                       |   11 +++-----
 tests/strip.test                         |   20 +++++++++-------
 tests/substre2.test                      |    8 ++++--
 tests/substref.test                      |   36 +++++++++++++++--------------
 tests/substtarg.test                     |   14 +++++-----
 tests/symlink2.test                      |   17 ++++++++++---
 15 files changed, 152 insertions(+), 94 deletions(-)
From 6dc97adb2cc73732173689a0219a5848908c3588 Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Thu, 10 Jun 2010 00:15:04 +0200
Subject: [PATCH] Modernize, improve and/or fix various test scripts.

* tests/symlink3.test: Deleted, separated into two new, more
complete tests ...
* tests/forcemiss.test: ... this one ...
* tests/forcemiss2.test: ... and this one.
* tests/symlink2.test: Enable `errexit' shell flag, make test
stricter, and skip it if symlink creation is not supported.
* tests/postproc.test: Enable `errexit' shell flag, related
changes, and a couple of unrelated cosmetic changes.
* tests/recurs.test: Use the `configure.in' stub created by
`./defs', rather than writing one from scratch.  Make grepping
of Automake stderr slighty stricter.
* tests/substtarg.test: Likewise.
* tests/strip.test: Likewise, and move the call to `set -e'
earlier (just after the inclusion of `./defs'). Also, make sure
that the script installed by `make install-script' is equal to
the original one.
* tests/substref.test: Use the `configure.in' stub created by
`./defs', rather than writing one from scratch.  Move the call
to `set -e' earlier (just after the inclusion of `./defs').
Avoid to explicitly export CC for configure (that's already done
in ./defs).  Avoid potential problems with unpredictable make
output.  Finally, make grepping of Makefile.in stricter.
* tests/substre2.test: Ensure verbose printing of the captured
make's output, and make its grepping slighty stricter.
* tests/cygwin32.test: Enable `errexit' shell flag, and related
changes.  Also, do not create useless dummy source/data files.
* tests/script.test: Likewise.
* tests/recurs2.test: Likewise.  Also, use the `configure.in'
stub created by `./defs'.
* tests/Makefile.am (TESTS): Updated.
---
 ChangeLog                                |   34 ++++++++++++++++++++++++++++
 tests/Makefile.am                        |    3 +-
 tests/Makefile.in                        |    3 +-
 tests/cygwin32.test                      |   14 ++++++-----
 tests/{symlink3.test => forcemiss.test}  |   19 +++++++++------
 tests/{symlink3.test => forcemiss2.test} |   30 +++++++++++++++++-------
 tests/postproc.test                      |   14 ++++++-----
 tests/recurs.test                        |   12 +++++-----
 tests/recurs2.test                       |   14 ++---------
 tests/scripts.test                       |   11 +++-----
 tests/strip.test                         |   20 +++++++++-------
 tests/substre2.test                      |    8 ++++--
 tests/substref.test                      |   36 +++++++++++++++--------------
 tests/substtarg.test                     |   14 +++++-----
 tests/symlink2.test                      |   17 ++++++++++---
 15 files changed, 154 insertions(+), 95 deletions(-)
 copy tests/{symlink3.test => forcemiss.test} (76%)
 rename tests/{symlink3.test => forcemiss2.test} (61%)

diff --git a/ChangeLog b/ChangeLog
index 8f33b63..6f4d700 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,37 @@
+2010-06-10  Stefano Lattarini  <address@hidden>
+
+       Modernize, improve and/or fix various test scripts.
+       * tests/symlink3.test: Deleted, separated into two new, more
+       complete tests ...
+       * tests/forcemiss.test: ... this one ...
+       * tests/forcemiss2.test: ... and this one.
+       * tests/symlink2.test: Enable `errexit' shell flag, make test
+       stricter, and skip it if symlink creation is not supported.
+       * tests/postproc.test: Enable `errexit' shell flag, related
+       changes, and a couple of unrelated cosmetic changes.
+       * tests/recurs.test: Use the `configure.in' stub created by
+       `./defs', rather than writing one from scratch.  Make grepping
+       of Automake stderr slighty stricter.
+       * tests/substtarg.test: Likewise.
+       * tests/strip.test: Likewise, and move the call to `set -e'
+       earlier (just after the inclusion of `./defs'). Also, make sure
+       that the script installed by `make install-script' is equal to
+       the original one.
+       * tests/substref.test: Use the `configure.in' stub created by
+       `./defs', rather than writing one from scratch.  Move the call
+       to `set -e' earlier (just after the inclusion of `./defs').
+       Avoid to explicitly export CC for configure (that's already done
+       in ./defs).  Avoid potential problems with unpredictable make
+       output.  Finally, make grepping of Makefile.in stricter.
+       * tests/substre2.test: Ensure verbose printing of the captured
+       make's output, and make its grepping slighty stricter.
+       * tests/cygwin32.test: Enable `errexit' shell flag, and related
+       changes.  Also, do not create useless dummy source/data files.
+       * tests/script.test: Likewise.
+       * tests/recurs2.test: Likewise.  Also, use the `configure.in'
+       stub created by `./defs'.
+       * tests/Makefile.am (TESTS): Updated.
+
 2010-06-09  Stefano Lattarini  <address@hidden>
 
        Modernize, improve and/or fix various test scripts.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 671df0c..7875fc5 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -340,6 +340,8 @@ fn99.test \
 fn99subdir.test \
 fnoc.test \
 fo.test        \
+forcemiss.test \
+forcemiss2.test \
 fort1.test \
 fort2.test \
 fort4.test \
@@ -716,7 +718,6 @@ suffix12.test \
 suffix13.test \
 symlink.test \
 symlink2.test \
-symlink3.test \
 syntax.test \
 tags.test \
 tags2.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 670867c..07f27ed 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -553,6 +553,8 @@ fn99.test \
 fn99subdir.test \
 fnoc.test \
 fo.test        \
+forcemiss.test \
+forcemiss2.test \
 fort1.test \
 fort2.test \
 fort4.test \
@@ -929,7 +931,6 @@ suffix12.test \
 suffix13.test \
 symlink.test \
 symlink2.test \
-symlink3.test \
 syntax.test \
 tags.test \
 tags2.test \
diff --git a/tests/cygwin32.test b/tests/cygwin32.test
index 6b8d70a..ec3f43d 100755
--- a/tests/cygwin32.test
+++ b/tests/cygwin32.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 1997, 1999, 2001, 2002, 2008  Free Software Foundation, Inc.
+# Copyright (C) 1997, 1999, 2001, 2002, 2008, 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
@@ -18,6 +19,8 @@
 
 . ./defs || Exit 1
 
+set -e
+
 cat >> configure.in << 'END'
 AC_PROG_CC
 END
@@ -29,11 +32,10 @@ EXTRA_www_SOURCES = xtra.c
 www_LDADD = @extra_stuff@
 END
 
-: > www.c
-: > xtra.c
-
-$ACLOCAL || Exit 1
-$AUTOMAKE || Exit 1
+$ACLOCAL
+$AUTOMAKE
 
 grep '^CYGWIN' Makefile.in && Exit 1
 grep 'EXEEXT' Makefile.in
+
+:
diff --git a/tests/symlink3.test b/tests/forcemiss.test
similarity index 76%
copy from tests/symlink3.test
copy to tests/forcemiss.test
index 12cb714..4b9f63c 100755
--- a/tests/symlink3.test
+++ b/tests/forcemiss.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002, 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
@@ -18,16 +18,19 @@
 
 . ./defs || Exit 1
 
+set -e
+
 rm -f install-sh
-rm -f mkinstalldirs
 
-echo zot > zot
-echo zot > mkinstalldirs
+echo zot > install-sh
 
 : > Makefile.am
 
-$ACLOCAL || Exit 1
-$AUTOMAKE --add-missing --force-missing || Exit 1
+$ACLOCAL
+$AUTOMAKE --add-missing --force-missing
+
+ls -l install-sh
+test -f install-sh
+grep zot install-sh && Exit 1
 
-grep zot mkinstalldirs && Exit 1
-Exit 0
+:
diff --git a/tests/symlink3.test b/tests/forcemiss2.test
similarity index 61%
rename from tests/symlink3.test
rename to tests/forcemiss2.test
index 12cb714..408ea8a 100755
--- a/tests/symlink3.test
+++ b/tests/forcemiss2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002, 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
@@ -14,20 +14,32 @@
 # 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 to make sure that `automake --force-missing' works.
+# Test to make sure that `automake --force-missing' works, even with
+# symlinked files.
 
 . ./defs || Exit 1
 
+set -e
+
 rm -f install-sh
-rm -f mkinstalldirs
 
-echo zot > zot
-echo zot > mkinstalldirs
+echo zot > foo
+cp foo foo2
+
+ln -s foo2 install-sh || {
+  echo "$me: cannot create symlinks to files" >&2
+  Exit 77
+}
 
 : > Makefile.am
 
-$ACLOCAL || Exit 1
-$AUTOMAKE --add-missing --force-missing || Exit 1
+$ACLOCAL
+ls -l install-sh
+$AUTOMAKE --add-missing --force-missing
+ls -l install-sh
+
+test -f install-sh
+grep zot install-sh && Exit 1
+diff foo foo2
 
-grep zot mkinstalldirs && Exit 1
-Exit 0
+:
diff --git a/tests/postproc.test b/tests/postproc.test
index 197f267..44570fe 100755
--- a/tests/postproc.test
+++ b/tests/postproc.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2002, 2004, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004, 2009, 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
@@ -19,8 +19,10 @@
 
 . ./defs || Exit 1
 
-cat >configure.in <<'END'
-AC_INIT([mumble], [0.1])
+set -e
+
+cat >configure.in <<END
+AC_INIT([$me], [1.0])
 AM_INIT_AUTOMAKE
 AC_PROG_CC
 AC_CONFIG_FILES([myMakefile])
@@ -32,9 +34,9 @@ bin_PROGRAMS = fred
 fred_SOURCES = fred.c
 END
 
-$ACLOCAL || Exit 1
-$AUTOCONF || Exit 1
-$AUTOMAKE -- myMakefile || Exit 1
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -- myMakefile
 
 mv myMakefile.in myMakefile.old
 echo '# Post-processed by post-processor 3.14.' > myMakefile.in
diff --git a/tests/recurs.test b/tests/recurs.test
index 026fb0d..4937f4f 100755
--- a/tests/recurs.test
+++ b/tests/recurs.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+# Copyright (C) 1998, 2001, 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
@@ -20,13 +21,10 @@
 
 set -e
 
-cat > configure.in << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+cat >> configure.in << 'END'
 AC_PROG_CC
 AM_CONDITIONAL(ONE, true)
 AM_CONDITIONAL(TWO, false)
-AC_OUTPUT(Makefile)
 END
 
 cat > Makefile.am << 'END'
@@ -36,4 +34,6 @@ END
 
 $ACLOCAL
 AUTOMAKE_fails
-grep 'Makefile.am:.*bin_PROGRAMS.*recursively defined' stderr
+grep 'Makefile\.am:.*bin_PROGRAMS.*recursively defined' stderr
+
+:
diff --git a/tests/recurs2.test b/tests/recurs2.test
index 5062bf0..c025984 100755
--- a/tests/recurs2.test
+++ b/tests/recurs2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 1998, 2001, 2002, 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
@@ -19,12 +19,7 @@
 
 . ./defs || Exit 1
 
-cat > configure.in << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
-AC_PROG_CC
-AC_OUTPUT(Makefile)
-END
+set -e
 
 cat > Makefile.am << 'END'
 man_MANS = chgrp.1
@@ -32,8 +27,5 @@ man_aux = $(man_MANS:.1=.x)
 EXTRA_DIST = $(man_aux) $(man_MANS)
 END
 
-> chgrp.1
-> chgrp.x
-
-$ACLOCAL || Exit 1
+$ACLOCAL
 $AUTOMAKE
diff --git a/tests/scripts.test b/tests/scripts.test
index 6d3f0e8..b9aed7f 100755
--- a/tests/scripts.test
+++ b/tests/scripts.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 1996, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 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
@@ -19,15 +20,11 @@
 
 . ./defs || Exit 1
 
-cat > configure.in << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
-AC_OUTPUT(Makefile)
-END
+set -e
 
 cat > Makefile.am << 'END'
 noinst_SCRIPTS = foo
 END
 
-$ACLOCAL || Exit 1
+$ACLOCAL
 $AUTOMAKE
diff --git a/tests/strip.test b/tests/strip.test
index 3dcddaf..a005a9a 100755
--- a/tests/strip.test
+++ b/tests/strip.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2002, 2007  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2007, 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
@@ -18,12 +18,11 @@
 
 . ./defs || Exit 1
 
-cat > configure.in << 'END'
-AC_INIT(foo, 0.1, address@hidden)
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+set -e
+
+cat >> configure.in << 'END'
 AC_PROG_CC
-AM_CONDITIONAL(FOOTEST, false)
-AC_CONFIG_FILES(Makefile)
+AM_CONDITIONAL([FOOTEST], [false])
 AC_OUTPUT
 END
 
@@ -38,13 +37,16 @@ END
 
 chmod +x foo
 
-set -e
-
 mkdir install
 
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
-./configure "--prefix=`cd install && pwd`"
+
+prefix=`cd install && pwd` || Exit 1
+./configure --prefix="$prefix"
 $MAKE
 $MAKE install-strip
+diff foo "$prefix"/bin/foo
+
+:
diff --git a/tests/substre2.test b/tests/substre2.test
index 30e7c94..ffe9e8b 100755
--- a/tests/substre2.test
+++ b/tests/substre2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2003  Free Software Foundation, Inc.
+# Copyright (C) 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
@@ -46,6 +46,8 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 ./configure
-$MAKE echorule >output
+$MAKE echorule >output || { cat output; Exit 1; }
 cat output
-grep 'BEG: foo1.obj foo4.obj bar3.obj bar4.obj :END' output
+$FGREP 'BEG: foo1.obj foo4.obj bar3.obj bar4.obj :END' output
+
+:
diff --git a/tests/substref.test b/tests/substref.test
index 41d782a..3d4da05 100755
--- a/tests/substref.test
+++ b/tests/substref.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 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
@@ -14,18 +14,18 @@
 # 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 for bug in variable substitution references when left hand pattern is
-# null.
+# Test for bug in variable substitution references when left hand
+# pattern is null.
 # Report from Richard Boulton
 
 required=gcc
 . ./defs || Exit 1
 
-cat > configure.in << 'END'
-AC_INIT(hello.c)
-AM_INIT_AUTOMAKE(hello,0.23)
+set -e
+
+cat >> configure.in << 'END'
 AC_PROG_CC
-AC_OUTPUT(Makefile)
+AC_OUTPUT
 END
 
 cat > hello.c << 'END'
@@ -39,30 +39,32 @@ var2 = $(var1:=.)
 
 helldl_SOURCES = $(var2:=c)
 
-echorule:
-       @echo $(helldl_SOURCES) $(helldl_OBJECTS)
-
 bin_PROGRAMS = helldl
+
+got:
+       @echo $(helldl_SOURCES) $(helldl_OBJECTS) >got
+
 END
 
 # Ignore user CFLAGS.
 CFLAGS=
 export CFLAGS
 
-set -e
-
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
-CC='gcc' ./configure
+./configure
 
-val=`$MAKE -s echorule`;
-echo $val
-test "x$val" = "xdlmain.c dlmain.o"
+echo dlmain.c dlmain.o >exp
+$MAKE got
+cat got
+diff exp got
 
 # 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
 # it's not needed.  DIST_SOURCES should contains $(helldl_SOURCES).
 grep am__helldl_SOURCES_DIST Makefile && Exit 1
-grep 'DIST_SOURCES.*\(helldl_SOURCES\)' Makefile
+grep 'DIST_SOURCES.*\$(helldl_SOURCES)' Makefile
+
+:
diff --git a/tests/substtarg.test b/tests/substtarg.test
index 7d5e098..d828954 100755
--- a/tests/substtarg.test
+++ b/tests/substtarg.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 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
@@ -21,15 +22,14 @@
 
 set -e
 
-cat > configure.in << 'END'
-AC_INIT(fakelib.c)
-AM_INIT_AUTOMAKE(fakelib,0.0)
+cat >> configure.in << 'END'
+AC_CONFIG_SOURCE([fakelib.c])
 AC_PROG_CC
 RANLIB=:
-AC_SUBST(RANLIB)
+AC_SUBST([RANLIB])
 SUBST=hei
-AC_SUBST(SUBST)
-AC_OUTPUT(Makefile)
+AC_SUBST([SUBST])
+AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
diff --git a/tests/symlink2.test b/tests/symlink2.test
index cb2cd30..97a3d26 100755
--- a/tests/symlink2.test
+++ b/tests/symlink2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002, 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
@@ -18,11 +18,20 @@
 
 . ./defs || Exit 1
 
+set -e
+
 rm -f install-sh
-rm -f mkinstalldirs
-ln -s Zardoz mkinstalldirs
+ln -s Zardoz install-sh || {
+  echo "$me: cannot create broken symlinks" >&2
+  Exit 77
+}
 
 : > Makefile.am
 
-$ACLOCAL || Exit 1
+$ACLOCAL
 $AUTOMAKE --add-missing
+
+test -f install-sh
+test ! -r Zardoz
+
+:
-- 
1.6.5


reply via email to

[Prev in Thread] Current Thread [Next in Thread]