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 can rely on that from the functional tests to get the correct location in all scenarios. 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()) test_env.set('PYTHONPATH', meson.project_source_root() / 'python:' + meson.current_source_dir()) diff --git a/tests/functional/qemu_test/config.py b/tests/functional/qemu_test/config.py index 6d4c9c3ce1..0192027233 100644 --- a/tests/functional/qemu_test/config.py +++ b/tests/functional/qemu_test/config.py @@ -21,7 +21,7 @@ def _source_dir(): return Path(__file__).parent.parent.parent.parent def _build_dir(): - root = os.getenv('QEMU_BUILD_ROOT') + root = os.getenv('MESON_BUILD_ROOT') if root is not None: return Path(root) # Makefile.mtest only exists in build dir, so if it is available, use CWD @@ -32,7 +32,7 @@ def _build_dir(): if os.path.exists(root): return Path(root) - raise Exception("Cannot identify build dir, set QEMU_BUILD_ROOT") + raise Exception("Cannot identify build dir, set MESON_BUILD_ROOT") BUILD_DIR = _build_dir() -- 2.53.0
