xfstests: deprecate busted log printing tests

Tests 018, 081 and 082 read the contents of the log and assume that the
contents will always be the same. They are trying to ensure that the
contents of the log don't change for a given fixed load.

This has several problems - high level changes to the filesystem and
VFS code can change the order and contents of the log. Changes to
the way we sync the filesystem will change the contents of the log.
background writeback occurring in the middle of the test will change
the contents of the log by allowing the tail to move. Even changes
to the default mkfs parameters can break them!

The tests also assume that unmount leaves a dirty log behind. We've
fixed lots of problems in sync and the unmount paths over recent
times, so now a clean unmount leaves a clean log behind. That is,
there is nothing left in the log print output for these tests to
check. IOWs, major surgery is required for these tests to be
returned to their former break-when-something-changes behaviour.

However, these tests are a maintenance nightmare. They spend more
time broken and failing than they do passing, and then it's not long
before they get broken again. They have to cover all sorts of
different permutations of log configurations and that will continue
to grow and increase the complexity of making these tests continue
to work. And to top it all off, I can't remember a bug actually ever
being found by these tests. Hence I think we should just stop using
them altogether.

So this patch deprecates 018, 081 and 082 rather than fixes them.
It introduces a "deprecated" test group and puts them in it. That
means the tests can still be run on older systems where they may
have some use, but will not be run automatically any more, nor
will any attempt be made to keep them up to date or working.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Dave Chinner
2010-01-26 14:26:42 +11:00
parent a515b1b7b2
commit 31792fea50
+7 -3
View File
@@ -104,6 +104,10 @@ atime
# Test preallocation calls
prealloc
# Old tests that we won't spend any effort trying to run and make work
# on current systems
deprecated
#
# test-group association ... one line per test
#
@@ -124,7 +128,7 @@ prealloc
015 other auto quick
016 rw auto quick
017 mount auto quick
018 log logprint v2log auto quick
018 deprecated # log logprint v2log
019 mkfs auto quick
020 metadata attr udf auto quick
021 db attr auto quick
@@ -187,8 +191,8 @@ prealloc
078 growfs auto quick
079 acl attr ioctl metadata auto quick
080 rw ioctl
081 log logprint quota auto quick
082 log logprint v2log auto quick
081 deprecated # log logprint quota
082 deprecated # log logprint v2log
083 rw auto
084 ioctl rw auto
085 log auto quick