diff options
Diffstat (limited to 'tests/readlink/can-f')
-rwxr-xr-x | tests/readlink/can-f | 180 |
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 |