xfstests 249: use -F option for xfs_io

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>
This commit is contained in:
Eric Sandeen
2011-04-04 13:46:10 -05:00
parent fa83948599
commit 4342e76708
Regular → Executable
+8 -4
View File
@@ -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