summaryrefslogtreecommitdiff
path: root/tests/ls
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2006-05-06 15:44:19 +0000
committerJim Meyering <jim@meyering.net>2006-05-06 15:44:19 +0000
commitcc86eaf1473af194e502b97b6c1e58b6f01ef9c1 (patch)
tree542a5ad1e873f986aa339ce19c3cc4484784da76 /tests/ls
parentb68ddecba7e59ce6a25f90b8f9d5da401db345f1 (diff)
downloadcoreutils-cc86eaf1473af194e502b97b6c1e58b6f01ef9c1.tar.xz
Expand to test broken links encountered
implicitly, favoring Solaris 9 and OpenBSD 3.4 behavior.
Diffstat (limited to 'tests/ls')
-rwxr-xr-xtests/ls/follow-slink20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ls/follow-slink b/tests/ls/follow-slink
index ede278ee5..527393e56 100755
--- a/tests/ls/follow-slink
+++ b/tests/ls/follow-slink
@@ -14,6 +14,10 @@ trap '(exit $?); exit' 1 2 13 15
framework_failure=0
mkdir $tmp || framework_failure=1
cd $tmp || framework_failure=1
+
+# Isolate output files from directory being listed
+mkdir dir || framework_failure=1
+cd dir || framework_failure=1
ln -s link link || framework_failure=1
# Make sure the symlink was created.
@@ -28,6 +32,22 @@ fi
fail=0
+# When explicitly listing a broken link, the command must fail.
ls -L link 2> /dev/null && fail=1
+# When encountering a broken link implicitly, Solaris 9 and OpenBSD 3.4
+# list the link, provided no further information about the link needed
+# to be printed. Since POSIX does not specify one way or the other, we
+# opt for compatibility (this was broken in 5.3.0 through 5.94).
+ls -L > ../out || fail=1
+
+cd .. || fail=1
+
+cat <<\EOF > exp
+link
+EOF
+
+cmp out exp || fail=1
+test $fail = 1 && diff out exp 2> /dev/null
+
(exit $fail); exit $fail