10.t revision 275504
1128526Stjr#!/bin/sh
2128526Stjr# $FreeBSD: head/tools/regression/pjdfstest/tests/open/10.t 211352 2010-08-15 21:24:17Z pjd $
3128526Stjr
4128526Stjrdesc="open returns EPERM when the named file has its immutable flag set and the file is to be modified"
5128526Stjr
6174990Sachedir=`dirname $0`
7128526Stjr. ${dir}/../misc.sh
8128526Stjr
9128526Stjrrequire chflags
10128526Stjr
11128526Stjrcase "${os}:${fs}" in
12128526StjrFreeBSD:ZFS)
13128526Stjr	echo "1..14"
14128526Stjr	;;
15128526StjrFreeBSD:UFS)
16128526Stjr	echo "1..28"
17128526Stjr	;;
18128526Stjr*)
19128526Stjr	quick_exit
20174990Sacheesac
21128526Stjr
22128526Stjrn0=`namegen`
23128526Stjr
24128526Stjrexpect 0 create ${n0} 0644
25128526Stjrexpect 0 chflags ${n0} SF_IMMUTABLE
26128526Stjrexpect EPERM open ${n0} O_WRONLY
27128526Stjrexpect EPERM open ${n0} O_RDWR
28128526Stjrexpect EPERM open ${n0} O_RDONLY,O_TRUNC
29128526Stjrexpect 0 chflags ${n0} none
30128526Stjrexpect 0 unlink ${n0}
31128526Stjr
32128526Stjrexpect 0 create ${n0} 0644
33128526Stjrexpect 0 chflags ${n0} SF_NOUNLINK
34128526Stjrexpect 0 open ${n0} O_WRONLY
35128526Stjrexpect 0 open ${n0} O_RDWR
36128526Stjrexpect 0 open ${n0} O_RDONLY,O_TRUNC
37128526Stjrexpect 0 chflags ${n0} none
38128526Stjrexpect 0 unlink ${n0}
39128526Stjr
40128526Stjrcase "${os}:${fs}" in
41128526StjrFreeBSD:UFS)
42128526Stjr	expect 0 create ${n0} 0644
43128526Stjr	expect 0 chflags ${n0} UF_IMMUTABLE
44128526Stjr	expect EPERM open ${n0} O_WRONLY
45128526Stjr	expect EPERM open ${n0} O_RDWR
46128526Stjr	expect EPERM open ${n0} O_RDONLY,O_TRUNC
47128526Stjr	expect 0 chflags ${n0} none
48128526Stjr	expect 0 unlink ${n0}
49128526Stjr
50128526Stjr	expect 0 create ${n0} 0644
51128526Stjr	expect 0 chflags ${n0} UF_NOUNLINK
52128526Stjr	expect 0 open ${n0} O_WRONLY
53128526Stjr	expect 0 open ${n0} O_RDWR
54128526Stjr	expect 0 open ${n0} O_RDONLY,O_TRUNC
55128526Stjr	expect 0 chflags ${n0} none
56128526Stjr	expect 0 unlink ${n0}
57128526Stjr	;;
58128526Stjresac
59128526Stjr