]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
xfsqa: test 214 leaves files around that cause 236 to fail
authorDave Chinner <dchinner@redhat.com>
Thu, 24 Jun 2010 22:25:56 +0000 (08:25 +1000)
committerDave Chinner <david@fromorbit.com>
Thu, 24 Jun 2010 22:25:56 +0000 (08:25 +1000)
Test 214 and 236 use the same file names for test files in the TEST
filesystem and don't check/create clean initial test state. Hence if
you run 214 then 236, 236 will fail with:

+link: cannot create link `/mnt/test/ouch2' to `/mnt/test/ouch': File exists
+ctime: 1277076527 -> 1277076527
+Fatal error: ctime not updated after link

Ensure that both tests clean up after themselves properly and also
ensure a clean state before they start.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
214
236

diff --git a/214 b/214
index eb18825c4ee05590b5edd75049e4cc02fc610335..cef7626e71f7c87e93560148bb14970358db8e6a 100755 (executable)
--- a/214
+++ b/214
@@ -29,6 +29,7 @@ echo "QA output created by $seq"
 
 _cleanup()
 {
+       rm -f $TEST_DIR/ouch*
        cd /
        rm -f $tmp.*
 }
@@ -51,6 +52,7 @@ _supported_os Linux
 [ -n "$XFS_IO_PROG" ] || _notrun "xfs_io executable not found"
 
 rm -f $seq.full
+rm -f $TEST_DIR/ouch*
 
 _require_xfs_io_falloc
 
diff --git a/236 b/236
index 4d257f03682e3aa24ffcbf79e7756cf38f6d1301..a7500ed78e03523df00d875bfacf58dcb56acb10 100644 (file)
--- a/236
+++ b/236
@@ -30,15 +30,12 @@ echo "QA output created by $seq"
 
 _cleanup()
 {
-       if [ -a $TEST_DIR/ouch2 ]; then
-               rm -f $TEST_DIR/ouch2
-       fi
-       if [ -a $TEST_DIR/ouch ]; then
-               rm -f $TEST_DIR/ouch
-       fi
+       rm -f $TEST_DIR/ouch*
 }
 
 here=`pwd`
+status=1       # failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
 
 # get standard environment, filters and checks
 . ./common.rc
@@ -48,6 +45,8 @@ _supported_fs generic
 # only Linux supports fallocate
 _supported_os Linux
 
+rm -f $TEST_DIR/ouch*
+
 # create a file and get its ctime
 touch $TEST_DIR/ouch
 ctime=`stat -c %Z $TEST_DIR/ouch`
@@ -65,8 +64,6 @@ if [ $ctime2 -le $ctime ]; then
        exit 1
 fi
 
-_cleanup
-
 echo "Test over."
 # success, all done
 status=0