[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Modernize, improve and/or tweak various test scripts.
From: |
Stefano Lattarini |
Subject: |
Re: [PATCH] Modernize, improve and/or tweak various test scripts. |
Date: |
Mon, 13 Sep 2010 11:22:37 +0200 |
User-agent: |
KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; ) |
Hello automakers.
I updated the patch slighty (see test `depdist.test') to follow the
emerging principle of preferring "semantic" tests to "grepping" tests
in the Automake testsuite.
Regards,
Stefano
From b6d67d34e440ef275f77c955a84658fb70c160f0 Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Mon, 21 Jun 2010 18:07:09 +0200
Subject: [PATCH] Modernize, improve and/or tweak various test scripts.
* tests/stamph2.test: Improve m4 quoting in `configure.in', and
prefer trailing `:' over trailing `Exit 0'.
* tests/syntax.test: Escape literal dots in grep regexps.
* tests/copy.test: Enable `errexit' shell flag. Extend test by
checking with `test' utility that the script `install-sh' is
copied, but not symlinked.
* tests/depdist.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Avoid obsoleted
constructs in generated `configure.in'. Prefer to do our checks
by running configure and make over grepping Makefile.in.
* tests/target-cflags: Move setting of `errexit' shell flag
earlier in the script (just after inclusion of ./defs). Use the
`configure.in' stub created by `./defs', rather than writing it
from scratch.
* tests/target-clash: Do not uselessly run autoconf.
* tests/ctarget1.test: Renamed ...
* tests/cond1.test: ... to this. Use the `configure.in' stub
created by `./defs', rather than writing it from scratch.
Move setting of `errexit' shell flag earlier in the script (just
after inclusion of ./defs). Other minor cosmetic changes.
* tests/Makefile.am (TESTS): Updated.
---
ChangeLog | 25 +++++++++++++++++++
tests/Makefile.am | 2 +-
tests/Makefile.in | 2 +-
tests/{ctarget1.test => cond1.test} | 20 +++++++-------
tests/copy.test | 11 +++++++-
tests/depdist.test | 46 +++++++++++++++++++++++++----------
tests/stamph2.test | 18 +++++++-------
tests/syntax.test | 7 ++++-
tests/target-cflags.test | 12 ++++----
tests/targetclash.test | 5 ++-
10 files changed, 102 insertions(+), 46 deletions(-)
rename tests/{ctarget1.test => cond1.test} (81%)
diff --git a/ChangeLog b/ChangeLog
index 2334c5c..a990bc9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2010-09-13 Stefano Lattarini <address@hidden>
+
+ Modernize, improve and/or tweak various test scripts.
+ * tests/stamph2.test: Improve m4 quoting in `configure.in', and
+ prefer trailing `:' over trailing `Exit 0'.
+ * tests/syntax.test: Escape literal dots in grep regexps.
+ * tests/copy.test: Enable `errexit' shell flag. Extend test by
+ checking with `test' utility that the script `install-sh' is
+ copied, but not symlinked.
+ * tests/depdist.test: Move setting of `errexit' shell flag earlier
+ in the script (just after inclusion of ./defs). Avoid obsoleted
+ constructs in generated `configure.in'. Prefer to do our checks
+ by running configure and make over grepping Makefile.in.
+ * tests/target-cflags: Move setting of `errexit' shell flag
+ earlier in the script (just after inclusion of ./defs). Use the
+ `configure.in' stub created by `./defs', rather than writing it
+ from scratch.
+ * tests/target-clash: Do not uselessly run autoconf.
+ * tests/ctarget1.test: Renamed ...
+ * tests/cond1.test: ... to this. Use the `configure.in' stub
+ created by `./defs', rather than writing it from scratch.
+ Move setting of `errexit' shell flag earlier in the script (just
+ after inclusion of ./defs). Other minor cosmetic changes.
+ * tests/Makefile.am (TESTS): Updated.
+
2010-09-08 Stefano Lattarini <address@hidden>
Do not require "gzip" explicitly in tests.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 58103cc..205a520 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -162,6 +162,7 @@ compile2.test \
compile_f90_c_cxx.test \
compile_f_c_cxx.test \
cond.test \
+cond1.test \
cond2.test \
cond3.test \
cond4.test \
@@ -233,7 +234,6 @@ confsub.test \
confvar.test \
confvar2.test \
copy.test \
-ctarget1.test \
cxx.test \
cxx2.test \
cxxansi.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index e967caa..493d6bb 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -400,6 +400,7 @@ compile2.test \
compile_f90_c_cxx.test \
compile_f_c_cxx.test \
cond.test \
+cond1.test \
cond2.test \
cond3.test \
cond4.test \
@@ -471,7 +472,6 @@ confsub.test \
confvar.test \
confvar2.test \
copy.test \
-ctarget1.test \
cxx.test \
cxx2.test \
cxxansi.test \
diff --git a/tests/ctarget1.test b/tests/cond1.test
similarity index 81%
rename from tests/ctarget1.test
rename to tests/cond1.test
index d2191f6..0609ec1 100755
--- a/tests/ctarget1.test
+++ b/tests/cond1.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
@@ -18,11 +18,11 @@
. ./defs || Exit 1
-cat > configure.in << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
-AM_CONDITIONAL(TEST, true)
-AC_OUTPUT(Makefile)
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL([TEST], [true])
+AC_OUTPUT
END
cat > Makefile.am << 'END'
@@ -34,11 +34,11 @@ target: false
endif
END
-set -e
-
-$ACLOCAL || Exit 1
+$ACLOCAL
$AUTOMAKE
+
grep 'address@hidden@target: true' Makefile.in
grep 'address@hidden@ action' Makefile.in
grep 'address@hidden@target: false' Makefile.in
-Exit 0
+
+:
diff --git a/tests/copy.test b/tests/copy.test
index 770ae51..e4199a1 100755
--- a/tests/copy.test
+++ b/tests/copy.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1999, 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,8 +18,15 @@
. ./defs || Exit 1
+set -e
+
: > Makefile.am
rm -f install-sh
-$ACLOCAL || Exit 1
+$ACLOCAL
$AUTOMAKE -c -a
+
+test -f install-sh
+test ! -h install-sh
+
+:
diff --git a/tests/depdist.test b/tests/depdist.test
index f36eb47..c670cb8 100755
--- a/tests/depdist.test
+++ b/tests/depdist.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
@@ -17,40 +17,60 @@
# Make sure depcomp is found for the distribution.
# From Eric Magnien.
+required=gcc # FIXME: any C compiler should be ok!
. ./defs || Exit 1
+set -e
+
rm -f configure.in
mkdir config
for i in *; do
- if test $i != "config"; then
- mv $i config
+ if test "$i" != "config"; then
+ mv -f "$i" config
fi
done
-cat > configure.in << 'END'
-AC_INIT(subdir/foo.c)
-AC_CONFIG_AUX_DIR(config)
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+cat > configure.in << END
+AC_INIT([$me], [1.0])
+AC_CONFIG_AUX_DIR([config])
+AM_INIT_AUTOMAKE
AC_PROG_CC
-AC_OUTPUT(subdir/Makefile Makefile)
+AC_CONFIG_FILES([subdir/Makefile Makefile])
+AC_OUTPUT
END
cat > Makefile.am << 'END'
SUBDIRS = subdir
+check-local: test1 test2
+.PHONY: test1 test2
+test1:
+ echo ' ' $(DIST_COMMON) ' ' | grep '[ /]config/depcomp '
+test2: distdir
+ ls -l $(distdir)/*
+ test -f $(distdir)/config/depcomp
END
mkdir subdir
-: > subdir/foo.c
+cat > subdir/foo.c << 'END'
+int main(void)
+{
+ return 0;
+}
+END
cat > subdir/Makefile.am << 'END'
bin_PROGRAMS = foo
foo_SOURCES = foo.c
END
-set -e
-
$ACLOCAL
-$AUTOMAKE --add-missing
$AUTOCONF
-grep config/depcomp Makefile.in
+$AUTOMAKE --add-missing
+
+./configure
+
+$MAKE check
+$MAKE distcheck
+
+:
diff --git a/tests/stamph2.test b/tests/stamph2.test
index cb96d27..aa07743 100755
--- a/tests/stamph2.test
+++ b/tests/stamph2.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 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,14 +20,14 @@
set -e
cat >> configure.in << END
-AM_CONFIG_HEADER(1.h
- 2.h:config.hin
- 3.h:sdir1/config1.hin)
+AM_CONFIG_HEADER([1.h
+ 2.h:config.hin
+ 3.h:sdir1/config1.hin])
# AM_CONFIG_HEADER and AC_CONFIG_HEADERS should be synonyms.
-AC_CONFIG_HEADERS(sdir1/4.h
- sdir1/5.h:config.hin
- sdir1/6.h:sdir1/config1.hin
- sdir1/7.h:sdir2/config2.hin)
+AC_CONFIG_HEADERS([sdir1/4.h
+ sdir1/5.h:config.hin
+ sdir1/6.h:sdir1/config1.hin
+ sdir1/7.h:sdir2/config2.hin])
AC_OUTPUT
END
@@ -68,4 +68,4 @@ test ! -f sdir1/stamp-h5
test ! -f sdir1/stamp-h6
test -f sdir1/stamp-h7
-Exit 0
+:
diff --git a/tests/syntax.test b/tests/syntax.test
index 505486f..3b2a4e5 100755
--- a/tests/syntax.test
+++ b/tests/syntax.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
@@ -28,4 +29,6 @@ END
$ACLOCAL
AUTOMAKE_fails
-grep 'Makefile.am:2:.*blank line' stderr
+grep 'Makefile\.am:2:.*blank line' stderr
+
+:
diff --git a/tests/target-cflags.test b/tests/target-cflags.test
index b324568..f3ac9cc 100755
--- a/tests/target-cflags.test
+++ b/tests/target-cflags.test
@@ -21,12 +21,12 @@
required=gcc
. ./defs || Exit 1
-cat > configure.in << 'END'
-AC_INIT(foo.c)
-AM_INIT_AUTOMAKE(target-cflags,0.0)
+set -e
+
+cat >> configure.in << 'END'
AC_PROG_CC
AM_PROG_CC_C_O
-AC_OUTPUT(Makefile)
+AC_OUTPUT
END
cat > Makefile.am << 'END'
@@ -54,8 +54,6 @@ int main(void)
#endif
END
-set -e
-
$ACLOCAL
$AUTOCONF
$AUTOMAKE -a
@@ -72,3 +70,5 @@ cd ..
$MAKE
./foo
./bar
+
+:
diff --git a/tests/targetclash.test b/tests/targetclash.test
index 0433b41..87e37a8 100755
--- a/tests/targetclash.test
+++ b/tests/targetclash.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# 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
@@ -30,6 +30,7 @@ bin_PROGRAMS = ctags
END
$ACLOCAL
-$AUTOCONF
AUTOMAKE_fails -a
grep 'redefinition.*ctags' stderr
+
+:
--
1.7.1
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH] Modernize, improve and/or tweak various test scripts.,
Stefano Lattarini <=