On 14/10/2025 21.05, John Snow wrote:
On Tue, Oct 14, 2025 at 2:59 PM Thomas Huth <[email protected]> wrote:

On 14/10/2025 20.55, John Snow wrote:
On Tue, Oct 14, 2025 at 2:21 PM Thomas Huth <[email protected]> wrote:

On 14/10/2025 19.39, John Snow wrote:
On Wed, Oct 1, 2025 at 10:09 PM Gustavo Romero
<[email protected]> wrote:

The upcoming changes in the reverse_debugging functional test to remove
Avocado as a dependency will require pygdbmi for interacting with GDB,
so install it in meson's venv (located in the build dir's pyvenv/).

Reviewed-by: Thomas Huth <[email protected]>
Signed-off-by: Gustavo Romero <[email protected]>
---
    pythondeps.toml | 1 +
    1 file changed, 1 insertion(+)

diff --git a/pythondeps.toml b/pythondeps.toml
index 16fb2a989c..98e99e7900 100644
--- a/pythondeps.toml
+++ b/pythondeps.toml
@@ -33,3 +33,4 @@ sphinx_rtd_theme = { accepted = ">=0.5", installed = "1.2.2" }

    [testdeps]
    qemu.qmp = { accepted = ">=0.0.3", installed = "0.0.3" }
+pygdbmi = { accepted = ">=0.11.0.0", installed = "0.11.0.0" }
--
2.34.1


Do we need to vendor pygdbmi? Currently, mkvenv does not consult
online sources and so if this package is missing, pulling in testdeps
will fail.

This is handled by the "check-venv" target which is called now when you do a
"make check-functional". See:

    
https://gitlab.com/qemu-project/qemu/-/commit/75b1786996c422878d09bd12f166004a7d32e459

Works fine for me, did you hit any issues here?

    Thomas

Ah-ha. I am working on dropping qemu.qmp from the tree and had moved
this machinery into mkvenv.py - I didn't realize that the Makefile
invocation here passes `--online`. The core groups for mkvenv still
operate offline only, I didn't realize we let it go online for tests.

Before these dependencies get more numerous: do we accept that "make
check" might only work if you are online, or do we want to enforce the
idea that "make check" should always work offline only?

(like "make check" works offline and "make check-extras" may require
internet for deps?)

"make check" works offline (it does not include "check-functional"). It's
only "make check-functional" that requires an internet connection. It
required this for downloading the assets for the functional tests already,
so adding "check-venv" here did not hurt.

   Thomas

OK, got it. For *my* purposes (and this has nothing to do with this
patch anymore, I see that it's fine as-is) I need to pull qemu.qmp
into the testing venv /offline/ for the default "make check"
invocation and I intended to vendor qemu.qmp to accomplish that.

Makes sense. I did the same for pycotap a year ago.

With this dep here, installing "testdeps" offline now fails, so either:

(1) I vendor pygdbmi so it can be installed offline, or
(2) I split the test deps into two groups; offline and online.

Please go with option (2). We likely should add more deps for the functional tests one day (e.g. a bunch of tests are using "numpy" and "cv2" - and currently these need to be installed in the host env manually), so adding all these via option (1) won't scale in the long run.

 Thomas


Reply via email to