From 52ce42bbaf56e5eae76ea8f4fe1484c23c0fa10d Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Sat, 10 Mar 2012 08:49:55 +0100 Subject: [PATCH] tests: avoid spurious failures in get-sysconf.test 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 --- tests/get-sysconf.test | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/get-sysconf.test b/tests/get-sysconf.test index bad4735d9..cbcf07698 100755 --- a/tests/get-sysconf.test +++ b/tests/get-sysconf.test @@ -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 -- 2.11.4.GIT