]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-132038: Make perf version check in test_perf_profiler more robust (GH-13203...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 6 Apr 2025 09:28:22 +0000 (11:28 +0200)
committerGitHub <noreply@github.com>
Sun, 6 Apr 2025 09:28:22 +0000 (12:28 +0300)
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 <itamarost@gmail.com>
Lib/test/test_perf_profiler.py

index 7c1bbeed168d2e42551d5aa4fc3e5c9ce749e7bb..778d4db65b14c593f685205799f5e8f5bec82246 100644 (file)
@@ -482,7 +482,8 @@ class TestPerfProfiler(unittest.TestCase, TestPerfProfilerMixin):
 
 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)