Author: pjd
Date: Fri Aug  6 19:20:35 2010
New Revision: 210955
URL: http://svn.freebsd.org/changeset/base/210955

Log:
  Test for EACCES also when opening FIFO or directory.

Modified:
  head/tools/regression/fstest/tests/open/06.t

Modified: head/tools/regression/fstest/tests/open/06.t
==============================================================================
--- head/tools/regression/fstest/tests/open/06.t        Fri Aug  6 19:19:14 
2010        (r210954)
+++ head/tools/regression/fstest/tests/open/06.t        Fri Aug  6 19:20:35 
2010        (r210955)
@@ -6,7 +6,7 @@ desc="open returns EACCES when the requi
 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 ${n
 
 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}
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to