1166065Spjd#!/bin/sh
2166065Spjd# $FreeBSD$
3166065Spjd
4166065Spjddesc="open returns EACCES when O_TRUNC is specified and write permission is denied"
5166065Spjd
6166065Spjddir=`dirname $0`
7166065Spjd. ${dir}/../misc.sh
8166065Spjd
9166065Spjdecho "1..23"
10166065Spjd
11166065Spjdn0=`namegen`
12166065Spjdn1=`namegen`
13166065Spjd
14166065Spjdexpect 0 mkdir ${n0} 0755
15166065Spjdexpect 0 chown ${n0} 65534 65534
16166065Spjdcdir=`pwd`
17166065Spjdcd ${n0}
18166065Spjd
19166065Spjdexpect 0 -u 65534 -g 65534 create ${n1} 0644
20166065Spjd
21166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0477
22166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC
23166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0747
24166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC
25166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0774
26166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC
27166065Spjd
28166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0177
29166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC
30166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0717
31166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC
32166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0771
33166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC
34166065Spjd
35166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0077
36166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY,O_TRUNC
37166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0707
38166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY,O_TRUNC
39166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0770
40166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY,O_TRUNC
41166065Spjd
42166065Spjdexpect 0 -u 65534 -g 65534 unlink ${n1}
43166065Spjd
44166065Spjdcd ${cdir}
45166065Spjdexpect 0 rmdir ${n0}
46