e9d8da0fc8d6f49d8f3ced9e399c4f04b7a68ff0
[oweals/busybox.git] / testsuite / readlink.tests
1 #!/bin/sh
2
3 # Readlink tests.
4 # Copyright 2006 by Natanael Copa <n@tanael.org>
5 # Licensed under GPLv2, see file LICENSE in this source tree.
6
7 . ./testing.sh
8
9 TESTDIR=readlink_testdir
10 TESTFILE="$TESTDIR/testfile"
11 TESTLINK="testlink"
12 FAILLINK="$TESTDIR/$TESTDIR/testlink"
13
14 # create the dir and test files
15 mkdir -p "./$TESTDIR"
16 touch "./$TESTFILE"
17 ln -s "./$TESTFILE" "./$TESTLINK"
18
19 testing "readlink on a file" "readlink ./$TESTFILE" "" "" ""
20 testing "readlink on a link" "readlink ./$TESTLINK" "./$TESTFILE\n" "" ""
21
22 optional FEATURE_READLINK_FOLLOW
23
24 # shell's $PWD may leave symlinks unresolved.
25 # "pwd" may be a built-in and have the same problem.
26 # External pwd _can't_ have that problem (current dir on Unix is physical).
27 pwd=`which pwd`
28 pwd=`$pwd`
29 testing "readlink -f on a file" "readlink -f ./$TESTFILE" "$pwd/$TESTFILE\n" "" ""
30 testing "readlink -f on a link" "readlink -f ./$TESTLINK" "$pwd/$TESTFILE\n" "" ""
31 testing "readlink -f on an invalid link" "readlink -f ./$FAILLINK" "" "" ""
32 testing "readlink -f on a wierd dir" "readlink -f $TESTDIR/../$TESTFILE" "$pwd/$TESTFILE\n" "" ""
33
34
35 # clean up
36 rm -r "$TESTLINK" "$TESTDIR"
37
38 exit $((FAILCOUNT <= 255 ? FAILCOUNT : 255))