1271294Sngie#!/bin/sh
2271294Sngie# $FreeBSD: head/tools/regression/pjdfstest/tests/open/07.t 211352 2010-08-15 21:24:17Z pjd $
3271294Sngie
4271294Sngiedesc="open returns EACCES when O_TRUNC is specified and write permission is denied"
5271294Sngie
6271294Sngiedir=`dirname $0`
7271294Sngie. ${dir}/../misc.sh
8271294Sngie
9271294Sngieecho "1..23"
10271294Sngie
11271294Sngien0=`namegen`
12271294Sngien1=`namegen`
13271294Sngie
14271294Sngieexpect 0 mkdir ${n0} 0755
15271294Sngieexpect 0 chown ${n0} 65534 65534
16271294Sngiecdir=`pwd`
17271294Sngiecd ${n0}
18271294Sngie
19271294Sngieexpect 0 -u 65534 -g 65534 create ${n1} 0644
20271294Sngie
21271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0477
22271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC
23271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0747
24271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC
25271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0774
26271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC
27271294Sngie
28271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0177
29271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC
30271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0717
31271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC
32271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0771
33271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC
34271294Sngie
35271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0077
36271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC
37271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0707
38271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC
39271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0770
40271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC
41271294Sngie
42271294Sngieexpect 0 -u 65534 -g 65534 unlink ${n1}
43271294Sngie
44271294Sngiecd ${cdir}
45271294Sngieexpect 0 rmdir ${n0}
46