From: "Theodore Tso" <tytso@mit.edu>
To: "Shin'ichiro Kawasaki" <shinichiro.kawasaki@wdc.com>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: xfstests-bld kernel config and automated tsting (Was: blktests: status, expansion plan for the storage stack test framework)
Date: Mon, 11 May 2026 11:40:46 -0400 [thread overview]
Message-ID: <20260511154046.GA21199@macsyma-wired.lan> (raw)
In-Reply-To: <agHGnYHo4HEKhYJb@shinmob>
On Mon, May 11, 2026 at 09:27:38PM +0900, Shin'ichiro Kawasaki wrote:
>
> - For easier config:
> - Ted has the config generation tool.
> -> I'm interested in it, and would like to take a look.
The config generation tool is part of my xfstests-bld test appliance:
https://github.com/tytso/xfstests-bld
I have blktests support integrated into gce-xfstests. After setting
gce-xfstests per:
https://github.com/tytso/xfstests-bld/blob/master/Documentation/gce-xfstests.md
Using it is basically as simple as:
cd /usr/src/linux
install-kconfig --blktests
kbuild
gce-xfstests --blktests
The install-kconfig and kbuild scripts can be found in the
kernel-build directory in the xfstests-bld repo:
https://github.com/tytso/xfstests-bld/tree/master/kernel-build
Note: In addition to --blktests, install-kconfig supports other options,
including --lockdep, --kasan, --ubsan, --arch arm64, --kcsan, etc.
Unfortunately, blktests is currently not supported in kvm-xfstests
(aka qemu-xfstests, since it also works on MacOS's HVF). It should be
possible, but currently kvm-xfstests doesn't suport modules, and
blktests is pretty fundamentally tied to modules. With gce-xfstests,
we upload a kernel.deb install it in the system under test. With
kvm-xfstests, we directly boot the kernel directly out of the build
tree, which is much faster (5 seconds from "kvm-xfstests shell" to
shell prompt)--- but doesn't support modules.
Projects to improve blktests in my test appliance:
1. Add support for modules in kvm-xfstests and then enable blktests for
kvm-xfstests.
2. Add support for some kind of machine readable test results file
(e.g., junit XML or kTAP)
The reason why (2) is so interesting is that it allows for a
convenient report generation which summarizes the test run, e.g:
ext4/4k: 615 tests, 1 failures, 74 skipped, 4701 seconds
Flaky: generic/234: 20% (1/5)
ext4/1k: 609 tests, 78 skipped, 5586 seconds
ext4/ext3: 607 tests, 159 skipped, 5044 seconds
ext4/encrypt: 590 tests, 191 skipped, 2768 seconds
ext4/nojournal: 607 tests, 1 failures, 158 skipped, 4111 seconds
Flaky: generic/234: 20% (1/5)
ext4/ext3conv: 612 tests, 2 failures, 76 skipped, 5212 seconds
Flaky: generic/234: 20% (1/5) generic/409: 20% (1/5)
(Note: ext4/4k, ext4/1k, etc. are different file system test
scenarios, which run on a different VM)
The other reason why (2) is handy is that it enables using automated
bisection searches, e.g.:
gce-xfstests ltm --repo linux-stable-gc -c ext4/4k generic/234 \
--bisect-good v7.0.5 --bisect-bad linux-7.0.y
So if we had a machine-readable results file, ala xfstests's "check -R
xunit-quiet", I could add automated bisection for blktests failures to
gce-xfstests.
Cheers,
- Ted
P.S. For more information about my test-appliance system, see:
https://thunk.org/gce-xfstests
https://github.com/tytso/xfstests-bld/blob/master/Documentation/kvm-quickstart.md
https://github.com/tytso/xfstests-bld/blob/master/Documentation/gce-xfstests.md
prev parent reply other threads:[~2026-05-11 15:41 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-11 20:35 [LSF/MM/BPF ATTEND][LSF/MM/BPF TOPIC] : blktests: status, expansion plan for the storage stack test framework Chaitanya Kulkarni
2026-02-12 7:52 ` Daniel Wagner
2026-02-12 7:57 ` Johannes Thumshirn
2026-02-13 17:30 ` Bart Van Assche
2026-02-13 17:35 ` James Bottomley
2026-02-13 11:23 ` Shinichiro Kawasaki
2026-02-13 14:18 ` Haris Iqbal
2026-02-15 18:38 ` Nilay Shroff
2026-04-21 6:19 ` Shin'ichiro Kawasaki
2026-04-23 8:05 ` Nilay Shroff
2026-04-23 9:36 ` Daniel Wagner
2026-04-27 11:50 ` Shin'ichiro Kawasaki
2026-02-15 21:18 ` Haris Iqbal
2026-02-16 0:33 ` Chaitanya Kulkarni
2026-02-23 7:44 ` Johannes Thumshirn
2026-02-25 10:15 ` Haris Iqbal
2026-04-21 6:05 ` Shin'ichiro Kawasaki
2026-02-23 17:08 ` Bart Van Assche
2026-02-25 2:55 ` Chaitanya Kulkarni
2026-02-25 10:07 ` Haris Iqbal
2026-02-25 16:29 ` Bart Van Assche
2026-04-21 6:37 ` Shin'ichiro Kawasaki
2026-05-11 12:27 ` Shin'ichiro Kawasaki
2026-05-11 15:40 ` Theodore Tso [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260511154046.GA21199@macsyma-wired.lan \
--to=tytso@mit.edu \
--cc=linux-block@vger.kernel.org \
--cc=shinichiro.kawasaki@wdc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox