Re: Announcing blktests

Omar Sandoval
2017-05-15T17:30:39Z

On Mon, May 15, 2017 at 09:44:13AM +0200, Johannes Thumshirn wrote:
> On 05/12/2017 08:49 PM, Omar Sandoval wrote:
> > Hi, everyone,
> >
> > At LSF/MM, we talked about the need for somewhere to dump tests for the
> > block layer/storage stack. I've put together a test suite inspired by
> > xfstests here: https://github.com/osandov/blktests.
> >
> > I started out with the opinion that we should reuse xfstests for this,
> > but it became clear that the requirements for testing block devices are
> > slightly different, and it diverged significantly from there. In
> > particular, blktests supports:
> >
> > - Per-device tests. You can configure a list of test devices and the
> > per-device tests will run on each one (currently in serial, we can
> > support parallel runs in the future if needed).
> > - No-device tests. Some tests don't need to run on real hardware, and we
> > can just set up a null-blk or scsi-debug device.
> > - Performance numbers. In addition to the output comparison pass/fail
> > that xfstests supports, blktests can also report arbitrary test
> > metrics which don't affect whether the test passes but can be useful
> > for spotting regressions.
> >
> > Jens and I wrote up an initial set of tests, but there are a lot more we
> > can still write. I'm also happy to take feature requests, just email me
> > or open an issue on the GitHub repo.
>
> \o/
>
> You're my hero :-).
>
> Do you only accept github pull requests or do you accept patches via
> linux-block as well?

Patches are fine, just format them with `git format-patch
--subject-prefix="PATCH blktests"` so I don't lose them.

> As a side note, I'm currently working on a partition table fuzzer to
> stress block/partitions/*.c a bit. I think this could be included into
> your framework as well (it's only one .c file currently with no external
> dependencies).

Yup, that sounds like a good fit. Currently we don't have any programs
to build, but it'd be easy to add a src/ directory and do what xfstests
does.

Thanks!