On 14/01/2026 10.29, Paolo Bonzini wrote:
On 1/14/26 10:23, Thomas Huth wrote:
From: Thomas Huth <[email protected]>

The tracetool tests currently fail if the host installation does not
have a "python3" binary (and you compiled QEMU by selecting a different
one during the "configure" step). This happens because tracetool-test.py
executes scripts/tracetool.py directly, so that this script is run via
its shebang line.
To fix the issue, pass the right Python interpreter to tracetool-test.py
via the PYTHON environment variable and use that to run the tracetool.py
script.

-    args = [tracetool, f"--format={fmt}", f"--backends={backend}", "-- group=testsuite"]
+    python = os.environ.get("PYTHON", "python3")
+    args = [python, tracetool, f"--format={fmt}", f"--backends={backend}",
+            "--group=testsuite"]
      if fmt.find("stap") != -1:
          args += ["--binary=qemu", "--probe-prefix=qemu"]

What about just

diff --git a/tests/tracetool/tracetool-test.py b/tests/tracetool/tracetool- test.py
index 30006a99190..efc518a6b1e 100755
--- a/tests/tracetool/tracetool-test.py
+++ b/tests/tracetool/tracetool-test.py
@@ -36,7 +36,7 @@ def test_tracetool_one(tracetool, backend, fmt, src_dir, build_dir):
      actual_file = Path(build_dir, rel_filename)
      expect_file = Path(src_dir, rel_filename)

-    args = [tracetool, f"--format={fmt}", f"--backends={backend}", "-- group=testsuite"] +    args = [sys.executable, tracetool, f"--format={fmt}", f"-- backends={backend}", "--group=testsuite"]

      if fmt.find("stap") != -1:
          args += ["--binary=qemu", "--probe-prefix=qemu"]

(only the second half of the commit message needs changing).

Even if you keep using PYTHON, which makes sense, I would change the
default to sys.executable.

Fine for me, too! ... Stefan, do you have any preferences?

 Thomas


Reply via email to