automake-commit
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]