xref: /openbsd/regress/sys/ffs/tests/open/06.t (revision 274d7c50)
1#!/bin/sh
2# $FreeBSD: src/tools/regression/fstest/tests/open/06.t,v 1.1 2007/01/17 01:42:10 pjd Exp $
3
4desc="open returns EACCES when the required permissions (for reading and/or writing) are denied for the given flags"
5
6n0=`namegen`
7n1=`namegen`
8
9expect 0 mkdir ${n0} 0755
10expect 0 chown ${n0} 65534 65534
11cdir=`pwd`
12cd ${n0}
13
14expect 0 -u 65534 -g 65534 create ${n1} 0644
15
16expect 0 -u 65534 -g 65534 chmod ${n1} 0600
17expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
18expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY
19expect 0 -u 65534 -g 65534 open ${n1} O_RDWR
20expect 0 -u 65534 -g 65534 chmod ${n1} 0060
21expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
22expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY
23expect 0 -u 65533 -g 65534 open ${n1} O_RDWR
24expect 0 -u 65534 -g 65534 chmod ${n1} 0006
25expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
26expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY
27expect 0 -u 65533 -g 65533 open ${n1} O_RDWR
28
29expect 0 -u 65534 -g 65534 chmod ${n1} 0477
30expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
31expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
32expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
33expect 0 -u 65534 -g 65534 chmod ${n1} 0747
34expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
35expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
36expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
37expect 0 -u 65534 -g 65534 chmod ${n1} 0774
38expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
39expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
40expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
41
42expect 0 -u 65534 -g 65534 chmod ${n1} 0277
43expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
44expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY
45expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
46expect 0 -u 65534 -g 65534 chmod ${n1} 0727
47expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
48expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY
49expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
50expect 0 -u 65534 -g 65534 chmod ${n1} 0772
51expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
52expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY
53expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
54
55expect 0 -u 65534 -g 65534 chmod ${n1} 0177
56expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
57expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
58expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
59expect 0 -u 65534 -g 65534 chmod ${n1} 0717
60expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
61expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
62expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
63expect 0 -u 65534 -g 65534 chmod ${n1} 0771
64expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
65expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
66expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
67
68expect 0 -u 65534 -g 65534 chmod ${n1} 0077
69expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
70expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
71expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
72expect 0 -u 65534 -g 65534 chmod ${n1} 0707
73expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
74expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
75expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
76expect 0 -u 65534 -g 65534 chmod ${n1} 0770
77expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
78expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
79expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
80
81expect 0 -u 65534 -g 65534 unlink ${n1}
82
83cd ${cdir}
84expect 0 rmdir ${n0}
85