diff options
author | pjd <pjd@FreeBSD.org> | 2010-08-06 19:20:35 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2010-08-06 19:20:35 +0000 |
commit | c0ae51d06ff786f15c26a8cd6cbc7a99fe1e5eee (patch) | |
tree | 59710678e4ecefbfb478d35f5254418b89448b69 /tools | |
parent | 4cf064776c908c168944b5e24f65cd36a2d22a0a (diff) | |
download | FreeBSD-src-c0ae51d06ff786f15c26a8cd6cbc7a99fe1e5eee.zip FreeBSD-src-c0ae51d06ff786f15c26a8cd6cbc7a99fe1e5eee.tar.gz |
Test for EACCES also when opening FIFO or directory.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/regression/fstest/tests/open/06.t | 150 |
1 files changed, 124 insertions, 26 deletions
diff --git a/tools/regression/fstest/tests/open/06.t b/tools/regression/fstest/tests/open/06.t index e72d191..007e24a 100644 --- a/tools/regression/fstest/tests/open/06.t +++ b/tools/regression/fstest/tests/open/06.t @@ -6,7 +6,7 @@ desc="open returns EACCES when the required permissions (for reading and/or writ dir=`dirname $0` . ${dir}/../misc.sh -echo "1..65" +echo "1..144" n0=`namegen` n1=`namegen` @@ -16,47 +16,104 @@ expect 0 chown ${n0} 65534 65534 cdir=`pwd` cd ${n0} +# Regular file. + expect 0 -u 65534 -g 65534 create ${n1} 0644 expect 0 -u 65534 -g 65534 chmod ${n1} 0600 -expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY -expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY -expect 0 -u 65534 -g 65534 open ${n1} O_RDWR +expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY, +expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY, +expect 0 -u 65534 -g 65534 open ${n1} O_RDWR, expect 0 -u 65534 -g 65534 chmod ${n1} 0060 -expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY -expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY -expect 0 -u 65533 -g 65534 open ${n1} O_RDWR +expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY, +expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY, +expect 0 -u 65533 -g 65534 open ${n1} O_RDWR, expect 0 -u 65534 -g 65534 chmod ${n1} 0006 -expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY -expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY -expect 0 -u 65533 -g 65533 open ${n1} O_RDWR +expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY, +expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY, +expect 0 -u 65533 -g 65533 open ${n1} O_RDWR, expect 0 -u 65534 -g 65534 chmod ${n1} 0477 -expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY, +expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY, +expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, +expect 0 -u 65534 -g 65534 chmod ${n1} 0747 +expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY, +expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY, +expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, +expect 0 -u 65534 -g 65534 chmod ${n1} 0774 +expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY, +expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY, +expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, + +expect 0 -u 65534 -g 65534 chmod ${n1} 0277 +expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY, +expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY, +expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, +expect 0 -u 65534 -g 65534 chmod ${n1} 0727 +expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY, +expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY, +expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, +expect 0 -u 65534 -g 65534 chmod ${n1} 0772 +expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY, +expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY, +expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, + +expect 0 -u 65534 -g 65534 chmod ${n1} 0177 +expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY, +expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY, +expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, +expect 0 -u 65534 -g 65534 chmod ${n1} 0717 +expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY, +expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY, +expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, +expect 0 -u 65534 -g 65534 chmod ${n1} 0771 +expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY, +expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY, +expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, + +expect 0 -u 65534 -g 65534 chmod ${n1} 0077 +expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY, +expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY, +expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR, +expect 0 -u 65534 -g 65534 chmod ${n1} 0707 +expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY, +expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY, +expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR, +expect 0 -u 65534 -g 65534 chmod ${n1} 0770 +expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY, +expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY, +expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR, + +expect 0 -u 65534 -g 65534 unlink ${n1} + +# FIFO. + +expect 0 -u 65534 -g 65534 mkfifo ${n1} 0644 + +expect 0 -u 65534 -g 65534 chmod ${n1} 0600 +expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK +expect 0 -u 65534 -g 65534 open ${n1} O_RDWR,O_NONBLOCK +expect 0 -u 65534 -g 65534 chmod ${n1} 0060 +expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK +expect 0 -u 65533 -g 65534 open ${n1} O_RDWR,O_NONBLOCK +expect 0 -u 65534 -g 65534 chmod ${n1} 0006 +expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,O_NONBLOCK +expect 0 -u 65533 -g 65533 open ${n1} O_RDWR,O_NONBLOCK + +expect 0 -u 65534 -g 65534 chmod ${n1} 0477 +expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR expect 0 -u 65534 -g 65534 chmod ${n1} 0747 -expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY,O_NONBLOCK expect EACCES -u 65533 -g 65534 open ${n1} O_WRONLY expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR expect 0 -u 65534 -g 65534 chmod ${n1} 0774 -expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY +expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY,O_NONBLOCK expect EACCES -u 65533 -g 65533 open ${n1} O_WRONLY expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR -expect 0 -u 65534 -g 65534 chmod ${n1} 0277 -expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY -expect 0 -u 65534 -g 65534 open ${n1} O_WRONLY -expect EACCES -u 65534 -g 65534 open ${n1} O_RDWR -expect 0 -u 65534 -g 65534 chmod ${n1} 0727 -expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY -expect 0 -u 65533 -g 65534 open ${n1} O_WRONLY -expect EACCES -u 65533 -g 65534 open ${n1} O_RDWR -expect 0 -u 65534 -g 65534 chmod ${n1} 0772 -expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY -expect 0 -u 65533 -g 65533 open ${n1} O_WRONLY -expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR - expect 0 -u 65534 -g 65534 chmod ${n1} 0177 expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY expect EACCES -u 65534 -g 65534 open ${n1} O_WRONLY @@ -85,5 +142,46 @@ expect EACCES -u 65533 -g 65533 open ${n1} O_RDWR expect 0 -u 65534 -g 65534 unlink ${n1} +# Directory. + +expect 0 -u 65534 -g 65534 mkdir ${n1} 0755 + +expect 0 -u 65534 -g 65534 chmod ${n1} 0600 +expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0060 +expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0006 +expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY + +expect 0 -u 65534 -g 65534 chmod ${n1} 0477 +expect 0 -u 65534 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0747 +expect 0 -u 65533 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0774 +expect 0 -u 65533 -g 65533 open ${n1} O_RDONLY + +expect 0 -u 65534 -g 65534 chmod ${n1} 0277 +expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0727 +expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0772 +expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY + +expect 0 -u 65534 -g 65534 chmod ${n1} 0177 +expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0717 +expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0771 +expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY + +expect 0 -u 65534 -g 65534 chmod ${n1} 0077 +expect EACCES -u 65534 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0707 +expect EACCES -u 65533 -g 65534 open ${n1} O_RDONLY +expect 0 -u 65534 -g 65534 chmod ${n1} 0770 +expect EACCES -u 65533 -g 65533 open ${n1} O_RDONLY + +expect 0 -u 65534 -g 65534 rmdir ${n1} + cd ${cdir} expect 0 rmdir ${n0} |