From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Hanna Reitz" <hreitz@redhat.com>,
"Pierrick Bouvier" <pierrick.bouvier@oss.qualcomm.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
qemu-block@nongnu.org, "Cleber Rosa" <crosa@redhat.com>,
"Kevin Wolf" <kwolf@redhat.com>, "John Snow" <jsnow@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH 00/16] tests: do more testing of block drivers
Date: Tue, 12 May 2026 14:53:06 +0100 [thread overview]
Message-ID: <agMwwti_xIHPNjEu@redhat.com> (raw)
In-Reply-To: <20260424154205.364268-1-berrange@redhat.com>
ping: is there any more feedback on series ?
I'd really like to get the block driver CI coverage improved
to prevent further regressions in currently untested drivers.
On Fri, Apr 24, 2026 at 04:41:48PM +0100, Daniel P. Berrangé wrote:
> 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
> v5: https://lists.nongnu.org/archive/html/qemu-devel/2026-03/msg01252.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 v6:
>
> - Drop redundant change from gitlab yml config
> - Pull in rebase for qemu.qmp to 0.6.0 to fix two tests
> by avoiding deprecation warnings
>
> 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
>
> John Snow (1):
> python: bump qemu.qmp to v0.0.6
>
> .gitlab-ci.d/buildtest-template.yml | 30 +++--
> .gitlab-ci.d/buildtest.yml | 107 ++++++++++++++++--
> docs/devel/testing/main.rst | 33 +++++-
> python/scripts/vendor.py | 4 +-
> ...ny.whl => qemu_qmp-0.0.6-py3-none-any.whl} | Bin 72263 -> 72379 bytes
> pythondeps.toml | 2 +-
> 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 ++-
> 12 files changed, 254 insertions(+), 51 deletions(-)
> rename python/wheels/{qemu_qmp-0.0.5-py3-none-any.whl => qemu_qmp-0.0.6-py3-none-any.whl} (64%)
>
> --
> 2.53.0
>
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
prev parent reply other threads:[~2026-05-12 13:54 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-24 15:41 [PATCH 00/16] tests: do more testing of block drivers Daniel P. Berrangé
2026-04-24 15:41 ` [PATCH 01/16] python: bump qemu.qmp to v0.0.6 Daniel P. Berrangé
2026-05-12 15:37 ` Pierrick Bouvier
2026-04-24 15:41 ` [PATCH 02/16] gitlab: ensure all meson jobs capture build/meson-logs by default Daniel P. Berrangé
2026-05-12 15:38 ` Pierrick Bouvier
2026-04-24 15:41 ` [PATCH 03/16] tests: print reason when I/O test is skipped in TAP mode Daniel P. Berrangé
2026-05-12 15:38 ` Pierrick Bouvier
2026-04-24 15:41 ` [PATCH 04/16] tests: remove redundant meson suite for iotests Daniel P. Berrangé
2026-05-12 15:42 ` Pierrick Bouvier
2026-04-24 15:41 ` [PATCH 05/16] tests: ensure all qcow2 I/O tests are able to be run via make Daniel P. Berrangé
2026-04-24 15:41 ` [PATCH 06/16] scripts/mtest2make: ensure output has stable sorting Daniel P. Berrangé
2026-04-24 15:41 ` [PATCH 07/16] scripts/mtest2make: support optional tests grouping Daniel P. Berrangé
2026-05-12 15:45 ` Pierrick Bouvier
2026-05-13 10:08 ` Daniel P. Berrangé
2026-05-13 15:49 ` Pierrick Bouvier
2026-05-13 17:15 ` Daniel P. Berrangé
2026-05-13 17:23 ` Pierrick Bouvier
2026-05-13 17:26 ` Daniel P. Berrangé
2026-05-13 17:32 ` Pierrick Bouvier
2026-04-24 15:41 ` [PATCH 08/16] tests: add a meson suite / make target per block I/O tests format Daniel P. Berrangé
2026-05-12 15:46 ` Pierrick Bouvier
2026-04-24 15:41 ` [PATCH 09/16] docs/devel/testing: expand documentation for 'make check-block' Daniel P. Berrangé
2026-05-12 15:47 ` Pierrick Bouvier
2026-04-24 15:41 ` [PATCH 10/16] tests: add nbd and luks to the I/O test suites Daniel P. Berrangé
2026-05-12 15:47 ` Pierrick Bouvier
2026-04-24 15:41 ` [PATCH 11/16] tests: use 'driver' as collective term for either format or protocol Daniel P. Berrangé
2026-05-12 15:52 ` Pierrick Bouvier
2026-04-24 15:42 ` [PATCH 12/16] tests: validate dmsetup result in test 128 Daniel P. Berrangé
2026-05-12 15:53 ` Pierrick Bouvier
2026-05-13 10:11 ` Daniel P. Berrangé
2026-05-13 15:51 ` Pierrick Bouvier
2026-04-24 15:42 ` [PATCH 13/16] tests: fix check for sudo access in LUKS I/O test Daniel P. Berrangé
2026-05-12 15:54 ` Pierrick Bouvier
2026-04-24 15:42 ` [PATCH 14/16] tests: add QEMU_TEST_IO_SKIP for skipping I/O tests Daniel P. Berrangé
2026-05-12 15:56 ` Pierrick Bouvier
2026-05-12 16:06 ` Daniel P. Berrangé
2026-05-12 16:19 ` Pierrick Bouvier
2026-05-12 16:36 ` Daniel P. Berrangé
2026-05-12 16:47 ` Pierrick Bouvier
2026-05-12 16:53 ` Daniel P. Berrangé
2026-05-12 17:09 ` Pierrick Bouvier
2026-05-12 17:24 ` Daniel P. Berrangé
2026-05-12 17:53 ` Pierrick Bouvier
2026-05-12 18:46 ` Daniel P. Berrangé
2026-05-12 18:52 ` Pierrick Bouvier
2026-05-12 19:00 ` Daniel P. Berrangé
2026-05-12 19:12 ` Pierrick Bouvier
2026-05-13 14:11 ` Fabiano Rosas
2026-05-13 14:58 ` Daniel P. Berrangé
2026-05-13 6:18 ` Thomas Huth
2026-05-13 15:53 ` Pierrick Bouvier
2026-04-24 15:42 ` [PATCH 15/16] gitlab: add jobs for thorough block tests Daniel P. Berrangé
2026-05-12 15:59 ` Pierrick Bouvier
2026-04-24 15:42 ` [PATCH 16/16] gitlab: remove I/O tests from build-tcg-disabled job Daniel P. Berrangé
2026-04-25 6:53 ` Thomas Huth
2026-05-12 15:47 ` Pierrick Bouvier
2026-05-12 13:53 ` Daniel P. Berrangé [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=agMwwti_xIHPNjEu@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@oss.qualcomm.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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