]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - tools/regression/pjdfstest/tests/open/07.t
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / tools / regression / pjdfstest / tests / open / 07.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 desc="open returns EACCES when O_TRUNC is specified and write permission is denied"
5
6 dir=`dirname $0`
7 . ${dir}/../misc.sh
8
9 echo "1..23"
10
11 n0=`namegen`
12 n1=`namegen`
13
14 expect 0 mkdir ${n0} 0755
15 expect 0 chown ${n0} 65534 65534
16 cdir=`pwd`
17 cd ${n0}
18
19 expect 0 -u 65534 -g 65534 create ${n1} 0644
20
21 expect 0 -u 65534 -g 65534 chmod ${n1} 0477
22 expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC
23 expect 0 -u 65534 -g 65534 chmod ${n1} 0747
24 expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC
25 expect 0 -u 65534 -g 65534 chmod ${n1} 0774
26 expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC
27
28 expect 0 -u 65534 -g 65534 chmod ${n1} 0177
29 expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC
30 expect 0 -u 65534 -g 65534 chmod ${n1} 0717
31 expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC
32 expect 0 -u 65534 -g 65534 chmod ${n1} 0771
33 expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC
34
35 expect 0 -u 65534 -g 65534 chmod ${n1} 0077
36 expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC
37 expect 0 -u 65534 -g 65534 chmod ${n1} 0707
38 expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC
39 expect 0 -u 65534 -g 65534 chmod ${n1} 0770
40 expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC
41
42 expect 0 -u 65534 -g 65534 unlink ${n1}
43
44 cd ${cdir}
45 expect 0 rmdir ${n0}