xfstests 249: use -F option for xfs_io
authorEric Sandeen <sandeen@sandeen.net>
Mon, 4 Apr 2011 18:46:10 +0000 (13:46 -0500)
committerEric Sandeen <sandeen@sandeen.net>
Mon, 4 Apr 2011 18:46:10 +0000 (13:46 -0500)
Test 249 was appearing to pass on ext4, but it wasn't really
exercising the test due to lack of "-F" in the xfs_io arguments.

Without -F the files were created (oddly enough); neither pwrite
nor sendfile were executed, and the diff of the two (empty)
files passed, resulting in a passed test without testing anything.

So add the -F, capture the output, and test the result of each
xfs_io invocation.

Also, when it fails, the diff output is huge.  Make diff silent,
but describe the diff failure and exit.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
249 [changed mode: 0644->0755]

diff --git a/249 b/249
old mode 100644 (file)
new mode 100755 (executable)
index 6fc972e..100cd4c
--- a/249
+++ b/249
@@ -52,11 +52,15 @@ echo "Feel the serenity."
 
 SRC=$TEST_DIR/$seq.src
 DST=$TEST_DIR/$seq.dst
+rm -f $seq.full
 
-$XFS_IO_PROG -f -c "pwrite -S 0xa5a55a5a 0 32768k" -c fsync $SRC > /dev/null 2>&1
-$XFS_IO_PROG -f -c "sendfile -i $SRC 0 32768k" -c fsync $DST > /dev/null 2>&1
-
-diff $SRC $DST
+$XFS_IO_PROG -F -f -c "pwrite -S 0xa5a55a5a 0 32768k" -c fsync $SRC >> $seq.full 2>&1
+[ $? -ne 0 ] && _fail "xfs_io pwrite failed"
+$XFS_IO_PROG -F -f -c "sendfile -i $SRC 0 32768k" -c fsync $DST >> $seq.full 2>&1
+[ $? -ne 0 ] && _fail "xfs_io sendfile failed"
 
+diff -q $SRC $DST
 status=$?
+[ $status -ne 0 ] && _fail "$SRC and $DST differ"
+
 exit