06.t revision 210955
1166065Spjd#!/bin/sh 2166065Spjd# $FreeBSD: head/tools/regression/fstest/tests/open/06.t 210955 2010-08-06 19:20:35Z 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 9210955Spjdecho "1..144" 10166065Spjd 11166065Spjdn0=`namegen` 12166065Spjdn1=`namegen` 13166065Spjd 14166065Spjdexpect 0 mkdir ${n0} 0755 15166065Spjdexpect 0 chown ${n0} 65534 65534 16166065Spjdcdir=`pwd` 17166065Spjdcd ${n0} 18166065Spjd 19210955Spjd# Regular file. 20210955Spjd 21166065Spjdexpect 0 -u 65534 -g 65534 create ${n1} 0644 22166065Spjd 23166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0600 24210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY, 25210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_WRONLY, 26210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDWR, 27166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0060 28210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY, 29210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_WRONLY, 30210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDWR, 31166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0006 32210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY, 33210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_WRONLY, 34210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDWR, 35166065Spjd 36166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0477 37210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY, 38210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY, 39210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, 40210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0747 41210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY, 42210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY, 43210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, 44210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0774 45210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY, 46210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY, 47210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, 48210955Spjd 49210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0277 50210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY, 51210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_WRONLY, 52210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, 53210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0727 54210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY, 55210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_WRONLY, 56210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, 57210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0772 58210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY, 59210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_WRONLY, 60210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, 61210955Spjd 62210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0177 63210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY, 64210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY, 65210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, 66210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0717 67210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY, 68210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY, 69210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, 70210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0771 71210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY, 72210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY, 73210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, 74210955Spjd 75210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0077 76210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY, 77210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY, 78210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, 79210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0707 80210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY, 81210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY, 82210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, 83210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0770 84210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY, 85210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY, 86210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, 87210955Spjd 88210955Spjdexpect 0 -u 65534 -g 65534 unlink ${n1} 89210955Spjd 90210955Spjd# FIFO. 91210955Spjd 92210955Spjdexpect 0 -u 65534 -g 65534 mkfifo ${n1} 0644 93210955Spjd 94210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0600 95210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK 96210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDWR,O_NONBLOCK 97210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0060 98210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK 99210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDWR,O_NONBLOCK 100210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0006 101210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,O_NONBLOCK 102210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDWR,O_NONBLOCK 103210955Spjd 104210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0477 105210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK 106166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY 107166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR 108166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0747 109210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK 110166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY 111166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR 112166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0774 113210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,O_NONBLOCK 114166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY 115166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR 116166065Spjd 117166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0177 118166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 119166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY 120166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR 121166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0717 122166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 123166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY 124166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR 125166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0771 126166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 127166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY 128166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR 129166065Spjd 130166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0077 131166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 132166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY 133166065Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR 134166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0707 135166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 136166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY 137166065Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR 138166065Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0770 139166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 140166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY 141166065Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR 142166065Spjd 143166065Spjdexpect 0 -u 65534 -g 65534 unlink ${n1} 144166065Spjd 145210955Spjd# Directory. 146210955Spjd 147210955Spjdexpect 0 -u 65534 -g 65534 mkdir ${n1} 0755 148210955Spjd 149210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0600 150210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY 151210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0060 152210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY 153210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0006 154210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY 155210955Spjd 156210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0477 157210955Spjdexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY 158210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0747 159210955Spjdexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY 160210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0774 161210955Spjdexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY 162210955Spjd 163210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0277 164210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 165210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0727 166210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 167210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0772 168210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 169210955Spjd 170210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0177 171210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 172210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0717 173210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 174210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0771 175210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 176210955Spjd 177210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0077 178210955Spjdexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 179210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0707 180210955Spjdexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 181210955Spjdexpect 0 -u 65534 -g 65534 chmod ${n1} 0770 182210955Spjdexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 183210955Spjd 184210955Spjdexpect 0 -u 65534 -g 65534 rmdir ${n1} 185210955Spjd 186166065Spjdcd ${cdir} 187166065Spjdexpect 0 rmdir ${n0} 188