'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 <[email protected]> --- pythondeps.toml | 10 +++++++++- tests/Makefile.include | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pythondeps.toml b/pythondeps.toml index 85220a36426..1a4c2c2c20d 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 depedencies 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 7728098981d..f28c9e329aa 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -107,7 +107,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.52.0
