On Fri, Nov 07, 2025 at 03:18:31PM -0500, John Snow wrote:
> Hiya;
>
> I tried adding a test dep in meson to execute an ensuregroup command
> for check-functional tests; i.e.
>
> commit ddb9ae03e1a29a036aa708016fcb747d77b1fc6d
> Author: John Snow <[email protected]>
> Date: Fri Nov 7 14:41:04 2025 -0500
>
> test: add pyvenv test deps to func tests...?
>
> diff --git a/tests/functional/meson.build b/tests/functional/meson.build
> index 725630d3082..dd9a1be18e7 100644
> --- a/tests/functional/meson.build
> +++ b/tests/functional/meson.build
> @@ -66,7 +66,7 @@ foreach speed : ['quick', 'thorough']
> target_tests = get_variable('tests_' + target_base + '_' +
> sysmode + '_' + speed, [])
> endif
>
> - test_deps = [roms, keymap_targets]
> + test_deps = [roms, keymap_targets, pyvenv_test_deps]
> test_env = environment()
> if have_tools
> test_env.set('QEMU_TEST_QEMU_IMG', meson.global_build_root() /
> 'qemu-img')
>
> And then I tried removing the "check-venv" targets from
> tests/Makefile.include; but now it appears as though running "make
> check-functional" doesn't work; it doesn't invoke the ensuregroup
> hook.
>
> What am I missing? Do I need to change the way "make check-functional"
> invokes the test suite....?
>
> https://gitlab.com/jsnow/qemu/-/commits/python_drop_qmp
I checked out that branch, purged my local build env, and did
./configure --target-list=x86_64-softmmu
make
make check-functional
In the output displayed by the latter I saw
changing dir to build for make "check-functional"...
make[1]: Entering directory '/var/home/berrange/src/virt/qemu/build'
ninja: Jobserver mode detected: rR -j20
--jobserver-auth=fifo:/tmp/GMfifo2721806
[1/29] Generating tests/pyvenv_checktests_group with a custom command
mkvenv: checking for qemu.qmp>=0.0.5
mkvenv: installing qemu.qmp==0.0.5
That seems to be installing the 'checktests' deps from pythondeps.yml
but is NOT installing the 'functests' deps from pythondeps.yml
It looks like the tests/meson.build target:
pyvenv_checktests_group = custom_target(
....
)
needs to be duplicated in tests/functional/meson.build, to process
the 'functests' deps instead of 'checktests', and them make both
'pyvenv_checktests_group' and 'pyvenv_functests_group' deps of
the functional tests.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|