All of lore.kernel.org
 help / color / mirror / Atom feed
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 14/15] gitlab: add jobs for thorough block tests
Date: Wed,  4 Mar 2026 14:21:19 +0000	[thread overview]
Message-ID: <20260304142120.2635617-15-berrange@redhat.com> (raw)
In-Reply-To: <20260304142120.2635617-1-berrange@redhat.com>

CI is only exercising the qcow2 'auto' tests currently. As a result we
get no exposure of changes which cause regressions in other block format
drivers.

This adds new CI jobs for each block format, that will run the target
'make check-block-$FORMAT'. The jobs are separate so that we have the
ability to make each format gating or not, depending on their level
of reliability.

The 'centos' image is used to run the I/O tests since several tests
have an implicit dependency on x86_64-softmmu, and thus break with
other architecture targets. The 'centos' build job is the only one
that creates the x86_64-softmmu target in CI. Ideally this target
portability in I/O tests would be fixed to avoid this limitation.

There is currently an undiagnosed failure of job 185 with the qcow2
when run in CI that is marked to be skipped, reported at:

  https://gitlab.com/qemu-project/qemu/-/issues/3270

The jobs 147 with NBD and 045 with raw are also marked skipped as the
qemu.qmp python code triggers deprecation warnings for sendmsg. This
can be removed when the next release of python-qemu-qmp is made per:

  https://gitlab.com/qemu-project/python-qemu-qmp/-/issues/36

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 .gitlab-ci.d/buildtest.yml | 102 +++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 4b20429c7f..2e143737a3 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -174,6 +174,108 @@ build-system-centos:
       x86_64-softmmu rx-softmmu sh4-softmmu
     MAKE_CHECK_ARGS: check-build
 
+
+# NB: block-XXX jobs use 'centos' since that is the build
+# job that provides the x86_64-softmmu.  Some I/O tests
+# are currently buggy and blindly assume characteristics
+# of x86 (such as PCIe) causing failures with other arches
+
+block-luks:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-luks
+
+block-nbd:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-nbd
+    # https://gitlab.com/qemu-project/python-qemu-qmp/-/issues/36
+    QEMU_TEST_IO_SKIP: nbd:147
+
+block-parallels:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-parallels
+
+block-qcow2:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-qcow2
+    # https://gitlab.com/qemu-project/qemu/-/issues/3270
+    QEMU_TEST_IO_SKIP: qcow2:185
+
+block-qed:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-qed
+
+block-raw:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-raw
+    # https://gitlab.com/qemu-project/python-qemu-qmp/-/issues/36
+    QEMU_TEST_IO_SKIP: raw:045
+
+block-vdi:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-vdi
+
+block-vhdx:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-vhdx
+
+block-vmdk:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-vmdk
+
+block-vpc:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: check-block-vpc
+
 # Previous QEMU release. Used for cross-version migration tests.
 build-previous-qemu:
   extends: .native_build_job_template
-- 
2.53.0



  parent reply	other threads:[~2026-03-04 14:23 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-04 14:21 [PATCH v5 00/15] tests: do more testing of block drivers Daniel P. Berrangé
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 ` Daniel P. Berrangé [this message]
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-15-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.