On Thu, Dec 12, 2013 at 09:40:12AM +1100, Dave Chinner wrote:
> > All these tests don't make sense if you never unmount the filesystem.
> > Istead they should exit with _notrun for tmpfs.
> IOWs, adding tmpfs changes the definition of a "generic" test.
> i.e. instead of:
> _supported_fs generic
> these tests are now:
> _supported_fs xfs ext2 ext3 ext4 ext4dev btrfs gfs2 nfs udf reiserfs
> and by that definition should be in the tests/shared directory....
At a higher level, I wonder how useful having the distinction between
"generic" and "shared" really is. Suppose in the future we add some
tests for networked file systems or cluster file systems --- do we end
up migrating even more tests from "generic" to "shared" when we find
tests that don't work for some new file system?
And to the extent that we have things like
which skips certain tests, it's not even true that all generic tests
are run for all file systems. So what should be the proper
distinction between generic and shared tests? Whether we use
"_require_*" vs "_supported_fs"? And if so, it seems rather arbitrary
that we decide whether not running a test based on the file system
type being <foo> is fundamentally different from deciding not to run a
test becuase we are missing the feature <bar>.
Perhaps it would make more sense to move all of the generic test to
shared, and eliminating the distinction? That way it also becomes
easier becase we don't need to remember whether a test is generic/NNN
vs shared/NNN. :-)
Just a thought,