new semantics: new character/block devices get created in first branch always
authorErez Zadok <ezk@cs.sunysb.edu>
Wed, 19 Dec 2007 02:17:36 +0000 (21:17 -0500)
committerErez Zadok <ezk@cs.sunysb.edu>
Wed, 19 Dec 2007 02:17:36 +0000 (21:17 -0500)
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
t-mknod.sh

index 40a6a56eb81f1618ac3f7a02ea09bfc062479345..7e1a43e547dab9eb496fedf9b3794f8f4d35673b 100755 (executable)
@@ -31,6 +31,7 @@ FILES
 function beforefiles {
 cat <<FILES
 f $LOWER_DIR1/d1/d2/d3/d4/.wh.c
+c $LOWER_DIR1/devnull
 FILES
 }
 
@@ -38,10 +39,15 @@ FILES
 function afterfiles_rw {
 cat <<FILES
 b $LOWER_DIR0/a
+d $LOWER_DIR0/d1/d2
+d $LOWER_DIR0/d1/d2/d3
+d $LOWER_DIR0/d1/d2/d3/d4
+b $LOWER_DIR0/d1/d2/d3/d4/c
+d $LOWER_DIR0/d5
+c $LOWER_DIR0/d5/b
 
-c $LOWER_DIR1/d5/b
-
-b $LOWER_DIR1/d1/d2/d3/d4/c
+f $LOWER_DIR1/d1/d2/d3/d4/.wh.c
+c $LOWER_DIR1/devnull
 
 FILES
 }
@@ -54,18 +60,21 @@ b $LOWER_DIR0/a
 
 d $LOWER_DIR0/d5
 c $LOWER_DIR0/d5/b
-
-f $LOWER_DIR1/d1/d2/d3/d4/.wh.c
 d $LOWER_DIR0/d1/d2
 d $LOWER_DIR0/d1/d2/d3
 d $LOWER_DIR0/d1/d2/d3/d4
 b $LOWER_DIR0/d1/d2/d3/d4/c
+c $LOWER_DIR0/devnull
+
+f $LOWER_DIR1/d1/d2/d3/d4/.wh.c
+c $LOWER_DIR1/devnull
 FILES
 }
 
 
 
-
+function test_rw {
+# The read-write tests
 ( directories ; beforefiles) | create_hierarchy
 
 mount_union "" $LOWER_DIR0 $LOWER_DIR1
@@ -77,11 +86,19 @@ checktype "$MOUNTPOINT/d5/b" 'c'
 mknod $MOUNTPOINT/d1/d2/d3/d4/c  b  200 0
 checktype "$MOUNTPOINT/d1/d2/d3/d4/c" 'b'
 
+checkperms $MOUNTPOINT/devnull 644
+chmod 666 $MOUNTPOINT/devnull
+echo > $MOUNTPOINT/devnull
+checkperms $MOUNTPOINT/devnull 666
 
 unmount_union
 ( directories ; afterfiles_rw )  | check_hierarchy $TOP_LOWER_DIR
+echo -n "[rw] "
+}
 
 
+function test_ro {
+# The read-only tests
 ( directories ; beforefiles) | create_hierarchy
 
 mount_union "" $LOWER_DIR0 $LOWER_DIR1=ro
@@ -93,7 +110,17 @@ checktype "$MOUNTPOINT/d5/b" 'c'
 mknod $MOUNTPOINT/d1/d2/d3/d4/c   b  200 0
 checktype "$MOUNTPOINT/d1/d2/d3/d4/c" 'b'
 
+checkperms $MOUNTPOINT/devnull 644
+chmod 666 $MOUNTPOINT/devnull
+echo > $MOUNTPOINT/devnull
+checkperms $MOUNTPOINT/devnull 666
+
 unmount_union
 ( directories ; afterfiles_ro )  | check_hierarchy $TOP_LOWER_DIR
+echo -n "[ro] "
+}
+
+test_rw
+test_ro
 
 complete_test