]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/pjdfstest/tests/rmdir/09.t
Merge ^/vendor/llvm-libunwind/dist up to its last change, and resolve conflicts.
[FreeBSD/FreeBSD.git] / contrib / pjdfstest / tests / rmdir / 09.t
1 #!/bin/sh
2 # vim: filetype=sh noexpandtab ts=8 sw=8
3 # $FreeBSD: head/tools/regression/pjdfstest/tests/rmdir/09.t 211352 2010-08-15 21:24:17Z pjd $
4
5 desc="rmdir returns EPERM if the named directory has its immutable, undeletable or append-only flag set"
6
7 dir=`dirname $0`
8 . ${dir}/../misc.sh
9
10 require chflags
11
12 case "${os}:${fs}" in
13 FreeBSD:ZFS)
14         echo "1..15"
15         ;;
16 FreeBSD:UFS)
17         echo "1..30"
18         ;;
19 *)
20         quick_exit
21 esac
22
23 n0=`namegen`
24
25 expect 0 mkdir ${n0} 0755
26 expect 0 chflags ${n0} SF_IMMUTABLE
27 expect EPERM rmdir ${n0}
28 expect 0 chflags ${n0} none
29 expect 0 rmdir ${n0}
30
31 expect 0 mkdir ${n0} 0755
32 expect 0 chflags ${n0} SF_NOUNLINK
33 expect EPERM rmdir ${n0}
34 expect 0 chflags ${n0} none
35 expect 0 rmdir ${n0}
36
37 expect 0 mkdir ${n0} 0755
38 expect 0 chflags ${n0} SF_APPEND
39 todo FreeBSD:ZFS "Removing a directory protected by SF_APPEND should return EPERM."
40 expect EPERM rmdir ${n0}
41 todo FreeBSD:ZFS "Removing a directory protected by SF_APPEND should return EPERM."
42 expect 0 chflags ${n0} none
43 todo FreeBSD:ZFS "Removing a directory protected by SF_APPEND should return EPERM."
44 expect 0 rmdir ${n0}
45
46 case "${os}:${fs}" in
47 FreeBSD:UFS)
48         expect 0 mkdir ${n0} 0755
49         expect 0 chflags ${n0} UF_IMMUTABLE
50         expect EPERM rmdir ${n0}
51         expect 0 chflags ${n0} none
52         expect 0 rmdir ${n0}
53
54         expect 0 mkdir ${n0} 0755
55         expect 0 chflags ${n0} UF_NOUNLINK
56         expect EPERM rmdir ${n0}
57         expect 0 chflags ${n0} none
58         expect 0 rmdir ${n0}
59
60         expect 0 mkdir ${n0} 0755
61         expect 0 chflags ${n0} UF_APPEND
62         expect EPERM rmdir ${n0}
63         expect 0 chflags ${n0} none
64         expect 0 rmdir ${n0}
65         ;;
66 esac