]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
Add CI stat/create/unlink test for multiple directory forms
authorBarry Naujok <bnaujok@sgi.com>
Tue, 24 Jun 2008 16:30:43 +0000 (16:30 +0000)
committerBarry Naujok <bnaujok@sgi.com>
Tue, 24 Jun 2008 16:30:43 +0000 (16:30 +0000)
Merge of master-melb:xfs-cmds:31348a by kenmcd.

  Do CI stat/create/unlink test for multiple directory forms

188 [new file with mode: 0644]
188.out [new file with mode: 0644]
group

diff --git a/188 b/188
new file mode 100644 (file)
index 0000000..83a3cf6
--- /dev/null
+++ b/188
@@ -0,0 +1,75 @@
+#! /bin/sh
+# FS QA Test No. 188
+#
+# drive the src/nametest program for CI mode
+# which does a heap of open(create)/unlink/stat
+# and checks that error codes make sense with its
+# memory of the files created.
+#
+# All filenames generated map to the same hash
+# value in XFS stressing leaf block traversal in
+# node form directories as well.
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2008 Silicon Graphics, Inc.  All Rights Reserved.
+#-----------------------------------------------------------------------
+#
+# creator
+owner=bnaujok@sgi.com
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=0       # success is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+    cd /
+    rm -f $tmp.*
+    rm -rf $SCRATCH_MNT/$seq
+}
+
+# get standard environment, filters and checks
+. ./common.rc
+. ./common.filter
+
+# real QA test starts here
+_supported_fs xfs
+_supported_os IRIX Linux
+
+if [ $XFSPROGS_VERSION -lt 21000 ]; then
+    _notrun "this test requires case-insensitive support"
+fi
+
+_require_scratch
+rm -f $seq.full
+
+_scratch_mkfs -n version=ci >/dev/null 2>&1
+_scratch_mount
+
+status=1 # default failure
+sourcefile=$tmp.ci_nametest
+seed=1
+
+# need to create an input file with a list of filenames on each line
+# do number of files for testing to try each directory format
+
+# start with small number of files and increase by 4x for each run
+max_files=6144
+num_files=6
+
+mkdir $SCRATCH_MNT/$seq
+while [ $num_files -le $max_files ]; do
+  iterations=`expr $num_files \* 10`
+  $here/src/genhashnames $SCRATCH_MNT/$seq/$num_files $num_files $seed >>$sourcefile
+  mkdir $SCRATCH_MNT/$seq/$num_files
+  $here/src/nametest -l $sourcefile -s $seed -i $iterations -z -c
+  num_files=`expr $num_files \* 4`
+done
+
+# success, all done
+status=0
+exit
diff --git a/188.out b/188.out
new file mode 100644 (file)
index 0000000..5035f3b
--- /dev/null
+++ b/188.out
@@ -0,0 +1,65 @@
+QA output created by 188
+seed = 1, hash = 0x0aa84949
+.Seed = 1 (use "-s 1" to re-execute this test)
+
+creates:     15 OK,      5 EEXIST  (    20 total, 25% EEXIST)
+removes:     13 OK,     17 ENOENT  (    30 total, 56% ENOENT)
+lookups:      3 OK,      7 ENOENT  (    10 total, 70% ENOENT)
+total  :     31 OK,     29 w/error (    60 total, 48% w/error)
+
+cleanup:      2 removes
+seed = 1, hash = 0x0aa84949
+.Seed = 1 (use "-s 1" to re-execute this test)
+..
+creates:     58 OK,     50 EEXIST  (   108 total, 46% EEXIST)
+removes:     40 OK,     48 ENOENT  (    88 total, 54% ENOENT)
+lookups:     20 OK,     24 ENOENT  (    44 total, 54% ENOENT)
+total  :    118 OK,    122 w/error (   240 total, 50% w/error)
+
+cleanup:     18 removes
+seed = 1, hash = 0x0aa84949
+.Seed = 1 (use "-s 1" to re-execute this test)
+.........
+creates:    216 OK,    185 EEXIST  (   401 total, 46% EEXIST)
+removes:    152 OK,    179 ENOENT  (   331 total, 54% ENOENT)
+lookups:    113 OK,    115 ENOENT  (   228 total, 50% ENOENT)
+total  :    481 OK,    479 w/error (   960 total, 49% w/error)
+
+cleanup:     64 removes
+seed = 1, hash = 0x0aa84949
+.Seed = 1 (use "-s 1" to re-execute this test)
+.......................................
+creates:    858 OK,    638 EEXIST  (  1496 total, 42% EEXIST)
+removes:    595 OK,    830 ENOENT  (  1425 total, 58% ENOENT)
+lookups:    414 OK,    505 ENOENT  (   919 total, 54% ENOENT)
+total  :   1867 OK,   1973 w/error (  3840 total, 51% w/error)
+.
+cleanup:    263 removes
+seed = 1, hash = 0x0aa84949
+.Seed = 1 (use "-s 1" to re-execute this test)
+.......................................................................
+.........................................................................
+..........
+creates:   3511 OK,   2589 EEXIST  (  6100 total, 42% EEXIST)
+removes:   2363 OK,   3132 ENOENT  (  5495 total, 56% ENOENT)
+lookups:   1668 OK,   2097 ENOENT  (  3765 total, 55% ENOENT)
+total  :   7542 OK,   7818 w/error ( 15360 total, 50% w/error)
+..........
+cleanup:   1148 removes
+seed = 1, hash = 0x0aa84949
+.Seed = 1 (use "-s 1" to re-execute this test)
+.......................................................................
+.........................................................................
+.........................................................................
+.........................................................................
+.........................................................................
+.........................................................................
+.........................................................................
+.........................................................................
+.................................
+creates:  14155 OK,  10391 EEXIST  ( 24546 total, 42% EEXIST)
+removes:   9680 OK,  12484 ENOENT  ( 22164 total, 56% ENOENT)
+lookups:   6508 OK,   8222 ENOENT  ( 14730 total, 55% ENOENT)
+total  :  30343 OK,  31097 w/error ( 61440 total, 50% w/error)
+...........................................
+cleanup:   4475 removes
diff --git a/group b/group
index c5c741f9624ff93614e66c918964787e95a21aed..4157bb08d518eb00f73c77e8d14c0e03a0907d0d 100644 (file)
--- a/group
+++ b/group
@@ -1,4 +1,4 @@
-# 
+#
 # QA groups control file
 # Defines test groups and nominal group owners
 # - do not start group names with a digit
@@ -86,6 +86,9 @@ dmapi
 # filestreams based tests
 filestreams    dgc@sgi.com
 
+# case-insensitive based tests
+ci             bnaujok@sgi.com
+
 # test-group association ... one line per test
 #
 001 rw dir udf auto
@@ -275,3 +278,4 @@ filestreams dgc@sgi.com
 185 dmapi auto
 186 attr auto
 187 attr auto
+188 ci dir auto