Message ID | 1418663367-18755-2-git-send-email-eguan@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Dec 16, 2014 at 01:09:27AM +0800, Eryu Guan wrote: > 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@redhat.com> > --- > > 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 | 19 ++++++++++--------- > 1 file changed, 10 insertions(+), 9 deletions(-) > > diff --git a/check b/check > index 42a1ac2..4cf7070 100755 > --- a/check > +++ b/check > @@ -611,6 +611,16 @@ for section in $HOST_OPTIONS_SECTIONS; do > err=true > fi > fi > + try="$try $seqnum" > + n_try=`expr $n_try + 1` > + 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 > fi > > fi > @@ -623,15 +633,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" Looks fine as is, but in the interest of slowly cleaning up check, can you factor this out into a helper function such as "check_filesystems" using 8 space tabs? Cheers, Dave.
On Tue, Dec 16, 2014 at 10:27:39AM +1100, Dave Chinner wrote: > On Tue, Dec 16, 2014 at 01:09:27AM +0800, Eryu Guan wrote: [snip] > > check | 19 ++++++++++--------- > > 1 file changed, 10 insertions(+), 9 deletions(-) > > > > diff --git a/check b/check > > index 42a1ac2..4cf7070 100755 > > --- a/check > > +++ b/check > > @@ -611,6 +611,16 @@ for section in $HOST_OPTIONS_SECTIONS; do > > err=true > > fi > > fi > > + try="$try $seqnum" > > + n_try=`expr $n_try + 1` > > + 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 > > fi > > > > fi > > @@ -623,15 +633,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" > > Looks fine as is, but in the interest of slowly cleaning up check, > can you factor this out into a helper function such as > "check_filesystems" using 8 space tabs? Sure, will do in v2. Thanks, Eryu -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/check b/check index 42a1ac2..4cf7070 100755 --- a/check +++ b/check @@ -611,6 +611,16 @@ for section in $HOST_OPTIONS_SECTIONS; do err=true fi fi + try="$try $seqnum" + n_try=`expr $n_try + 1` + 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 fi fi @@ -623,15 +633,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
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@redhat.com> --- 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 | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)