gh-132038: Make perf version check in test_perf_profiler more robust (#132039)

Should work also if the version string includes a commit hash, like `perf version 6.12.9.g242e6068fd5c`
This commit is contained in:
Itamar Oren 2025-04-03 10:37:08 -07:00 committed by GitHub
parent 5518c2ae09
commit b6c92ec419
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -493,7 +493,8 @@ class TestPerfProfiler(unittest.TestCase, TestPerfProfilerMixin):
def _is_perf_version_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):
@ -501,7 +502,7 @@ def _is_perf_version_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)