]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - tools/regression/pjdfstest/tests/open/10.t
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / tools / regression / pjdfstest / tests / open / 10.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 desc="open returns EPERM when the named file has its immutable flag set and the file is to be modified"
5
6 dir=`dirname $0`
7 . ${dir}/../misc.sh
8
9 require chflags
10
11 case "${os}:${fs}" in
12 FreeBSD:ZFS)
13         echo "1..14"
14         ;;
15 FreeBSD:UFS)
16         echo "1..28"
17         ;;
18 *)
19         quick_exit
20 esac
21
22 n0=`namegen`
23
24 expect 0 create ${n0} 0644
25 expect 0 chflags ${n0} SF_IMMUTABLE
26 expect EPERM open ${n0} O_WRONLY
27 expect EPERM open ${n0} O_RDWR
28 expect EPERM open ${n0} O_RDONLY,O_TRUNC
29 expect 0 chflags ${n0} none
30 expect 0 unlink ${n0}
31
32 expect 0 create ${n0} 0644
33 expect 0 chflags ${n0} SF_NOUNLINK
34 expect 0 open ${n0} O_WRONLY
35 expect 0 open ${n0} O_RDWR
36 expect 0 open ${n0} O_RDONLY,O_TRUNC
37 expect 0 chflags ${n0} none
38 expect 0 unlink ${n0}
39
40 case "${os}:${fs}" in
41 FreeBSD:UFS)
42         expect 0 create ${n0} 0644
43         expect 0 chflags ${n0} UF_IMMUTABLE
44         expect EPERM open ${n0} O_WRONLY
45         expect EPERM open ${n0} O_RDWR
46         expect EPERM open ${n0} O_RDONLY,O_TRUNC
47         expect 0 chflags ${n0} none
48         expect 0 unlink ${n0}
49
50         expect 0 create ${n0} 0644
51         expect 0 chflags ${n0} UF_NOUNLINK
52         expect 0 open ${n0} O_WRONLY
53         expect 0 open ${n0} O_RDWR
54         expect 0 open ${n0} O_RDONLY,O_TRUNC
55         expect 0 chflags ${n0} none
56         expect 0 unlink ${n0}
57         ;;
58 esac