summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-03-10 08:49:55 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-03-14 21:05:21 +0100
commit52ce42bbaf56e5eae76ea8f4fe1484c23c0fa10d (patch)
treecd75f411acfe507af44eb2e7545b801bb1f19a0b
parentfdde53d3a416c0f709f9f5b95c121fc5b13072fd (diff)
downloadautomake-52ce42bbaf56e5eae76ea8f4fe1484c23c0fa10d.tar.gz
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 <stefano.lattarini@gmail.com>
-rwxr-xr-xtests/get-sysconf.test13
1 files 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