[Top][All Lists]
[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
- [PATCH] Modernize, improve and/or fix various test scripts (again),
Stefano Lattarini <=