]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - tests/sys/vfs/trailing_slash.sh
MFC r320445:
[FreeBSD/stable/10.git] / tests / sys / vfs / trailing_slash.sh
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5 # Tests vfs_lookup()'s handling of trailing slashes for symlinks that
6 # point to files.  See kern/21768 for details.  Fixed in r193028.
7 #
8
9 : ${TMPDIR=/tmp}
10 testfile="$TMPDIR/testfile-$$"
11 testlink="$TMPDIR/testlink-$$"
12
13 tests="
14 $testfile:$testlink:$testfile:0
15 $testfile:$testlink:$testfile/:1
16 $testfile:$testlink:$testlink:0
17 $testfile:$testlink:$testlink/:1
18 $testfile/:$testlink:$testlink:1
19 $testfile/:$testlink:$testlink/:1
20 "
21
22 touch $testfile || exit 1
23 trap "rm $testfile $testlink" EXIT
24
25 set $tests
26 echo "1..$#"
27 n=1
28 for testspec ; do
29         (
30                 IFS=:
31                 set $testspec
32                 unset IFS
33                 ln -fs "$1" "$2" || exit 1
34                 cat "$3" >/dev/null 2>&1
35                 ret=$?
36                 if [ "$ret" -eq "$4" ] ; then
37                         echo "ok $n"
38                 else
39                         echo "fail $n - expected $4, got $ret"
40                 fi
41         )
42         n=$((n+1))
43 done