]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
tests: avoid spurious failures in get-sysconf.test
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 10 Mar 2012 07:49:55 +0000 (08:49 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Wed, 14 Mar 2012 20:05:21 +0000 (21:05 +0100)
This change fixes the last bit of automake bug#10866.

* tests/get-sysconf.test: When Homebrew spawns a build, even if
from a project's VCS, it stages the files in a new temporary
directory, instead of building directly from a VCS checkout.
This behaviour was causing a spurious failure in this test, which
expected to find either a ChangeLog file or a .git directory in
the source directory (the former happening when the test was run
from a distribution tarball, the latter when it was run from a
git checkout).  The Homebrew issue shows that these expectations
are not truly warranted, so relax the test to just give a warning,
not a failure, in case they do not hold.  Since we are at it, fix
an unrelated weakness in the displaying of the git log, which
could have failed when the builddir was not a subdirectory of the
srcdir.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
tests/get-sysconf.test

index bad4735d980a3d5669e807b56b79410de08cb12e..cbcf07698471b68502a3241711108988dc8d1c9f 100755 (executable)
@@ -32,16 +32,21 @@ top_testbuilddir=`(cd $testbuilddir/.. && pwd)`
 st=0
 if test -d "$top_testsrcdir"/.git; then
   # We are running from a git checkout.
-  git log -1 || st=1
-else
-  # We are probably running from a distribution tarball, so
-  # the ChangeLog file must be present.
+  (cd "$top_testsrcdir" && git log -1) || st=1
+elif test -f "$top_testsrcdir"/ChangeLog; then
+  # We are probably running from a distribution tarball.
   awk '
     BEGIN { first = 1 }
     (first == 1) { print; first = 0; next; }
     /^[^\t]/ { exit(0); }
     { print }
   ' "$top_testsrcdir"/ChangeLog || st=1
+else
+  # Some non-common but possibly valid setup (see for example the Homebrew
+  # problem reported in automake bug#10866); so just give an harmless
+  # warning instead of failing.
+  warn_ "no .git directory nor ChangeLog file found, some info won't" \
+        "be available"
 fi
 $PERL -V || st=1
 cat "$top_testbuilddir/config.log" || st=1