From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>, "Warner Losh" <imp@bsdimp.com>,
"Mauro Carvalho Chehab" <mchehab+huawei@kernel.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
qemu-block@nongnu.org, "Daniel P. Berrangé" <berrange@redhat.com>,
"Fabiano Rosas" <farosas@suse.de>, "John Snow" <jsnow@redhat.com>,
"Michael Roth" <michael.roth@amd.com>,
"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
"Markus Armbruster" <armbru@redhat.com>,
"Peter Xu" <peterx@redhat.com>,
"Yonggang Luo" <luoyonggang@gmail.com>,
"Hanna Reitz" <hreitz@redhat.com>,
"Maksim Davydov" <davydov-max@yandex-team.ru>,
"Thomas Huth" <thuth@redhat.com>, "Ed Maste" <emaste@freebsd.org>,
"Alexandre Iooss" <erdnaxe@crans.org>,
"Cleber Rosa" <crosa@redhat.com>,
"Li-Wen Hsu" <lwhsu@freebsd.org>,
"Mahmoud Mandour" <ma.mandourr@gmail.com>,
"Kyle Evans" <kevans@freebsd.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Vladimir Sementsov-Ogievskiy" <vsementsov@yandex-team.ru>
Subject: [PATCH v8 04/20] python/mkvenv: add 'tooling' and 'functests' dependency groups
Date: Wed, 18 Feb 2026 16:33:59 -0500 [thread overview]
Message-ID: <20260218213416.674483-5-jsnow@redhat.com> (raw)
In-Reply-To: <20260218213416.674483-1-jsnow@redhat.com>
'tooling' contains depedencies required to run various tools (like
qmp-shell) as well as dependencies 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. By the
end of this series, however, "check-venv" will be eliminated in favor of
always installing "tooling" at configure time and allowing "functests"
to be installed on-demand as needed by meson/ninja.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@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 85220a36426..743e2a8848c 100644
--- a/pythondeps.toml
+++ b/pythondeps.toml
@@ -31,6 +31,14 @@ meson = { accepted = ">=1.10.0", installed = "1.10.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 various tooling
+# and tests that should always be installed at configure time. It should
+# only include dependencies that can be guaranteed via configure from
+# system packages, or python packages we vendor.
+[tooling]
"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 be3b78fdfb7..76d77545b71 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -108,7 +108,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) $< tooling functests
$(call quiet-command, touch $@)
check-venv: $(TESTS_VENV_TOKEN)
--
2.53.0
next prev parent reply other threads:[~2026-02-18 21:35 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-18 21:33 [PATCH v8 00/20] python: drop qemu.qmp from qemu.git tree John Snow
2026-02-18 21:33 ` [PATCH v8 01/20] [do-not-merge] contrib/plugins/cpp: use __has_include John Snow
2026-02-18 21:33 ` [PATCH v8 02/20] python/mkvenv: create timestamp file for each group "ensured" John Snow
2026-02-18 21:33 ` [PATCH v8 03/20] python/mkvenv: bump 'qemu.qmp' dependency for testdeps John Snow
2026-02-18 21:33 ` John Snow [this message]
2026-02-18 21:34 ` [PATCH v8 05/20] python/mkvenv: add mechanism to install local package(s) John Snow
2026-02-18 21:34 ` [PATCH v8 06/20] meson, mkvenv: add functests custom target John Snow
2026-02-18 21:34 ` [PATCH v8 07/20] tests: Use configured python to run GitLab iotests John Snow
2026-02-18 21:34 ` [PATCH v8 08/20] iotests: tolerate being run outside of pyvenv John Snow
2026-02-23 11:03 ` Thomas Huth
2026-02-18 21:34 ` [PATCH v8 09/20] tests: use "run" script to execute device-crash-test John Snow
2026-02-18 21:34 ` [PATCH v8 10/20] tests/lcitool: update lcitool to latest version John Snow
2026-02-18 21:34 ` [PATCH v8 11/20] tests/lcitool: add python3 wheel and setuptools deps for qemu John Snow
2026-02-23 11:09 ` Thomas Huth
2026-02-18 21:34 ` [PATCH v8 12/20] python: add vendored qemu.qmp package John Snow
2026-02-18 21:34 ` [PATCH v8 13/20] meson, mkvenv: make functional tests depend on functests group John Snow
2026-02-18 21:34 ` [PATCH v8 14/20] meson, mkvenv: add qemu.git/python/qemu package to pythondeps.toml John Snow
2026-02-18 21:34 ` [PATCH v8 15/20] configure: unconditionally install "tooling" group John Snow
2026-02-18 21:34 ` [PATCH v8 16/20] tests: replace check-venv with vm-venv target John Snow
2026-02-23 11:16 ` Thomas Huth
2026-02-18 21:34 ` [PATCH v8 17/20] scripts: nudge users to use 'run' script for scripts that import qemu.qmp John Snow
2026-02-18 21:34 ` [PATCH v8 18/20] python: delete qemu.qmp John Snow
2026-02-18 21:34 ` [PATCH v8 19/20] python: update README.rst to reflect qemu.qmp's removal John Snow
2026-02-18 21:34 ` [PATCH v8 20/20] python: add setuptools and wheel dependencies John Snow
2026-02-19 19:07 ` [PATCH v8 00/20] python: drop qemu.qmp from qemu.git tree John Snow
2026-02-23 11:12 ` Thomas Huth
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=20260218213416.674483-5-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=davydov-max@yandex-team.ru \
--cc=emaste@freebsd.org \
--cc=erdnaxe@crans.org \
--cc=farosas@suse.de \
--cc=hreitz@redhat.com \
--cc=imp@bsdimp.com \
--cc=kevans@freebsd.org \
--cc=kwolf@redhat.com \
--cc=luoyonggang@gmail.com \
--cc=lwhsu@freebsd.org \
--cc=ma.mandourr@gmail.com \
--cc=marcandre.lureau@redhat.com \
--cc=mchehab+huawei@kernel.org \
--cc=michael.roth@amd.com \
--cc=pbonzini@redhat.com \
--cc=peterx@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 \
--cc=vsementsov@yandex-team.ru \
/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.