blob: e9d8da0fc8d6f49d8f3ced9e399c4f04b7a68ff0
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)) |
39 |