Skip to content

Commit

Permalink
pythongh-109580: Skip test_perf_profiler on ASAN build (python#109584)
Browse files Browse the repository at this point in the history
Skip test_perf_profiler if Python is built with ASAN, MSAN or UBSAN
sanitizer. Python does crash randomly in this test on such build.
  • Loading branch information
vstinner authored Sep 19, 2023
1 parent 9df6712 commit 754519a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
6 changes: 5 additions & 1 deletion Lib/test/test_perf_profiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@
if not support.has_subprocess_support:
raise unittest.SkipTest("test module requires subprocess")

if support.check_sanitizer(address=True, memory=True, ub=True):
# gh-109580: Skip the test because it does crash randomly if Python is
# built with ASAN.
raise unittest.SkipTest("test crash randomly on ASAN/MSAN/UBSAN build")


def supports_trampoline_profiling():
perf_trampoline = sysconfig.get_config_var("PY_HAVE_PERF_TRAMPOLINE")
Expand Down Expand Up @@ -287,7 +292,6 @@ def run_perf(cwd, *args, **env_vars):

@unittest.skipUnless(perf_command_works(), "perf command doesn't work")
@unittest.skipUnless(is_unwinding_reliable(), "Unwinding is unreliable")
@support.skip_if_sanitizer(address=True, memory=True, ub=True)
class TestPerfProfiler(unittest.TestCase):
def setUp(self):
super().setUp()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Skip ``test_perf_profiler`` if Python is built with ASAN, MSAN or UBSAN
sanitizer. Python does crash randomly in this test on such build. Patch by
Victor Stinner.

0 comments on commit 754519a

Please sign in to comment.