https://github.com/python/cpython/commit/311444998140240c164092640897013500b05963
commit: 311444998140240c164092640897013500b05963
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2026-07-09T21:27:40+02:00
summary:
gh-121608: Fix test_samply_profiler: only check samply once (#153424)
Only run samply_command_works() once. Remove also dead code.
files:
M Lib/test/test_samply_profiler.py
diff --git a/Lib/test/test_samply_profiler.py b/Lib/test/test_samply_profiler.py
index f9ab9207c3c23d..6c3be8f38ed0c0 100644
--- a/Lib/test/test_samply_profiler.py
+++ b/Lib/test/test_samply_profiler.py
@@ -31,12 +31,7 @@ def supports_trampoline_profiling():
raise unittest.SkipTest("perf trampoline profiling not supported")
-def samply_command_works():
- try:
- cmd = ["samply", "--help"]
- except (subprocess.SubprocessError, OSError):
- return False
-
+def _samply_command_works():
# Check that we can run a simple samply run
with temp_dir() as script_dir:
try:
@@ -90,8 +85,10 @@ def run_samply(cwd, *args, **env_vars):
with gzip.open(output_file, mode="rt", encoding="utf-8") as f:
return f.read()
+SAMPLY_COMMAND_WORKS = _samply_command_works()
+
[email protected](samply_command_works(), "samply command doesn't work")
[email protected](SAMPLY_COMMAND_WORKS, "samply command doesn't work")
class TestSamplyProfilerMixin:
def run_samply(self, script_dir, perf_mode, script):
raise NotImplementedError()
@@ -145,7 +142,7 @@ def baz(n):
self.assertNotIn(f"py::baz:{script}", output)
[email protected](samply_command_works(), "samply command doesn't work")
[email protected](SAMPLY_COMMAND_WORKS, "samply command doesn't work")
class TestSamplyProfiler(unittest.TestCase, TestSamplyProfilerMixin):
def run_samply(self, script_dir, script, activate_trampoline=True):
if activate_trampoline:
@@ -240,7 +237,7 @@ def compile_trampolines_for_all_functions():
self.assertIn(line, child_perf_file_contents)
[email protected](samply_command_works(), "samply command doesn't work")
[email protected](SAMPLY_COMMAND_WORKS, "samply command doesn't work")
class TestSamplyProfilerWithJitDump(unittest.TestCase,
TestSamplyProfilerMixin):
# Regression test for gh-150723: exercises the binary jitdump backend
# (-Xperf_jit) end to end through samply, unlike TestSamplyProfiler which
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]