gh-134986: Catch PermissionError when trying to call perf in tests (#134987)

Using Ubuntu 24.04 on the Windows Subsystem for Linux, perf will raise a
`PermissionError` instead of `FileNotFoundError`. This commit modifies
the tests to catch that.
This commit is contained in:
Emma Smith 2025-06-23 06:28:05 -04:00 committed by GitHub
parent 0d9d48959e
commit 6ab842fce5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -506,9 +506,12 @@ 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", or even include
# a commit hash in the version string, like "6.12.9.g242e6068fd5c"
#
# PermissionError is raised if perf does not exist on the Windows Subsystem
# for Linux, see #134987
try:
output = subprocess.check_output(["perf", "--version"], text=True)
except (subprocess.CalledProcessError, FileNotFoundError):
except (subprocess.CalledProcessError, FileNotFoundError, PermissionError):
return False
version = output.split()[2]
version = version.split("-")[0]