diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-03-10 08:49:55 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-03-14 21:05:21 +0100 |
commit | 52ce42bbaf56e5eae76ea8f4fe1484c23c0fa10d (patch) | |
tree | cd75f411acfe507af44eb2e7545b801bb1f19a0b | |
parent | fdde53d3a416c0f709f9f5b95c121fc5b13072fd (diff) | |
download | automake-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-x | tests/get-sysconf.test | 13 |
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 |