]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - tools/regression/fstest/tests/open/06.t
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / tools / regression / fstest / tests / open / 06.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 desc="open returns EACCES when the required permissions (for reading and/or writing) are denied for the given flags"
5
6 dir=`dirname $0`
7 . ${dir}/../misc.sh
8
9 echo "1..65"
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} 0600
22 expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
23 expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY
24 expect 0 -u 65534 -g 65534 open ${n1} O_RDWR
25 expect 0 -u 65534 -g 65534 chmod ${n1} 0060
26 expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
27 expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY
28 expect 0 -u 65533 -g 65534 open ${n1} O_RDWR
29 expect 0 -u 65534 -g 65534 chmod ${n1} 0006
30 expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
31 expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY
32 expect 0 -u 65533 -g 65533 open ${n1} O_RDWR
33
34 expect 0 -u 65534 -g 65534 chmod ${n1} 0477
35 expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY
36 expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
37 expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
38 expect 0 -u 65534 -g 65534 chmod ${n1} 0747
39 expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY
40 expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
41 expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
42 expect 0 -u 65534 -g 65534 chmod ${n1} 0774
43 expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY
44 expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
45 expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
46
47 expect 0 -u 65534 -g 65534 chmod ${n1} 0277
48 expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
49 expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY
50 expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
51 expect 0 -u 65534 -g 65534 chmod ${n1} 0727
52 expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
53 expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY
54 expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
55 expect 0 -u 65534 -g 65534 chmod ${n1} 0772
56 expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
57 expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY
58 expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
59
60 expect 0 -u 65534 -g 65534 chmod ${n1} 0177
61 expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
62 expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
63 expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
64 expect 0 -u 65534 -g 65534 chmod ${n1} 0717
65 expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
66 expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
67 expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
68 expect 0 -u 65534 -g 65534 chmod ${n1} 0771
69 expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
70 expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
71 expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
72
73 expect 0 -u 65534 -g 65534 chmod ${n1} 0077
74 expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY
75 expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY
76 expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR
77 expect 0 -u 65534 -g 65534 chmod ${n1} 0707
78 expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY
79 expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY
80 expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR
81 expect 0 -u 65534 -g 65534 chmod ${n1} 0770
82 expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY
83 expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY
84 expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR
85
86 expect 0 -u 65534 -g 65534 unlink ${n1}
87
88 cd ${cdir}
89 expect 0 rmdir ${n0}