]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Port readlink-fp-loop to Solaris.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 16 Nov 2007 10:04:31 +0000 (11:04 +0100)
committerJim Meyering <meyering@redhat.com>
Fri, 16 Nov 2007 10:04:31 +0000 (11:04 +0100)
* tests/misc/readlink-fp-loop (symlink_loop_msg): New var,
which records the symlink-loop message, whose wording is
not standardized by Posix.  Do not rely on "echo x > p/1"
to work when p/1 has a lot of indirect symlinks.  (I'm surprised
that it works on Linux.  Perhaps a Linux bug?)

ChangeLog
tests/misc/readlink-fp-loop

index 37a3e0b753258209f0ab63471656737fd470ca7c..9c78a3de8e34db95a23b6811a9dab3e7e24196b4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port readlink-fp-loop to Solaris.
+       * tests/misc/readlink-fp-loop (symlink_loop_msg): New var,
+       which records the symlink-loop message, whose wording is
+       not standardized by Posix.  Do not rely on "echo x > p/1"
+       to work when p/1 has a lot of indirect symlinks.  (I'm surprised
+       that it works on Linux.  Perhaps a Linux bug?)
+
 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
 
        Port to Solaris 'make' and use a Posixish shell on Solaris.
index 9a4472b6f952201f78bb8184e3c9bec9ed4d3a84..ee65e2816c1512de0ab79be8603873480b04964d 100755 (executable)
@@ -45,8 +45,12 @@ compare out exp || fail=1
 # Construct a real loop and make sure readlink still detects it.
 ln -sf ../s/1 d/2 || framework_failure
 readlink -v -e p/1 2> out && fail=1
-echo readlink: p/1: Too many levels of symbolic links > exp || framework_failure
-compare out exp || fail=1
+readlink_msg=$(cat out)
+case $readlink_msg in
+  'readlink: p/1: '*) ;;
+  *) fail=1;;
+esac
+symlink_loop_msg=${readlink_msg#'readlink: p/1: '}
 
 # Exercise the hash table code.
 ln -nsf ../s/3 d/2 || framework_failure
@@ -55,7 +59,7 @@ ln -nsf ../p/5 d/4 || framework_failure
 ln -nsf ../p/6 d/5 || framework_failure
 ln -nsf ../p/7 d/6 || framework_failure
 ln -nsf ../p/8 d/7 || framework_failure
-echo x > p/1       || framework_failure
+echo x > d/8       || framework_failure
 readlink -v -e p/1 > out || fail=1
 echo "$cwd/d/8" > exp || fail=1
 compare out exp || fail=1
@@ -63,7 +67,7 @@ compare out exp || fail=1
 # A trivial loop
 ln -s loop loop
 readlink -v -e loop 2> out && fail=1
-echo readlink: loop: Too many levels of symbolic links > exp || framework_failure
+echo "readlink: loop: $symlink_loop_msg" > exp || framework_failure
 compare out exp || fail=1
 
 (exit $fail); exit $fail