summaryrefslogtreecommitdiff
path: root/tests/readlink/can-f
diff options
context:
space:
mode:
Diffstat (limited to 'tests/readlink/can-f')
-rwxr-xr-xtests/readlink/can-f180
1 files changed, 78 insertions, 102 deletions
diff --git a/tests/readlink/can-f b/tests/readlink/can-f
index f47b969e5..c920ddd36 100755
--- a/tests/readlink/can-f
+++ b/tests/readlink/can-f
@@ -21,147 +21,123 @@ if test "$VERBOSE" = yes; then
readlink --version
fi
-pwd=`pwd`
-t0=`echo "$0" |sed 's,.*/,,'`.tmp; tmp=$t0/$$
-trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0
-trap 'status=$?; (exit $status); exit $status' 1 2 13 15
+. $srcdir/../test-lib.sh
-fail=1
-while :; do
- bindir=`cd ../../src && pwd`|| break
- my_pwd=`"$bindir/pwd"` || break
+pwd=`pwd`
+my_pwd=$("$abs_top_builddir/src/pwd")
+tmp=d
- mkdir -p $tmp || break
- cd $tmp || break
+fail=0
+mkdir $tmp || framework_failure
+cd $tmp || framework_failure
- mkdir subdir removed || break
- touch regfile || break
+mkdir subdir removed || framework_failure
+touch regfile || framework_failure
- ln -s regfile link1 || break
- ln -s subdir link2 || break
- ln -s missing link3 || break
- ln -s subdir/missing link4 || break
+ln -s regfile link1 || framework_failure
+ln -s subdir link2 || framework_failure
+ln -s missing link3 || framework_failure
+ln -s subdir/missing link4 || framework_failure
- fail=0
- break
-done
+cd "$pwd/$tmp/removed" || framework_failure
-if test $fail = 1; then
- echo "$0: failure in testing framework" 1>&2
- (exit 1); exit 1
+fail=0
+# Skip this test if the system doesn't let you remove the working directory.
+if rmdir ../removed 2>/dev/null; then
+ v=`readlink -e .` && fail=1
+ test -z "$v" || fail=1
fi
-fail=1
-while :; do
- cd "$pwd/$tmp/removed" || break
-
- # Skip this test if the system doesn't let you remove the working directory.
- if rmdir ../removed 2>/dev/null; then
- v=`readlink -f .` && break
- test -z "$v" || break
- fi
-
- cd "$pwd/$tmp" || break
-
- fail=0
- break
-done
-
-if test $fail = 1; then
- (exit $fail); exit $fail
-fi
+cd "$pwd/$tmp" || fail=1
for p in "" "$pwd/$tmp/"; do
- fail=1
-
- v=`readlink -f "${p}regfile"` || break
- test "$v" = "$my_pwd/$tmp/regfile" || break
- v=`readlink -f "${p}./regfile/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}regfile"` || fail=1
+ test "$v" = "$my_pwd/$tmp/regfile" || fail=1
- v=`readlink -f "${p}regfile/more"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}./regfile/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./regfile/more/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}regfile/more"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}subdir"` || break
- test "$v" = "$my_pwd/$tmp/subdir" || break
+ v=`readlink -f "${p}./regfile/more/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./subdir/"` || break
- test "$v" = "$my_pwd/$tmp/subdir" || break
+ v=`readlink -f "${p}subdir"` || fail=1
+ test "$v" = "$my_pwd/$tmp/subdir" || fail=1
- v=`readlink -f "${p}subdir/more"` || break
- test "$v" = "$my_pwd/$tmp/subdir/more" || break
+ v=`readlink -f "${p}./subdir/"` || fail=1
+ test "$v" = "$my_pwd/$tmp/subdir" || fail=1
- v=`readlink -f "${p}./subdir/more/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}subdir/more"` || fail=1
+ test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1
- v=`readlink -f "${p}missing"` || break
- test "$v" = "$my_pwd/$tmp/missing" || break
+ v=`readlink -f "${p}./subdir/more/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./missing/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}missing"` || fail=1
+ test "$v" = "$my_pwd/$tmp/missing" || fail=1
- v=`readlink -f "${p}missing/more"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}./missing/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./missing/more/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}missing/more"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}link1"` || break
- test "$v" = "$my_pwd/$tmp/regfile" || break
+ v=`readlink -f "${p}./missing/more/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./link1/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}link1"` || fail=1
+ test "$v" = "$my_pwd/$tmp/regfile" || fail=1
- v=`readlink -f "${p}link1/more"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}./link1/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./link1/more/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}link1/more"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}link2"` || break
- test "$v" = "$my_pwd/$tmp/subdir" || break
+ v=`readlink -f "${p}./link1/more/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./link2/"` || break
- test "$v" = "$my_pwd/$tmp/subdir" || break
+ v=`readlink -f "${p}link2"` || fail=1
+ test "$v" = "$my_pwd/$tmp/subdir" || fail=1
- v=`readlink -f "${p}link2/more"` || break
- test "$v" = "$my_pwd/$tmp/subdir/more" || break
+ v=`readlink -f "${p}./link2/"` || fail=1
+ test "$v" = "$my_pwd/$tmp/subdir" || fail=1
- v=`readlink -f "${p}./link2/more/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}link2/more"` || fail=1
+ test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1
- v=`readlink -f "${p}link2/more/more2"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}./link2/more/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./link2/more/more2/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}link2/more/more2"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}link3"` || break
- test "$v" = "$my_pwd/$tmp/missing" || break
+ v=`readlink -f "${p}./link2/more/more2/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./link3/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}link3"` || fail=1
+ test "$v" = "$my_pwd/$tmp/missing" || fail=1
- v=`readlink -f "${p}link3/more"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}./link3/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./link3/more/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}link3/more"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}link4"` || break
- test "$v" = "$my_pwd/$tmp/subdir/missing" || break
+ v=`readlink -f "${p}./link3/more/"` && fail=1
+ test -z "$v" || fail=1
- v=`readlink -f "${p}./link4/"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}link4"` || fail=1
+ test "$v" = "$my_pwd/$tmp/subdir/missing" || fail=1
- v=`readlink -f "${p}link4/more"` && break
- test -z "$v" || break
+ v=`readlink -f "${p}./link4/"` && fail=1
+ test -z "$v" || fail=1
- fail=0
+ v=`readlink -f "${p}link4/more"` && fail=1
+ test -z "$v" || fail=1
done
(exit $fail); exit $fail