2012-05-23 12:48:53

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH] tests: use make rules to run tests in parallel

[PS: I typo'd Ted's email when sending the patch from git, I assume
the patch sent to the list will make it...]

On 2012-05-23, at 6:40 AM, Andreas Dilger wrote:
> Change the e2fsck/mke2fs/tune2fs/e2image/debugfs regression tests
> to be driven by Makefile rules instead of by a script loop. This
> allows the tests to be run in parallel like a build and reduces
> testing time significantly.
>
> One major change to the tests themselves is to avoid printing any
> status output until the test has passed or failed, to avoid mixing
> lines from the tests. The other major change is to use unique
> filenames for each test, which was mostly handled already, but in
> some cases temporary files are called $test_name.tmp to avoid any
> collision between running tests.
>
> On my old system it reduced the testing time from 160s to about 40s.
> Most of the savings is running the MMP test check delays in parallel,
> but it still takes the length of the slowest test, f_mmp_garbage.
> There will be ongoing benefit in the future as more tests are added.
> Tests were run with "make -j", "make -j4", "make -j12", "make -j16",
> and "make -j24" repeatedly without any test failures.

The main motivation for this patch is because I'm running a LOT of
regression tests as I'm rebasing our e2fsprogs tree to catch up to
the upstream master. This sometimes means running "make check" for
many patches in my own series as it is rebased incrementally on
successive upstream targets, in addition to the larger number of
tests in our tree.

I just got tired of waiting for the MMP tests to time out...

Cheers, Andreas
--
Andreas Dilger Whamcloud, Inc.
Principal Lustre Engineer http://www.whamcloud.com/






2012-05-23 15:00:39

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] tests: use make rules to run tests in parallel

On Wed, May 23, 2012 at 06:48:49AM -0600, Andreas Dilger wrote:
> [PS: I typo'd Ted's email when sending the patch from git, I assume
> the patch sent to the list will make it...]

As near as I can tell, it never made the list. Or at least, it didn't
make my backup list archive on thunk.org.

Can you resend?

- Ted