Hello automakers. I think it's about time to start the refactoring of `tests/defs.in' we spoke about many times in the past.
I'd like to do this in small steps, posting one or two patches at the time and waiting to have them reviewed/approved before posting the following ones (thus avoding a "diff-bomb" of a patch series with twenty patches or more). I moreover think that this refactoring should be done in *two* public branches (e.g. "sl-tests-init-refactor-maint", stemmed from maint, and "sl-tests-init-refactor-master", stemmed from master). This is required becase: 1. `test/defs.in' in master differs from `test/defs.in' in maint, so that a refactoring step which is complete in maint might be incomplete in master; 2. some changes to `tests/defs.in' will entail related changes to various test scripts, and some of these test scripts might be in master only. Opinions? In the meantime, I have prepared and attached a couple of (mostly cosmetic) patches extracted from my old private branch. Regards, Stefano
From 737c959b177457051e780fc8e9cdfc0f0706dd95 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini <stefano.lattar...@gmail.com> Date: Wed, 2 Jun 2010 21:23:34 +0200 Subject: [PATCH 1/2] Improve code for requiring libtool and gettext in tests. * tests/defs.in: Stricter (and more correct) detection of wheter libtool, libtoolize and/or gettext are in $required. --- ChangeLog | 6 ++++++ tests/defs.in | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 688f4be..aaa6604 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-09-01 Stefano Lattarini <stefano.lattar...@gmail.com> + + Improve code for requiring libtool and gettext in tests. + * tests/defs.in: Stricter (and more correct) detection of wheter + libtool, libtoolize and/or gettext are in $required. + 2010-08-27 Stefano Lattarini <stefano.lattar...@gmail.com> Fix bug in test missing6.test. diff --git a/tests/defs.in b/tests/defs.in index 1744a07..1b7705b 100644 --- a/tests/defs.in +++ b/tests/defs.in @@ -330,8 +330,8 @@ echo "=== Running test $0" # files from an old version of Automake that we don't want to use. # Use `-Wno-syntax' because we do not want our test suite to fail because # some third-party .m4 file is underquoted. -case $required in - *libtool* | *gettext* ) +case " $required " in + *\ libtool\ * | *\ libtoolize\ * | *\ gettext\ * ) aclocaldir='@prefix@/share/aclocal' extra_includes="" if test -f $aclocaldir/dirlist; then @@ -352,9 +352,9 @@ case $required in gettext_found=yes fi done - case $required in - *libtool* ) test $libtool_found = yes || Exit 77 ;; - *gettext* ) test $gettext_found = yes || Exit 77 ;; + case " $required " in + *\ libtool\ | *\ libtoolize\ * ) test $libtool_found = yes || Exit 77 ;; + *\ gettext\ * ) test $gettext_found = yes || Exit 77 ;; esac # Libtool cannot cope with spaces in the build tree. Our testsuite setup # cannot cope with spaces in the source tree name for Libtool and gettext -- 1.7.1
From dd1fa96da3d3f970801354f401070c4ab84ee9a2 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini <stefano.lattar...@gmail.com> Date: Wed, 2 Jun 2010 21:29:20 +0200 Subject: [PATCH 2/2] Tests defs: make spacing more consistent. * tests/defs.in: Make spacing more consistent, especially w.r.t. parentheses in subshells and case statements. Indent only using spaces, not tabs. Also, move a comment to a better position. --- ChangeLog | 5 +++++ tests/defs.in | 52 ++++++++++++++++++++++++++-------------------------- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/ChangeLog b/ChangeLog index aaa6604..b1249e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2010-09-01 Stefano Lattarini <stefano.lattar...@gmail.com> + Tests defs: make spacing more consistent. + * tests/defs.in: Make spacing more consistent, especially w.r.t. + parentheses in subshells and case statements. Indent only using + spaces, not tabs. Also, move a comment to a better position. + Improve code for requiring libtool and gettext in tests. * tests/defs.in: Stricter (and more correct) detection of wheter libtool, libtoolize and/or gettext are in $required. diff --git a/tests/defs.in b/tests/defs.in index 1b7705b..40bc10f 100644 --- a/tests/defs.in +++ b/tests/defs.in @@ -95,12 +95,12 @@ do YACC='bison -y' export YACC echo "$me: running bison --version" - ( bison --version ) || exit 77 + (bison --version) || exit 77 ;; bzip2) # Do not use --version, bzip2 still tries to compress stdin. echo "$me: running bzip2 --help" - ( bzip2 --help ) || exit 77 + (bzip2 --help) || exit 77 ;; etags) # Exuberant Ctags will create a TAGS file even @@ -108,14 +108,14 @@ do # does not have such problem.) Use -o /dev/null # to make sure we do not pollute the tests/ directory. echo "$me: running etags --version -o /dev/null" - ( etags --version -o /dev/null ) || exit 77 + (etags --version -o /dev/null) || exit 77 ;; GNUmake) # Use --version AND -v, because SGI Make doesn't fail on --version. # Also grep for GNU because newer versions of FreeBSD make do # not complain about `--version' (they seem to silently ignore it). echo "$me: running $MAKE --version -v | grep GNU" - ( $MAKE --version -v | grep GNU ) || exit 77 + ($MAKE --version -v | grep GNU) || exit 77 ;; gcc) # When gcc is required, export `CC=gcc' so that ./configure @@ -125,20 +125,20 @@ do CC=gcc export CC echo "$me: running $CC --version" - ( $CC --version ) || exit 77 + ($CC --version) || exit 77 ;; gcj) GCJ=gcj export GCJ echo "$me: running $GCJ --version" - ( $GCJ --version ) || exit 77 - ( $GCJ -v ) || exit 77 + ($GCJ --version) || exit 77 + ($GCJ -v) || exit 77 ;; g++) CXX=g++ export CXX echo "$me: running $CXX --version" - ( $CXX --version ) || exit 77 + ($CXX --version) || exit 77 ;; icc) CC=icc @@ -148,16 +148,16 @@ do # it will try link *nothing* and complain it cannot find # main(); funny). Use -help so it does not try linking anything. echo "$me: running $CC -V -help" - ( $CC -V -help ) || exit 77 + ($CC -V -help) || exit 77 ;; makedepend) echo "$me: running makedepend -f-" - ( makedepend -f- ) || exit 77 + (makedepend -f-) || exit 77 ;; makeinfo-html) # Make sure makeinfo understands --html. echo "$me: running makeinfo --html --version" - ( makeinfo --html --version ) || exit 77 + (makeinfo --html --version) || exit 77 ;; non-root) # Skip this test case if the user is root. @@ -173,7 +173,7 @@ do python) # Python doesn't support --version, it has -V echo "$me: running python -V" - ( python -V ) || exit 77 + (python -V) || exit 77 ;; ro-dir) # Skip this test case if read-only directories aren't supported @@ -189,11 +189,11 @@ do rst2html) # Try the variants that are tried in check.am. while :; do - for r2h in $RST2HTML rst2html rst2html.py; do - echo "$me: running $r2h --version" - $r2h --version && break 2 - done - exit 77 + for r2h in $RST2HTML rst2html rst2html.py; do + echo "$me: running $r2h --version" + $r2h --version && break 2 + done + exit 77 done ;; runtest) @@ -211,12 +211,12 @@ do texi2dvi-o) # Texi2dvi supports `-o' since Texinfo 4.1. echo "$me: running texi2dvi -o /dev/null --version" - ( texi2dvi -o /dev/null --version ) || exit 77 + (texi2dvi -o /dev/null --version) || exit 77 ;; - # Generic case: the tool must support --version. *) + # Generic case: the tool must support --version. echo "$me: running $tool --version" - ( $tool --version ) || exit 77 + ($tool --version) || exit 77 ;; esac done @@ -331,7 +331,7 @@ echo "=== Running test $0" # Use `-Wno-syntax' because we do not want our test suite to fail because # some third-party .m4 file is underquoted. case " $required " in - *\ libtool\ * | *\ libtoolize\ * | *\ gettext\ * ) + *\ libtool\ *|*\ libtoolize\ *|*\ gettext\ *) aclocaldir='@prefix@/share/aclocal' extra_includes="" if test -f $aclocaldir/dirlist; then @@ -346,21 +346,21 @@ case " $required " in for d in $extra_includes $aclocaldir ; do test "x$d" != x-I || continue if test -f "$d/libtool.m4"; then - libtool_found=yes + libtool_found=yes fi if test -f "$d/gettext.m4"; then - gettext_found=yes + gettext_found=yes fi done case " $required " in - *\ libtool\ | *\ libtoolize\ * ) test $libtool_found = yes || Exit 77 ;; - *\ gettext\ * ) test $gettext_found = yes || Exit 77 ;; + *\ libtool\ *|*\ libtoolize\ *) test $libtool_found = yes || Exit 77;; + *\ gettext\ *) test $gettext_found = yes || Exit 77;; esac # Libtool cannot cope with spaces in the build tree. Our testsuite setup # cannot cope with spaces in the source tree name for Libtool and gettext # tests. case $srcdir,`pwd` in - *\ * | *\ *) Exit 77 ;; + *\ *|*\ *) Exit 77;; esac ACLOCAL="$ACLOCAL -Wno-syntax -I $srcdir/../m4 $extra_includes -I $aclocaldir" ;; -- 1.7.1