From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Cleber Rosa" <crosa@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Li-Wen Hsu" <lwhsu@freebsd.org>, "Kevin Wolf" <kwolf@redhat.com>,
qemu-block@nongnu.org, "Michael Roth" <michael.roth@amd.com>,
"John Snow" <jsnow@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Hanna Reitz" <hreitz@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Ed Maste" <emaste@freebsd.org>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PATCH v3 03/15] python/mkvenv: add 'checktests' and 'functests' dependency groups
Date: Fri, 5 Dec 2025 01:00:45 -0500 [thread overview]
Message-ID: <20251205060058.1503170-4-jsnow@redhat.com> (raw)
In-Reply-To: <20251205060058.1503170-1-jsnow@redhat.com>
'checktests' contains depedencies *required* to run "make check", and as
such, we promise that these dependencies can be sourced from the user's
distribution repository or from vendored packages so that "make check"
can be executed offline in an isolated build environment.
In contrast, pygdbmi is only needed for functional tests and not tests
in general; we do not make the same offline/isolated guarantees for
functional tests, and this dependency group is allowed to fetch
dependencies from PyPI at runtime.
For the time being, Amend the "check-venv" target to install both
dependency groups, to avoid a duplicate dependency between them.
Signed-off-by: John Snow <jsnow@redhat.com>
---
pythondeps.toml | 10 +++++++++-
tests/Makefile.include | 2 +-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/pythondeps.toml b/pythondeps.toml
index 1657953ff65..14ceb4e7787 100644
--- a/pythondeps.toml
+++ b/pythondeps.toml
@@ -31,6 +31,14 @@ meson = { accepted = ">=1.9.0", installed = "1.9.0", canary = "meson" }
sphinx = { accepted = ">=3.4.3", installed = "6.2.1", canary = "sphinx-build" }
sphinx_rtd_theme = { accepted = ">=0.5", installed = "1.2.2" }
-[testdeps]
+# This test group is for dependencies required to run "make check"
+# successfully, and should only include depedencies that can be
+# guaranteed via configure from system packages, or python packages we
+# vendor.
+[checktests]
"qemu.qmp" = { accepted = ">=0.0.5", installed = "0.0.5" }
+
+# This test group is for functional tests, and can include dependencies
+# fetched from PyPI.
+[functests]
pygdbmi = { accepted = ">=0.11.0.0", installed = "0.11.0.0" }
diff --git a/tests/Makefile.include b/tests/Makefile.include
index d4dfbf3716d..40b114bd158 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -98,7 +98,7 @@ quiet-venv-pip = $(quiet-@)$(call quiet-command-run, \
$(TESTS_VENV_TOKEN): $(SRC_PATH)/pythondeps.toml
$(call quiet-venv-pip,install -e "$(SRC_PATH)/python/")
- $(MKVENV_ENSUREGROUP) $< testdeps
+ $(MKVENV_ENSUREGROUP) $< checktests functests
$(call quiet-command, touch $@)
check-venv: $(TESTS_VENV_TOKEN)
--
2.51.1
next prev parent reply other threads:[~2025-12-05 6:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-05 6:00 [PATCH v3 00/15] python: drop qemu.qmp from qemu.git tree John Snow
2025-12-05 6:00 ` [PATCH v3 01/15] python/mkvenv: create timestamp file for each group "ensured" John Snow
2025-12-05 8:32 ` Thomas Huth
2025-12-05 6:00 ` [PATCH v3 02/15] python/mkvenv: bump 'qemu.qmp' dependency for testdeps John Snow
2025-12-05 6:00 ` John Snow [this message]
2025-12-05 8:47 ` [PATCH v3 03/15] python/mkvenv: add 'checktests' and 'functests' dependency groups Thomas Huth
2025-12-05 6:00 ` [PATCH v3 04/15] python/mkvenv: add mechanism to install local package(s) John Snow
2025-12-05 6:00 ` [PATCH v3 05/15] meson, mkvenv: add checktests and functests custom targets John Snow
2025-12-05 6:00 ` [PATCH v3 06/15] tests: Use configured python to run GitLab iotests John Snow
2025-12-05 6:00 ` [PATCH v3 07/15] tests: run "make check-venv" before running iotests John Snow
2025-12-05 6:00 ` [PATCH v3 08/15] tests: ensure "make check-venv" is run for crash tests John Snow
2025-12-05 8:53 ` Thomas Huth
2025-12-05 6:00 ` [PATCH v3 09/15] tests/lcitool: add python3 wheel and setuptools deps for qemu John Snow
2025-12-05 6:00 ` [PATCH v3 10/15] python: add vendored qemu.qmp package John Snow
2025-12-05 6:00 ` [PATCH v3 11/15] meson, mkvenv: make iotests depend on checktests group John Snow
2025-12-05 6:00 ` [PATCH v3 12/15] meson, mkvenv: make functional tests depend on functests group John Snow
2025-12-05 6:00 ` [PATCH v3 13/15] meson, mkvenv: add qemu.git/python/qemu package to pythondeps.toml John Snow
2025-12-05 6:00 ` [PATCH v3 14/15] tests: replace old "check-venv" target with meson target John Snow
2025-12-05 6:00 ` [PATCH v3 15/15] python: delete qemu.qmp John Snow
2025-12-09 16:35 ` [PATCH v3 00/15] python: drop qemu.qmp from qemu.git tree John Snow
2025-12-09 17:00 ` Daniel P. Berrangé
2025-12-09 17:23 ` John Snow
2025-12-09 19:43 ` John Snow
2025-12-09 19:46 ` Daniel P. Berrangé
2025-12-09 20:05 ` John Snow
2025-12-10 16:25 ` 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=20251205060058.1503170-4-jsnow@redhat.com \
--to=jsnow@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=crosa@redhat.com \
--cc=emaste@freebsd.org \
--cc=hreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=lwhsu@freebsd.org \
--cc=marcandre.lureau@redhat.com \
--cc=michael.roth@amd.com \
--cc=pbonzini@redhat.com \
--cc=philmd@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).