06.t revision 271294
1271294Sngie#!/bin/sh 2271294Sngie# $FreeBSD: head/tools/regression/pjdfstest/tests/open/06.t 211352 2010-08-15 21:24:17Z pjd $ 3271294Sngie 4271294Sngiedesc="open returns EACCES when the required permissions (for reading and/or writing) are denied for the given flags" 5271294Sngie 6271294Sngiedir=`dirname $0` 7271294Sngie. ${dir}/../misc.sh 8271294Sngie 9271294Sngieecho "1..144" 10271294Sngie 11271294Sngien0=`namegen` 12271294Sngien1=`namegen` 13271294Sngie 14271294Sngieexpect 0 mkdir ${n0} 0755 15271294Sngieexpect 0 chown ${n0} 65534 65534 16271294Sngiecdir=`pwd` 17271294Sngiecd ${n0} 18271294Sngie 19271294Sngie# Regular file. 20271294Sngie 21271294Sngieexpect 0 -u 65534 -g 65534 create ${n1} 0644 22271294Sngie 23271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0600 24271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY, 25271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_WRONLY, 26271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_RDWR, 27271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0060 28271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY, 29271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_WRONLY, 30271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_RDWR, 31271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0006 32271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY, 33271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_WRONLY, 34271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_RDWR, 35271294Sngie 36271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0477 37271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY, 38271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY, 39271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, 40271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0747 41271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY, 42271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY, 43271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, 44271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0774 45271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY, 46271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY, 47271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, 48271294Sngie 49271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0277 50271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY, 51271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_WRONLY, 52271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, 53271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0727 54271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY, 55271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_WRONLY, 56271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, 57271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0772 58271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY, 59271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_WRONLY, 60271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, 61271294Sngie 62271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0177 63271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY, 64271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY, 65271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, 66271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0717 67271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY, 68271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY, 69271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, 70271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0771 71271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY, 72271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY, 73271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, 74271294Sngie 75271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0077 76271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY, 77271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY, 78271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, 79271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0707 80271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY, 81271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY, 82271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, 83271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0770 84271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY, 85271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY, 86271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, 87271294Sngie 88271294Sngieexpect 0 -u 65534 -g 65534 unlink ${n1} 89271294Sngie 90271294Sngie# FIFO. 91271294Sngie 92271294Sngieexpect 0 -u 65534 -g 65534 mkfifo ${n1} 0644 93271294Sngie 94271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0600 95271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK 96271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_RDWR,O_NONBLOCK 97271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0060 98271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK 99271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_RDWR,O_NONBLOCK 100271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0006 101271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,O_NONBLOCK 102271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_RDWR,O_NONBLOCK 103271294Sngie 104271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0477 105271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK 106271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY 107271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR 108271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0747 109271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK 110271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY 111271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR 112271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0774 113271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,O_NONBLOCK 114271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY 115271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR 116271294Sngie 117271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0177 118271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 119271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY 120271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR 121271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0717 122271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 123271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY 124271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR 125271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0771 126271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 127271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY 128271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR 129271294Sngie 130271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0077 131271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 132271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY 133271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDWR 134271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0707 135271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 136271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY 137271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDWR 138271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0770 139271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 140271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY 141271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDWR 142271294Sngie 143271294Sngieexpect 0 -u 65534 -g 65534 unlink ${n1} 144271294Sngie 145271294Sngie# Directory. 146271294Sngie 147271294Sngieexpect 0 -u 65534 -g 65534 mkdir ${n1} 0755 148271294Sngie 149271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0600 150271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY 151271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0060 152271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY 153271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0006 154271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY 155271294Sngie 156271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0477 157271294Sngieexpect 0 -u 65534 -g 65534 open ${n1} O_RDONLY 158271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0747 159271294Sngieexpect 0 -u 65533 -g 65534 open ${n1} O_RDONLY 160271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0774 161271294Sngieexpect 0 -u 65533 -g 65533 open ${n1} O_RDONLY 162271294Sngie 163271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0277 164271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 165271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0727 166271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 167271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0772 168271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 169271294Sngie 170271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0177 171271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 172271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0717 173271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 174271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0771 175271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 176271294Sngie 177271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0077 178271294Sngieexpect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY 179271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0707 180271294Sngieexpect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY 181271294Sngieexpect 0 -u 65534 -g 65534 chmod ${n1} 0770 182271294Sngieexpect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY 183271294Sngie 184271294Sngieexpect 0 -u 65534 -g 65534 rmdir ${n1} 185271294Sngie 186271294Sngiecd ${cdir} 187271294Sngieexpect 0 rmdir ${n0} 188