automake-patches
[Top][All Lists]
Advanced

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

Re: [PATCH 2/4] {branch "tests-init"} Tests defs: new variable $top_srcd


From: Stefano Lattarini
Subject: Re: [PATCH 2/4] {branch "tests-init"} Tests defs: new variable $top_srcdir.
Date: Mon, 6 Sep 2010 01:13:50 +0200
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

On Sunday 05 September 2010, Ralf Wildenhues wrote:
> * Stefano Lattarini wrote on Fri, Sep 03, 2010 at 12:24:12AM CEST:
> > * tests/defs.in ($top_srcdir): Define unconditionally
> > to @address@hidden  Use it throughout.
> > * tests/ar-lib.test: Use `$top_srcdir' instead of
> > `$testsrcdir/..'.
> > * tests/auxdir.test: Likewise.
> > * tests/compile.test: Likewise.
> > * tests/compile2.test: Likewise.
> > * tests/compile3.test: Likewise.
> > * tests/compile5.test: Likewise.
> > * tests/mdate6.test: Likewise.
> > * tests/mkinst3.test: Likewise.
> > * tests/multlib.test: Likewise.
> > * tests/txinfo22.test: Likewise.
> 
> I'm not sure I understand why you first rename testsrcdir to
> top_srcdir just to then rename it again.
I never renamed $testsrcdir as $top_srcdir; what I did was add
$top_srcdir, and then rename it to $top_testsrcdir in the next
commit.  Which is still suboptimal, and is the result of various 
amendings/squashings/movings of git commits.
> Why not rename it to the final name right away?
No reason not to.  I'll amend the patches to introduce $top_testsrcdir
right away, and then do the rename $srcdir -> $testsrcdir in the 
following commit.  The updated patches are attached.
> That would also alleviate any fears that
> top_srcdir could influence testsuite results (I don't see your
> patch exporting the variable, but it may have been exported
> elsewhere, or before).
Another good point.
 
> Other than that, the flattened changes 2-4/4 look fine, thanks.
> (I haven't checked whether you caught all instances of the
> variables.)
grep seems to confirm I did.  Anyway, I'll run the testsuite before 
pushing the patch series.

Regards,
   Stefano
From a70b489a1f96539ce2d19b27f899ad74c04f500f Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Thu, 3 Jun 2010 01:03:00 +0200
Subject: [PATCH 2/4] Tests defs: new variable $top_testsrcdir.

* tests/defs.in ($top_testsrcdir): Define unconditionally
to @address@hidden  Use it throughout.
* tests/ar-lib.test: Use `$top_testsrcdir' instead of
`$testsrcdir/..'.
* tests/auxdir.test: Likewise.
* tests/compile.test: Likewise.
* tests/compile2.test: Likewise.
* tests/compile3.test: Likewise.
* tests/compile5.test: Likewise.
* tests/mdate6.test: Likewise.
* tests/mkinst3.test: Likewise.
* tests/multlib.test: Likewise.
* tests/txinfo22.test: Likewise.
---
 ChangeLog           |   15 +++++++++++++++
 tests/ar-lib.test   |    3 ++-
 tests/auxdir.test   |    5 +++--
 tests/compile.test  |    4 ++--
 tests/compile2.test |    4 ++--
 tests/compile3.test |    2 +-
 tests/compile5.test |    2 +-
 tests/defs.in       |   15 ++++++++-------
 tests/mdate6.test   |    2 +-
 tests/mkinst3.test  |    4 ++--
 tests/multlib.test  |    4 ++--
 tests/obsolete.test |    2 +-
 tests/txinfo22.test |    5 +++--
 13 files changed, 43 insertions(+), 24 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a42df97..28826f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
 2010-09-06  Stefano Lattarini  <address@hidden>
 
+       Tests defs: new variable $top_testsrcdir.
+       * tests/defs.in ($top_testsrcdir): Define unconditionally
+       to @address@hidden  Use it throughout.
+       * tests/ar-lib.test: Use `$top_testsrcdir' instead of
+       `$testsrcdir/..'.
+       * tests/auxdir.test: Likewise.
+       * tests/compile.test: Likewise.
+       * tests/compile2.test: Likewise.
+       * tests/compile3.test: Likewise.
+       * tests/compile5.test: Likewise.
+       * tests/mdate6.test: Likewise.
+       * tests/mkinst3.test: Likewise.
+       * tests/multlib.test: Likewise.
+       * tests/txinfo22.test: Likewise.
+
        Tests defs: $srcdir is unconditionally substituted.
        * tests/defs.in ($srcdir): Define unconditionally to @address@hidden
        Remove code for $srcdir normalization, which is now useless.
diff --git a/tests/ar-lib.test b/tests/ar-lib.test
index d418c21..d3f5f01 100755
--- a/tests/ar-lib.test
+++ b/tests/ar-lib.test
@@ -20,7 +20,8 @@
 
 set -e
 
-cp "$testsrcdir/../lib/ar-lib" .
+cp "$top_testsrcdir/lib/ar-lib" .
+
 # Use a dummy lib, since lib isn't readily available on all systems
 cat >lib <<'END'
 #! /bin/sh
diff --git a/tests/auxdir.test b/tests/auxdir.test
index 95a7a20..74f6e6c 100755
--- a/tests/auxdir.test
+++ b/tests/auxdir.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 1996, 2001, 2002, 2003, 2004, 2007  Free Software Foundation, 
Inc.
+# Copyright (C) 1996, 2001, 2002, 2003, 2004, 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
@@ -30,7 +31,7 @@ cat > Makefile.am << 'END'
 pkgdata_DATA =
 END
 
-cp "$testsrcdir/../lib/mkinstalldirs" .
+cp "$top_testsrcdir/lib/mkinstalldirs" .
 
 # The "././" prefix confuses Automake into thinking it is doing a
 # subdir build.  Yes, this is hacky.
diff --git a/tests/compile.test b/tests/compile.test
index ef27afe..6162861 100755
--- a/tests/compile.test
+++ b/tests/compile.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2004, 2007  Free Software Foundation, Inc.
+# Copyright (C) 2004, 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
@@ -20,7 +20,7 @@
 
 set -e
 
-cp "$testsrcdir/../lib/compile" .
+cp "$top_testsrcdir/lib/compile" .
 
 # -o 'a  c' should not be stripped because 'a  c' is not an object
 # (it does not matter whether touch creates ./-- or not)
diff --git a/tests/compile2.test b/tests/compile2.test
index fe4574a..e3069d0 100755
--- a/tests/compile2.test
+++ b/tests/compile2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009  Free Software Foundation, Inc.
+# Copyright (C) 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
@@ -20,7 +20,7 @@
 
 set -e
 
-cp "$testsrcdir/../lib/compile" .
+cp "$top_testsrcdir/lib/compile" .
 
 cat >mycc <<'END'
 source_seen=no
diff --git a/tests/compile3.test b/tests/compile3.test
index b77237b..e7b8b6d 100755
--- a/tests/compile3.test
+++ b/tests/compile3.test
@@ -20,7 +20,7 @@
 
 set -e
 
-cp "$testsrcdir/../lib/compile" .
+cp "$top_testsrcdir/lib/compile" .
 
 # Use a dummy cl, since cl isn't readily available on all systems
 cat >cl <<'END'
diff --git a/tests/compile5.test b/tests/compile5.test
index cd1468f..5fc1b30 100755
--- a/tests/compile5.test
+++ b/tests/compile5.test
@@ -21,7 +21,7 @@
 
 set -e
 
-cp "$testsrcdir/../lib/compile" .
+cp "$top_testsrcdir/lib/compile" .
 
 # Use a dummy cl, since cl isn't readily available on all systems
 cat >cl <<'END'
diff --git a/tests/defs.in b/tests/defs.in
index 109c458..7179659 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -22,6 +22,7 @@
 
 # Absolutely necessary variable(s).
 srcdir='@abs_srcdir@'
+top_testsrcdir='@abs_top_srcdir@'
 
 # Protect this file against multiple inclusion, useful for generated tests.
 if test x"$am_skip_defs" = xyes; then
@@ -66,7 +67,7 @@ test -z "$MAKE" && MAKE=make
 test -z "$AUTOCONF" && AUTOCONF="@am_AUTOCONF@"
 test -z "$AUTOHEADER" && AUTOHEADER="@am_AUTOHEADER@"
 test -z "$AUTOUPDATE" && AUTOUPDATE=autoupdate
-test -z "$MISSING" && MISSING=`pwd`/../lib/missing
+test -z "$MISSING" && MISSING=$top_testsrcdir/lib/missing
 # Use -Werror because this also turns some Perl warnings into error.
 # (Tests for which this is inappropriate should use -Wno-error.)
 test -z "$ACLOCAL" && ACLOCAL="address@hidden@ -Werror"
@@ -278,7 +279,7 @@ signal=0
 
 # Copy in some files we need.
 for file in install-sh missing depcomp; do
-   cp "$srcdir/../lib/$file" "$testSubDir/$file" || Exit 1
+   cp "$top_testsrcdir/lib/$file" "$testSubDir/$file" || Exit 1
 done
 
 cd ./$testSubDir
@@ -326,9 +327,9 @@ echo "=== Running test $0"
 
 # We might need extra macros, e.g., from Libtool or Gettext.
 # Find them on the system.
-# Use `-I $srcdir/../m4' in addition to `--acdir=$srcdir/../m4', because the
-# other `-I' directories added for libtool and gettext might contain
-# files from an old version of Automake that we don't want to use.
+# Use `-I $top_testsrcdir/m4' in addition to `--acdir=$top_testsrcdir/m4',
+# because the other `-I' directories added for libtool and gettext might
+# contain 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
@@ -363,11 +364,11 @@ case " $required " in
     case $srcdir,`pwd` in
       *\ * | *\        *) Exit 77;;
     esac
-    ACLOCAL="$ACLOCAL -Wno-syntax -I $srcdir/../m4 $extra_includes -I 
$aclocaldir"
+    ACLOCAL="$ACLOCAL -Wno-syntax -I $top_testsrcdir/m4 $extra_includes -I 
$aclocaldir"
     ;;
 esac
 
-testaclocaldir='@abs_top_srcdir@/m4'
+testaclocaldir=$top_testsrcdir/m4
 
 # POSIX no longer requires 'egrep' and 'fgrep',
 # but some hosts lack 'grep -E' and 'grep -F'.
diff --git a/tests/mdate6.test b/tests/mdate6.test
index e7f7d69..cb2456c 100755
--- a/tests/mdate6.test
+++ b/tests/mdate6.test
@@ -24,7 +24,7 @@ a=
 file='file  name $a'
 ( : > "$file" ) || Exit 77
 
-cp "$testsrcdir"/../lib/mdate-sh .
+cp "$top_testsrcdir/lib/mdate-sh" .
 $SHELL ./mdate-sh "$file" >stdout 2>stderr ||
   { cat stdout; cat stderr >&2; Exit 1; }
 cat stdout
diff --git a/tests/mkinst3.test b/tests/mkinst3.test
index 18f18fb..6ccabf9 100755
--- a/tests/mkinst3.test
+++ b/tests/mkinst3.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 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
@@ -25,7 +25,7 @@ mkdir '~a b' || Exit 77
 mkdir '~a b/-x  y' || Exit 77
 rm -rf '~a b'
 
-cp "$testsrcdir/../lib/mkinstalldirs" .
+cp "$top_testsrcdir/lib/mkinstalldirs" .
 
 # Test mkinstalldirs with the installed mkdir.
 
diff --git a/tests/multlib.test b/tests/multlib.test
index 5ff19d7..73e9b37 100755
--- a/tests/multlib.test
+++ b/tests/multlib.test
@@ -107,8 +107,8 @@ mkdir libbar/sub
 
 : > libbar/bar.c
 
-cp "$testsrcdir/../lib/config-ml.in" .
-cp "$testsrcdir/../lib/symlink-tree" .
+cp "$top_testsrcdir/lib/config-ml.in" .
+cp "$top_testsrcdir/lib/symlink-tree" .
 
 $ACLOCAL
 $AUTOCONF
diff --git a/tests/obsolete.test b/tests/obsolete.test
index 337e4db..588fc0d 100755
--- a/tests/obsolete.test
+++ b/tests/obsolete.test
@@ -28,7 +28,7 @@ AC_INIT
 END
 
 $PERL -ne '/AU_DEFUN\(\[(\w+)\]/ && print "$1\n"' \
-    "$testsrcdir/../m4/obsolete.m4" >> obs
+    "$top_testsrcdir/m4/obsolete.m4" >> obs
 cat obs >> configure.in
 $PERL -ne 'chomp; print "grep $_ stderr || Exit 1\n"; ' obs > obs.1
 $PERL -ne 'chomp; print "grep $_ configure.in && Exit 1\n"; ' obs > obs.2
diff --git a/tests/txinfo22.test b/tests/txinfo22.test
index 3c2265d..4adf473 100755
--- a/tests/txinfo22.test
+++ b/tests/txinfo22.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2003, 2004, 2007, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2007, 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
@@ -56,7 +57,7 @@ END
 
 mkdir aux1
 mkdir tex
-cp "$testsrcdir/../lib/texinfo.tex" tex
+cp "$top_testsrcdir/lib/texinfo.tex" tex
 
 $ACLOCAL
 $AUTOMAKE --add-missing
-- 
1.7.1

From b30c520ee85b91dd8a5afa5296b83e0ec578c53e Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Wed, 2 Jun 2010 21:55:23 +0200
Subject: [PATCH 3/4] Tests defs: $srcdir renaming.

* tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
* tests/Makefile.am ($(parallel_tests)): Generation of derived
tests updated.
---
 ChangeLog         |    5 +++++
 tests/Makefile.am |    6 +++---
 tests/Makefile.in |    6 +++---
 tests/defs.in     |   18 ++++++++----------
 4 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 28826f3..2b41e2b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2010-09-06  Stefano Lattarini  <address@hidden>
 
+       Tests defs: $srcdir and $top_srcdir renaming.
+       * tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
+       * tests/Makefile.am ($(parallel_tests)): Generation of derived
+       tests updated.
+
        Tests defs: new variable $top_testsrcdir.
        * tests/defs.in ($top_testsrcdir): Define unconditionally
        to @address@hidden  Use it throughout.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d86b03b..f4fba45 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -34,10 +34,10 @@ $(parallel_tests): Makefile.am
        { echo '#!/bin/sh'; \
          echo '# DO NOT EDIT!  GENERATED AUTOMATICALLY!'; \
          echo; \
-         echo '# Ensure proper definition of $$srcdir.'; \
+         echo '# Ensure proper definition of $$testsrcdir.'; \
          echo 'am_skip_defs=yes'; \
          echo '. ./defs || exit 99'; \
-         echo 'test -n "$$srcdir" || exit 99 # sanity check'; \
+         echo 'test -n "$$testsrcdir" || exit 99 # sanity check'; \
          echo; \
          echo "# Run the test with Automake's parallel-tests driver enabled."; 
\
          echo 'parallel_tests=yes'; \
@@ -46,7 +46,7 @@ $(parallel_tests): Makefile.am
          echo "if test -f \"./$$input\"; then"; \
          echo "  . \"./$$input\""; \
          echo 'else'; \
-         echo "  . \"\$$srcdir/$$input\""; \
+         echo "  . \"\$$testsrcdir/$$input\""; \
          echo 'fi'; \
        } > address@hidden
        $(AM_V_at)chmod a+rx address@hidden && mv -f address@hidden $@
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 77ec888..af80fdb 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1408,10 +1408,10 @@ $(parallel_tests): Makefile.am
        { echo '#!/bin/sh'; \
          echo '# DO NOT EDIT!  GENERATED AUTOMATICALLY!'; \
          echo; \
-         echo '# Ensure proper definition of $$srcdir.'; \
+         echo '# Ensure proper definition of $$testsrcdir.'; \
          echo 'am_skip_defs=yes'; \
          echo '. ./defs || exit 99'; \
-         echo 'test -n "$$srcdir" || exit 99 # sanity check'; \
+         echo 'test -n "$$testsrcdir" || exit 99 # sanity check'; \
          echo; \
          echo "# Run the test with Automake's parallel-tests driver enabled."; 
\
          echo 'parallel_tests=yes'; \
@@ -1420,7 +1420,7 @@ $(parallel_tests): Makefile.am
          echo "if test -f \"./$$input\"; then"; \
          echo "  . \"./$$input\""; \
          echo 'else'; \
-         echo "  . \"\$$srcdir/$$input\""; \
+         echo "  . \"\$$testsrcdir/$$input\""; \
          echo 'fi'; \
        } > address@hidden
        $(AM_V_at)chmod a+rx address@hidden && mv -f address@hidden $@
diff --git a/tests/defs.in b/tests/defs.in
index 7179659..7f6807c 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -21,7 +21,7 @@
 # Tom Tromey <address@hidden>
 
 # Absolutely necessary variable(s).
-srcdir='@abs_srcdir@'
+testsrcdir='@abs_srcdir@'
 top_testsrcdir='@abs_top_srcdir@'
 
 # Protect this file against multiple inclusion, useful for generated tests.
@@ -50,9 +50,9 @@ test -f ./defs || {
    exit 1
 }
 
-# Ensure $srcdir is set correctly.
-test -f "$srcdir/defs.in" || {
-   echo "$srcdir/defs.in not found, check \$srcdir" 1>&2
+# Ensure $testsrcdir is set correctly.
+test -f "$testsrcdir/defs.in" || {
+   echo "$testsrcdir/defs.in not found, check \$testsrcdir" 1>&2
    exit 1
 }
 
@@ -312,6 +312,9 @@ unset DESTDIR
 unset prefix exec_prefix bindir datarootdir datadir docdir dvidir
 unset htmldir includedir infodir libdir libexecdir localedir mandir
 unset oldincludedir pdfdir psdir sbindir sharedstatedir sysconfdir
+# The tests call `make -e' but we do not want $srcdir from the environment
+# to override the definition from the Makefile.
+unset srcdir
 # Also unset variables that control our test driver.  While not
 # conceptually independent, they cause some changed semantics we
 # need to control (and test for) in some of the tests to ensure
@@ -361,7 +364,7 @@ case " $required " in
     # 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
+    case $testsrcdir,`pwd` in
       *\ * | *\        *) Exit 77;;
     esac
     ACLOCAL="$ACLOCAL -Wno-syntax -I $top_testsrcdir/m4 $extra_includes -I 
$aclocaldir"
@@ -380,11 +383,6 @@ FGREP='@FGREP@'
 # and can be up to 3 seconds in the future w.r.t. the system clock.
 sleep='sleep @MODIFICATION_DELAY@'
 
-# The tests call `make -e' but we do not want $srcdir from the environment
-# to override the definition from the Makefile.
-testsrcdir=$srcdir
-unset srcdir
-
 # An old timestamp that can be given to a file, in "touch -t" format.
 # The time stamp should be portable to all file systems of interest.
 # Just for fun, choose the exact time of the announcement of the GNU project
-- 
1.7.1


reply via email to

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