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 :|


  • Meson help John Snow
    • Re: Meson help Daniel P . BerrangĂ©

Reply via email to