On Mon, Mar 09, 2026 at 06:46:28PM +0100, Thomas Huth wrote:
> On 09/03/2026 14.36, Daniel P. Berrangé wrote:
> > When running functional tests directly there are some heuristics
> > to figure out where the build directory lives, along with the
> > possibility to override the logic by setting the QEMU_BUILD_DIR
> > env variable. This env var is set as part of the test env when
> > run via Meson but not when run directly.
> > 
> > A particular flaw with the currently logic is that it silently
> > uses the wrong location when the build directory is a sub-dir
> > under "./build", which is a common usage scenario for some devs.
> > 
> > With the recent introduction of the 'run' script, we now have
> > the MESON_BUILD_DIR env variable set unconditionally, so we
> 
> s/MESON_BUILD_DIR/MESON_BUILD_ROOT/
> 
> > can rely on that from the functional tests to get the correct
> > location in all scenarios.
> 
> That's a good idea!
> 
> > Reported-by: Peter Maydell <[email protected]>
> > Signed-off-by: Daniel P. Berrangé <[email protected]>
> > ---
> >   tests/functional/meson.build         | 2 +-
> >   tests/functional/qemu_test/config.py | 4 ++--
> >   2 files changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/tests/functional/meson.build b/tests/functional/meson.build
> > index b979cff2b9..d34aefa8b0 100644
> > --- a/tests/functional/meson.build
> > +++ b/tests/functional/meson.build
> > @@ -74,7 +74,7 @@ foreach speed : ['quick', 'thorough']
> >         test_deps += [qemu_img]
> >       endif
> >       test_env.set('QEMU_TEST_QEMU_BINARY', test_emulator.full_path())
> > -    test_env.set('QEMU_BUILD_ROOT', meson.project_build_root())
> > +    test_env.set('MESON_BUILD_ROOT', meson.project_build_root())
> 
> I think you could even completely remove this line now completely - if I've
> got that right, meson also sets this environment variable for tests
> automatically.

No, meson does not set MESON_BUILD_ROOT by default - that's something
we have to do ourselves. For the 'run' script we define it in the
'devenv' environment, but for tests we need to define it here.


With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|


Reply via email to