[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-1713
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-1713-g7fe475b |
Date: |
Sun, 08 Jan 2012 17:05:10 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=7fe475b6ef6dd3e55f609e80f4c203d99c3890c5
The branch, master has been updated
via 7fe475b6ef6dd3e55f609e80f4c203d99c3890c5 (commit)
from 8a657d5c9587cb9ab6d5299a678aedfaaac8c736 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7fe475b6ef6dd3e55f609e80f4c203d99c3890c5
Author: Stefano Lattarini <address@hidden>
Date: Sun Jan 8 13:36:46 2012 +0100
tests: avoid many spurious failures on MSYS due to lack of symlinks
Fixes automake bug#10441.
* tests/add-missing.tap: Do not assume the system supports real
symlinks, as this is not the case for MinGW/MSYS. Skip checks
that would spuriously fail in that situation.
* tests/copy.test: Likewise.
Reported by Peter Rosin.
-----------------------------------------------------------------------
Summary of changes:
tests/add-missing.tap | 39 ++++++++++++++++++++++++++++-----------
tests/copy.test | 29 +++++++++++++++++++++--------
2 files changed, 49 insertions(+), 19 deletions(-)
diff --git a/tests/add-missing.tap b/tests/add-missing.tap
index 36f7676..4f5d682 100755
--- a/tests/add-missing.tap
+++ b/tests/add-missing.tap
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 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
@@ -36,6 +36,16 @@ else
am_diff=diff
fi
+# MinGW/MSYS lacks real symlinks, so we'll have to skip some checks
+# on that system. More details below.
+echo dummy > foo
+if ln -s foo bar && test -h bar; then
+ have_true_symlinks=yes
+else
+ have_true_symlinks=no
+fi
+rm -f foo bar
+
cat > configure.stub << END
AC_INIT([$me], [1.0])
AC_CONFIG_AUX_DIR([$build_aux])
@@ -195,19 +205,26 @@ check_ ()
"$pfx all and only expected files installed" \
$am_diff files.exp files.got
# The files should be copied by `--copy' and symlinked otherwise.
+ # But these checks make no sense on systems like MSYS/MinGW where
+ # there are no true symlinks ('ln -s' behaves like 'cp -p'), so be
+ # ready to skip the checks in that case. See automake bug#10441.
for f in $files; do
- if test -h $build_aux/$f; then
- is_symlink=yes
+ if test $have_true_symlinks = no; then
+ skip_ -r "system lacks true symlinks" "$pfx $f is a symlink or not"
else
- is_symlink=no
+ if test -h $build_aux/$f; then
+ is_symlink=yes
+ else
+ is_symlink=no
+ fi
+ case $action,$is_symlink in
+ link,yes) ok_ "$pfx $f has been symlinked" ;;
+ link,no) not_ok_ "$pfx $f has not been symlinked" ;;
+ copy,yes) not_ok_ "$pfx $f has been symlinked" ;;
+ copy,no) ok_ "$pfx $f has not been symlinked" ;;
+ *) fatal_ "invalid condition in case" ;;
+ esac
fi
- case $action,$is_symlink in
- link,yes) ok_ "$pfx $f has been symlinked" ;;
- link,no) not_ok_ "$pfx $f has not been symlinked" ;;
- copy,yes) not_ok_ "$pfx $f has been symlinked" ;;
- copy,no) ok_ "$pfx $f has not been symlinked" ;;
- *) fatal_ "invalid condition in case" ;;
- esac
done
# Now that the required auxiliary files have been installed, automake
# should not complain anymore even if the `--add-missing' option is
diff --git a/tests/copy.test b/tests/copy.test
index 8ad3f2a..d8aa090 100755
--- a/tests/copy.test
+++ b/tests/copy.test
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 1999, 2001, 2002, 2010, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 1999, 2001, 2002, 2010, 2011, 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
@@ -20,6 +20,19 @@
. ./defs || Exit 1
+# We'll have to cater to systems like MSYS/MinGW where there are no
+# true symlinks ('ln -s' behaves like 'cp -p'); see automake bug#10441.
+
+echo dummy > foo
+if ln -s foo bar && test -h bar; then
+ is_symlink () { test -h "$1"; }
+ is_not_symlink () { test ! -h "$1"; }
+else
+ is_symlink () { return 0; } # Avoid spurious failures.
+ is_not_symlink () { return 0; }
+fi
+rm -f foo bar
+
# First a simple test, where the auxdir is automatically determined
# by automake.
@@ -31,7 +44,7 @@ $AUTOMAKE -c -a
ls -l # For debugging.
test -f install-sh
-test ! -h install-sh
+is_not_symlink install-sh
# Let's do a couple of more elaborated tests, this time with the auxdir
# explicitly defined in configure.in.
@@ -62,9 +75,9 @@ echo FAKE-DEPCOMP > auxdir/depcomp
$AUTOMAKE -a
ls -l auxdir # For debugging.
test -f auxdir/install-sh
-test -h auxdir/install-sh
+is_symlink auxdir/install-sh
test -f auxdir/depcomp
-test ! -h auxdir/depcomp
+is_not_symlink auxdir/depcomp
test FAKE-DEPCOMP = `cat auxdir/depcomp`
# `automake -a -c' should not create symlinks, even when there are
@@ -79,11 +92,11 @@ cd ..
$AUTOMAKE -a -c
ls -l auxdir # For debugging.
test -f auxdir/install-sh
-test -h auxdir/install-sh
+is_symlink auxdir/install-sh
test -f auxdir/missing
-test -h auxdir/missing
+is_symlink auxdir/missing
test -f auxdir/depcomp
-test ! -h auxdir/depcomp
+is_not_symlink auxdir/depcomp
diff "$am_scriptdir"/depcomp auxdir/depcomp
:
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-1713-g7fe475b,
Stefano Lattarini <=