From 862e08b4efe080fbd63856c2f8240f6695c01c39 Mon Sep 17 00:00:00 2001 From: Itamar Oren Date: Thu, 3 Apr 2025 10:37:08 -0700 Subject: [PATCH] gh-132038: Make perf version check in test_perf_profiler more robust (GH-132039) Should work also if the version string includes a commit hash, like `perf version 6.12.9.g242e6068fd5c` (cherry picked from commit b6c92ec419cfa1e4483b072996bab403c9970a5d) Co-authored-by: Itamar Oren --- Lib/test/test_perf_profiler.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_perf_profiler.py b/Lib/test/test_perf_profiler.py index 7c1bbeed168d2e..778d4db65b14c5 100644 --- a/Lib/test/test_perf_profiler.py +++ b/Lib/test/test_perf_profiler.py @@ -482,7 +482,8 @@ def compile_trampolines_for_all_functions(): def _is_perf_vesion_at_least(major, minor): # The output of perf --version looks like "perf version 6.7-3" but - # it can also be perf version "perf version 5.15.143" + # it can also be perf version "perf version 5.15.143", or even include + # a commit hash in the version string, like "6.12.9.g242e6068fd5c" try: output = subprocess.check_output(["perf", "--version"], text=True) except (subprocess.CalledProcessError, FileNotFoundError): @@ -490,7 +491,7 @@ def _is_perf_vesion_at_least(major, minor): version = output.split()[2] version = version.split("-")[0] version = version.split(".") - version = tuple(map(int, version)) + version = tuple(map(int, version[:2])) return version >= (major, minor)