Currently if _check_test_fs and/or _check_scratch_fs find corruption, the test itself is still reported as pass, like [root@hp-dl388eg8-01 xfstests]# ./check xfs/071 xfs/072 FSTYP -- xfs (non-debug) PLATFORM -- Linux/x86_64 hp-dl388eg8-01 3.18.0-rc7+ MKFS_OPTIONS -- -f -bsize=4096 /dev/sda6 MOUNT_OPTIONS -- -o context=system_u:object_r:nfs_t:s0 /dev/sda6 /mnt/testarea/scratch xfs/071 2s _check_xfs_filesystem: filesystem on /dev/sda6 is inconsistent (r) (see /root/xfstests/results//xfs/071.full) xfs/072 1s Ran: xfs/071 xfs/072 Passed all 2 tests [root@hp-dl388eg8-01 xfstests]# echo $? 0 Usually it's not a problem, but it does confuse scripts that depend on return value of check. Update check to treat _check_{test,scratch}_fs failures as test failures too, new test output is like [root@hp-dl388eg8-01 xfstests]# ./check xfs/071 xfs/072 FSTYP -- xfs (non-debug) PLATFORM -- Linux/x86_64 hp-dl388eg8-01 3.18.0-rc7+ MKFS_OPTIONS -- -f -bsize=4096 /dev/sda6 MOUNT_OPTIONS -- -o context=system_u:object_r:nfs_t:s0 /dev/sda6 /mnt/testarea/scratch xfs/071 2s ... 2s _check_xfs_filesystem: filesystem on /dev/sda6 is inconsistent (r) (see /root/xfstests/results//xfs/071.full) xfs/072 1s ... 1s Ran: xfs/071 xfs/072 Failures: xfs/071 Failed 1 of 2 tests [root@hp-dl388eg8-01 xfstests]# echo $? 1 Signed-off-by: Eryu Guan <eguan@xxxxxxxxxx> --- v2: - introduce new _check_filesystems helper using 8 spaces tabs Note that the xfs/071 corruption issue is an xfs_repair bug, Eric has sent a patch to fix it, see http://www.spinics.net/lists/xfs/msg31018.html check | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/check b/check index 42a1ac2..10f4a18 100755 --- a/check +++ b/check @@ -385,6 +385,18 @@ _summary() rm -f $tmp.* } +_check_filesystems() +{ + if [ -f ${RESULT_DIR}/require_test ]; then + _check_test_fs || err=true + rm -f ${RESULT_DIR}/require_test + fi + if [ -f ${RESULT_DIR}/require_scratch ]; then + _check_scratch_fs || err=true + rm -f ${RESULT_DIR}/require_scratch + fi +} + _prepare_test_list if $OPTIONS_HAVE_SECTIONS; then @@ -611,6 +623,9 @@ for section in $HOST_OPTIONS_SECTIONS; do err=true fi fi + try="$try $seqnum" + n_try=`expr $n_try + 1` + _check_filesystems fi fi @@ -623,15 +638,6 @@ for section in $HOST_OPTIONS_SECTIONS; do n_bad=`expr $n_bad + 1` quick=false fi - if [ ! -f $seqres.notrun ] - then - try="$try $seqnum" - n_try=`expr $n_try + 1` - test -f ${RESULT_DIR}/require_test && _check_test_fs - rm -f ${RESULT_DIR}/require_test - test -f ${RESULT_DIR}/require_scratch && _check_scratch_fs - rm -f ${RESULT_DIR}/require_scratch - fi seq="after_$seqnum" done -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html