]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/pjdfstest/tests/mkdir/08.t
MFV r328245: 8856 arc_cksum_is_equal() doesn't take into account ABD-logic
[FreeBSD/FreeBSD.git] / contrib / pjdfstest / tests / mkdir / 08.t
1 #!/bin/sh
2 # vim: filetype=sh noexpandtab ts=8 sw=8
3 # $FreeBSD: head/tools/regression/pjdfstest/tests/mkdir/08.t 211352 2010-08-15 21:24:17Z pjd $
4
5 desc="mkdir returns EPERM if the parent directory of the directory to be created has its immutable 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..17"
15         ;;
16 FreeBSD:UFS)
17         echo "1..30"
18         ;;
19 *)
20         quick_exit
21 esac
22
23 n0=`namegen`
24 n1=`namegen`
25
26 expect 0 mkdir ${n0} 0755
27
28 expect 0 mkdir ${n0}/${n1} 0755
29 expect 0 rmdir ${n0}/${n1}
30
31 expect 0 chflags ${n0} SF_IMMUTABLE
32 expect EPERM mkdir ${n0}/${n1} 0755
33 expect 0 chflags ${n0} none
34 expect 0 mkdir ${n0}/${n1} 0755
35 expect 0 rmdir ${n0}/${n1}
36
37 expect 0 chflags ${n0} SF_NOUNLINK
38 expect 0 mkdir ${n0}/${n1} 0755
39 expect 0 rmdir ${n0}/${n1}
40 expect 0 chflags ${n0} none
41
42 expect 0 chflags ${n0} SF_APPEND
43 expect 0 mkdir ${n0}/${n1} 0755
44 expect 0 chflags ${n0} none
45 expect 0 rmdir ${n0}/${n1}
46
47 case "${os}:${fs}" in
48 FreeBSD:UFS)
49         expect 0 chflags ${n0} UF_IMMUTABLE
50         expect EPERM mkdir ${n0}/${n1} 0755
51         expect 0 chflags ${n0} none
52         expect 0 mkdir ${n0}/${n1} 0755
53         expect 0 rmdir ${n0}/${n1}
54
55         expect 0 chflags ${n0} UF_NOUNLINK
56         expect 0 mkdir ${n0}/${n1} 0755
57         expect 0 rmdir ${n0}/${n1}
58         expect 0 chflags ${n0} none
59
60         expect 0 chflags ${n0} UF_APPEND
61         expect 0 mkdir ${n0}/${n1} 0755
62         expect 0 chflags ${n0} none
63         expect 0 rmdir ${n0}/${n1}
64         ;;
65 esac
66
67 expect 0 rmdir ${n0}