From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
"John Snow" <jsnow@redhat.com>, "Kevin Wolf" <kwolf@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Cleber Rosa" <crosa@redhat.com>,
"Hanna Reitz" <hreitz@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
qemu-block@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
"Daniel P. Berrangé" <berrange@redhat.com>
Subject: [PATCH v5 00/15] tests: do more testing of block drivers
Date: Wed, 4 Mar 2026 14:21:05 +0000 [thread overview]
Message-ID: <20260304142120.2635617-1-berrange@redhat.com> (raw)
v1: https://lists.nongnu.org/archive/html/qemu-devel/2025-10/msg01650.html
v2: https://lists.nongnu.org/archive/html/qemu-devel/2026-01/msg02083.html
v3: https://lists.nongnu.org/archive/html/qemu-devel/2026-01/msg02939.html
v4: https://lists.nongnu.org/archive/html/qemu-devel/2026-02/msg03245.html
The recent (at the time of v1) set of regressions identified in the LUKS
block driver re-inforced that despite having a hugely useful set of I/O
tests, our CI coverage is still letting through too many bugs.
The core goals of this series were/are:
* Add LUKS and NBD to the tested formats/protocols
integrated into "make check-block SPEED=thorough"
* Ensure that all qcow2 tests can be run with "SPEED=slow",
not staying limited to only the 'auto' group used by the
'make check-block' target in its default 'quick' mode
* Add 'make check-block-$FORMAT' to expose a standalone
target for running all tests for a given format (or
equivalently a protocol)
* Add GitLab CI jobs for exercising tests for all formats
A sample pipeline for this is
https://gitlab.com/berrange/qemu/-/pipelines/2258731804/
Showing the 'block-FORMAT' jobs which test the 10 block formats/protocols
currently enabled.
This series fixes a couple of bugs
* Test 128 check for device mapper usage doesn't work
sufficiently well to detect gitlab's containe env
can't do dynamic devfs
* Test 185 is reliably failing on gitlab
* Two tests fail when run on CentOS 9 because they trigger
python deprecation warnings. This will be fixed when the
python-qemu-qmp module is next released.
Testing of pipelines throughout development of v1-v5 postings does not
exhibit any non-deterministic failures with the shared runners. Hopefully
that will apply to QEMU's private runners used forthe staging tree too.
At this point it is a chicken & egg problem though.
If we don't bite the bullet and enable block I/O tests in GitLab CI for
everyone, we'll never find out if they're truely stable enough to rely
on.
As a mitigation against instability a patch in this series adds a new
QEMU_TEST_IO_SKIP env variable that we are able to set as a GitLab CI
env variable. This lets us skip broken tests dynamically without waiting
for a git commit to disable them in the buildtest.yml config that we
use for disabling the 3 known broken tests currently.
Changed in v5:
- Adapt for python-qemu-qmp being spun off, by temp disabling
tests that are broken by it, that we formerly fixed in-tree.
Changed in v4:
- Remove tests from build-tcg-disabled job
Changed in v3:
- Test whether dmsetup create device appeared or not, instead
of unconditionally skipping test 128 in GitLab
- Use 'driver' term instead of 'format' or 'protocol'
- Fix misc typos & rephrasing
Daniel P. Berrangé (15):
gitlab: ensure all meson jobs capture build/meson-logs by default
tests: print reason when I/O test is skipped in TAP mode
tests: remove redundant meson suite for iotests
tests: ensure all qcow2 I/O tests are able to be run via make
scripts/mtest2make: ensure output has stable sorting
scripts/mtest2make: support optional tests grouping
tests: add a meson suite / make target per block I/O tests format
docs/devel/testing: expand documentation for 'make check-block'
tests: add nbd and luks to the I/O test suites
tests: use 'driver' as collective term for either format or protocol
tests: validate dmsetup result in test 128
tests: fix check for sudo access in LUKS I/O test
tests: add QEMU_TEST_IO_SKIP for skipping I/O tests
gitlab: add jobs for thorough block tests
gitlab: remove I/O tests from build-tcg-disabled job
.gitlab-ci.d/buildtest-template.yml | 30 +++++---
.gitlab-ci.d/buildtest.yml | 115 +++++++++++++++++++++++++---
docs/devel/testing/main.rst | 33 +++++++-
scripts/mtest2make.py | 30 +++++---
tests/Makefile.include | 3 +-
tests/qemu-iotests/128 | 6 ++
tests/qemu-iotests/149 | 13 ++--
tests/qemu-iotests/meson.build | 59 ++++++++++++--
tests/qemu-iotests/testrunner.py | 18 ++++-
9 files changed, 258 insertions(+), 49 deletions(-)
--
2.53.0
next reply other threads:[~2026-03-04 14:21 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-04 14:21 Daniel P. Berrangé [this message]
2026-03-04 14:21 ` [PATCH v5 01/15] gitlab: ensure all meson jobs capture build/meson-logs by default Daniel P. Berrangé
2026-03-04 14:45 ` Thomas Huth
2026-03-04 14:49 ` Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 02/15] tests: print reason when I/O test is skipped in TAP mode Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 03/15] tests: remove redundant meson suite for iotests Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 04/15] tests: ensure all qcow2 I/O tests are able to be run via make Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 05/15] scripts/mtest2make: ensure output has stable sorting Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 06/15] scripts/mtest2make: support optional tests grouping Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 07/15] tests: add a meson suite / make target per block I/O tests format Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 08/15] docs/devel/testing: expand documentation for 'make check-block' Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 09/15] tests: add nbd and luks to the I/O test suites Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 10/15] tests: use 'driver' as collective term for either format or protocol Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 11/15] tests: validate dmsetup result in test 128 Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 12/15] tests: fix check for sudo access in LUKS I/O test Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 13/15] tests: add QEMU_TEST_IO_SKIP for skipping I/O tests Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 14/15] gitlab: add jobs for thorough block tests Daniel P. Berrangé
2026-03-04 14:21 ` [PATCH v5 15/15] gitlab: remove I/O tests from build-tcg-disabled job Daniel P. Berrangé
2026-03-18 17:02 ` [PATCH v5 00/15] tests: do more testing of block drivers Daniel P. Berrangé
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=20260304142120.2635617-1-berrange@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=crosa@redhat.com \
--cc=hreitz@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=pierrick.bouvier@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.