summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2007-11-16 11:04:31 +0100
committerJim Meyering <meyering@redhat.com>2007-11-16 11:04:31 +0100
commitfe18e9f7e5fb3b856d3da936dd6bd4c8e620635a (patch)
tree4d254d79b78fbfb90be755fd57a14003029af6d9 /tests
parent1379ed974f1fa39b12e2ffab18b3f7a607082202 (diff)
downloadcoreutils-fe18e9f7e5fb3b856d3da936dd6bd4c8e620635a.tar.xz
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?)
Diffstat (limited to 'tests')
-rwxr-xr-xtests/misc/readlink-fp-loop12
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/misc/readlink-fp-loop b/tests/misc/readlink-fp-loop
index 9a4472b6f..ee65e2816 100755
--- a/tests/misc/readlink-fp-loop
+++ b/tests/misc/readlink-fp-loop
@@ -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