09.t revision 166065
1#!/bin/sh
2# $FreeBSD: head/tools/regression/fstest/tests/open/09.t 166065 2007-01-17 01:42:12Z pjd $
3
4desc="O_CREAT is specified, the file does not exist, and the directory in which it is to be created has its immutable flag set"
5
6dir=`dirname $0`
7. ${dir}/../misc.sh
8
9require chflags
10
11echo "1..30"
12
13n0=`namegen`
14n1=`namegen`
15
16expect 0 mkdir ${n0} 0755
17
18expect 0 open ${n0}/${n1} O_RDONLY,O_CREAT 0644
19expect 0 unlink ${n0}/${n1}
20
21expect 0 chflags ${n0} SF_IMMUTABLE
22expect EPERM open ${n0}/${n1} O_RDONLY,O_CREAT 0644
23expect 0 chflags ${n0} none
24expect 0 open ${n0}/${n1} O_RDONLY,O_CREAT 0644
25expect 0 unlink ${n0}/${n1}
26
27expect 0 chflags ${n0} UF_IMMUTABLE
28expect EPERM open ${n0}/${n1} O_RDONLY,O_CREAT 0644
29expect 0 chflags ${n0} none
30expect 0 open ${n0}/${n1} O_RDONLY,O_CREAT 0644
31expect 0 unlink ${n0}/${n1}
32
33expect 0 chflags ${n0} SF_APPEND
34expect 0 open ${n0}/${n1} O_RDONLY,O_CREAT 0644
35expect 0 chflags ${n0} none
36expect 0 unlink ${n0}/${n1}
37
38expect 0 chflags ${n0} UF_APPEND
39expect 0 open ${n0}/${n1} O_RDONLY,O_CREAT 0644
40expect 0 chflags ${n0} none
41expect 0 unlink ${n0}/${n1}
42
43expect 0 chflags ${n0} SF_NOUNLINK
44expect 0 open ${n0}/${n1} O_RDONLY,O_CREAT 0644
45expect 0 chflags ${n0} none
46expect 0 unlink ${n0}/${n1}
47
48expect 0 chflags ${n0} UF_NOUNLINK
49expect 0 symlink test ${n0}/${n1}
50expect 0 chflags ${n0} none
51expect 0 unlink ${n0}/${n1}
52
53expect 0 rmdir ${n0}
54