Files
clang-p2996/lldb/test/API/functionalities/step-vrs-interrupt/TestStepVrsInterruptTimeout.py
Jim Ingham 379f24ffde Revert "Revert "Reset the wakeup timeout when we re-enter the continue wait.""
This reverts commit 82a3883715.

The original version had a copy-paste error: using the Interrupt timeout
for the ResumeSynchronous wait, which is clearly wrong.  This error would
have been evident with real use, but the interrupt is long enough that it
only caused one testsuite failure (in the Swift fork).

Anyway, I found that mistake and fixed it and checked all the other places
where I had to plumb through a timeout, and added a test with a short
interrupt timeout stepping over a function that takes 3x the interrupt timeout
to complete, so that should detect a similar mistake in the future.
2021-07-12 14:20:49 -07:00

37 lines
1.4 KiB
Python

"""
This is to make sure that the interrupt timer
doesn't influence synchronous user level stepping.
"""
import lldb
import lldbsuite.test.lldbutil as lldbutil
from lldbsuite.test.lldbtest import *
class TestStepVrsInterruptTimeout(TestBase):
mydir = TestBase.compute_mydir(__file__)
NO_DEBUG_INFO_TESTCASE = True
def test_step_vrs_interrupt(self):
"""This test is to make sure that the interrupt timeout
doesn't cause use to flub events from a synchronous step."""
self.build()
self.main_source_file = lldb.SBFileSpec("main.cpp")
self.sample_test()
def sample_test(self):
"""You might use the test implementation in several ways, say so here."""
# This function starts a process, "a.out" by default, sets a source
# breakpoint, runs to it, and returns the thread, process & target.
# It optionally takes an SBLaunchOption argument if you want to pass
# arguments or environment variables.
(target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
"Set a breakpoint here", self.main_source_file)
self.dbg.SetAsync(False)
self.runCmd("settings set target.process.interrupt-timeout 1")
thread.StepOver()
self.assertEqual(process.GetState(), lldb.eStateStopped, "Stopped like we should")