06.t revision 166065
1166065Spjd#!/bin/sh
2166065Spjd# $FreeBSD: head/tools/regression/fstest/tests/open/06.t 166065 2007-01-17 01:42:12Z pjd $
3166065Spjd
4166065Spjddesc="open returns EACCES when the required permissions (for reading and/or writing) are denied for the given flags"
5166065Spjd
6166065Spjddir=`dirname $0`
7166065Spjd. ${dir}/../misc.sh
8166065Spjd
9166065Spjdecho "1..65"
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} 0600
22166065Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
23166065Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_WRONLY
24166065Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDWR
25166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0060
26166065Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
27166065Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_WRONLY
28166065Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDWR
29166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0006
30166065Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
31166065Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_WRONLY
32166065Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDWR
33166065Spjd
34166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0477
35166065Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
36166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
37166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
38166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0747
39166065Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
40166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
41166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
42166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0774
43166065Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
44166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
45166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
46166065Spjd
47166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0277
48166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
49166065Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_WRONLY
50166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
51166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0727
52166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
53166065Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_WRONLY
54166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
55166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0772
56166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
57166065Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_WRONLY
58166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
59166065Spjd
60166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0177
61166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
62166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
63166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
64166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0717
65166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
66166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
67166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
68166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0771
69166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
70166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
71166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
72166065Spjd
73166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0077
74166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
75166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
76166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
77166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0707
78166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
79166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
80166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
81166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0770
82166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
83166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
84166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
85166065Spjd
86166065Spjdexpect 0 -u 65534 -g 65534 unlink ${n1}
87166065Spjd
88166065Spjdcd ${cdir}
89166065Spjdexpect 0 rmdir ${n0}
90