Commit dea076926b for qemu.org

commit dea076926b1753b5ccb1181c4f6d92f0602512ea
Author: Daniel P. Berrangé <berrange@redhat.com>
Date:   Tue Mar 10 11:47:55 2026 +0000

    tests/functional: fix log placement when run directly

    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_ROOT 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 <peter.maydell@linaro.org>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Message-ID: <20260310114756.146083-2-berrange@redhat.com>
    Signed-off-by: Thomas Huth <thuth@redhat.com>

diff --git a/tests/functional/meson.build b/tests/functional/meson.build
index 9bec5a0751..0f7c90bed0 100644
--- a/tests/functional/meson.build
+++ b/tests/functional/meson.build
@@ -75,7 +75,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()