summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-01-27 18:35:28 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-01-28 14:05:49 +0100
commit0436a1ed2c44b9e8b3c8f2f049e06bfac4969d3e (patch)
tree5c506e823d5bb5243857947067cefdfb334350a7
parentd55b9302515d68c178259048df592f0a80d1d67d (diff)
downloadautomake-0436a1ed2c44b9e8b3c8f2f049e06bfac4969d3e.tar.gz
tests: avoid spurious failure of 'transform2.test' on Cygwin
On newer Cygwin versions (at least 1.7.x), the 'transform2.test' test has been failing spuriously; the gist is the following: some *purposefully* rigged install rules there try something like: install bla.exe .../inst/bin/foo.exe install script.sh .../inst/bin/foo and the second install command fails (trying to overwrite the '.../inst/bin/foo.exe' file, likely due to overly aggressive appending of '.exe' suffix when copying/renaming Windows executables). Since this is a Cygwin issue rather than an Automake one (and since the use case we are testing is a really corner-case anyway, making it unworthy to attempt to work around it in automake proper), we simply hack the test case to avoid the failure. Analysis by Peter Rosin and Ralf Wildenhues. References: <http://lists.gnu.org/archive/html/automake-patches/2010-08/msg00153.html> <http://thread.gmane.org/gmane.os.cygwin/119380> * tests/transform2.test: Skip the affected part of the test if the described Cygwin behaviour is detected.
-rwxr-xr-xtests/transform2.test17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/transform2.test b/tests/transform2.test
index 0f9d5ec08..07943bc9a 100755
--- a/tests/transform2.test
+++ b/tests/transform2.test
@@ -1,5 +1,6 @@
#! /bin/sh
-# Copyright (C) 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2007, 2008, 2012 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
@@ -74,9 +75,23 @@ $MAKE uninstall
test `find inst -type f -print | wc -l` = 0
# Also squash all file types in question.
+
+# On newer Cygwin versions, that won't work, likely due to overly
+# aggressive appending of '.exe' suffix when copying/renaming Windows
+# executables). So let's skip this part of the test if we detect the
+# faulty heuristic is present. See also:
+# <http://lists.gnu.org/archive/html/automake-patches/2010-08/msg00153.html>
+# <http://thread.gmane.org/gmane.os.cygwin/119380>
+echo Foo > foo
+echo Bar > bar.exe
+chmod a+x foo bar.exe
+cp foo bar && cmp foo bar \
+ || skip_ "your Cygwin is too aggressive in tweaking '.exe' suffixes"
+
./configure --program-transform-name='s/.*/foo/' --prefix "`pwd`/inst" --mandir "`pwd`/inst/man"
$MAKE
$MAKE test-install-foo
$MAKE uninstall
test `find inst -type f -print | wc -l` = 0
+
: