public inbox for fstests@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] fstests: start factoring test setup boilerplate
@ 2018-06-27  8:20 Dave Chinner
  2018-06-27  8:20 ` [PATCH 1/8] fstests: generic test setup preamble Dave Chinner
                   ` (8 more replies)
  0 siblings, 9 replies; 28+ messages in thread
From: Dave Chinner @ 2018-06-27  8:20 UTC (permalink / raw)
  To: fstests

Hi folks,

These patches start the long process of factoring out most of the
test setup boilerplate in each test. The first patch introduces the
generic test setup include file, and the patches that follow start
the process of converting tests over to use it.

Making infrastructure changes to fstests is hard because of the
sheer number of tests. Abstracting out things like test setup will
make it much easier in future to improve the test setup
infrstructure as we won't need to modify every test to make the
change. We only have to do the hard work once.

There is still some boiler plate in the preamble, but it is reduced
significantly and only contains things that individual tests should
be allowed to influence. i.e. the full output file and a cleanup
function that is called on exit.

I've also replaced the test success suffix - instead of this boiler
plate at the end of each test:

# success, all done
status=0
exit

This has been replaced with a single call to _success, which does
all the things necessary for the test harness to know the test has
exited successfully.

As an initial pass I've convert all the test directories with a
small number of tests, and converted the first handful of tests in
each of the major test directories. This is a slow process because
it's mostly manual as every second test has some unique variation
that makes automated replacement somewhat difficult.

As such, I've really only scratched the surface - this patchset
changes over about 60 tests, and there are about 1200 more tests to
convert. As such, my focus is going to be converting the generic
tests first - this is the biggest chunk of the work that
needs to be done.

Given there is still a large amount of conversion work to do, I
would appreciate it if people regularly contributing to the other
large test dirs (mainly overlay, btrfs, ext4 and xfs) would consider
devoting an hour or two to converting some of those tests to the new
setup preamble. The more people who do a bit, the faster the
conversion will go and the better it will be for everyone.

Comments, thoughts?

-Dave.



^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2018-07-07 11:28 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-27  8:20 [PATCH 0/6] fstests: start factoring test setup boilerplate Dave Chinner
2018-06-27  8:20 ` [PATCH 1/8] fstests: generic test setup preamble Dave Chinner
2018-06-27 11:07   ` Amir Goldstein
2018-06-27  8:20 ` [PATCH 2/8] tests: convert various test dirs to " Dave Chinner
2018-06-27 10:34   ` Amir Goldstein
2018-06-27 14:03     ` Dave Chinner
2018-06-27  8:20 ` [PATCH 3/8] shared: use new test " Dave Chinner
2018-06-27 10:56   ` Amir Goldstein
2018-06-27 14:27     ` Dave Chinner
2018-06-27 14:43       ` Amir Goldstein
2018-06-27 22:07         ` Dave Chinner
2018-06-28  4:12           ` Amir Goldstein
2018-06-27  8:20 ` [PATCH 4/8] generic: convert some tests to new " Dave Chinner
2018-06-27 11:08   ` Amir Goldstein
2018-07-07 11:28   ` Eryu Guan
2018-06-27  8:21 ` [PATCH 5/8] btrfs: " Dave Chinner
2018-06-27 11:30   ` Amir Goldstein
2018-06-27 14:34     ` Dave Chinner
2018-06-27 14:48       ` Amir Goldstein
2018-07-07 11:22   ` Eryu Guan
2018-06-27  8:21 ` [PATCH 6/8] ext4: " Dave Chinner
2018-06-27 11:34   ` Amir Goldstein
2018-07-07 11:25   ` Eryu Guan
2018-06-27  8:21 ` [PATCH 7/8] overlay: " Dave Chinner
2018-06-27 11:37   ` Amir Goldstein
2018-06-27  8:21 ` [PATCH 8/8] xfs: " Dave Chinner
2018-06-27 11:42   ` Amir Goldstein
2018-06-28  5:59 ` [PATCH 0/6] fstests: start factoring test setup boilerplate Eryu Guan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox