mirror of
https://github.com/intel/llvm.git
synced 2026-01-16 05:32:28 +08:00
[ThreadPlan] Add a test for thread step-in -r, NFC (reapply)
Adds test coverage for ThreadPlanStepInRange::SetAvoidRegexp, but disables the test on Windows. See: http://lab.llvm.org:8080/coverage/coverage-reports/coverage/Users/buildslave/jenkins/workspace/coverage/llvm-project/lldb/source/Target/ThreadPlanStepInRange.cpp.html#L309 Differential Revision: https://reviews.llvm.org/D91220
This commit is contained in:
@@ -126,6 +126,8 @@ OBJECT_PRINTED_CORRECTLY = "Object printed correctly"
|
||||
|
||||
SOURCE_DISPLAYED_CORRECTLY = "Source code displayed correctly"
|
||||
|
||||
STEP_IN_SUCCEEDED = "Thread step-in succeeded"
|
||||
|
||||
STEP_OUT_SUCCEEDED = "Thread step-out succeeded"
|
||||
|
||||
STOPPED_DUE_TO_EXC_BAD_ACCESS = "Process should be stopped due to bad access exception"
|
||||
|
||||
34
lldb/test/API/lang/c/stepping/TestThreadStepInAvoidRegexp.py
Normal file
34
lldb/test/API/lang/c/stepping/TestThreadStepInAvoidRegexp.py
Normal file
@@ -0,0 +1,34 @@
|
||||
"""
|
||||
Test thread step-in [ -r | --step-over-regexp ].
|
||||
"""
|
||||
|
||||
|
||||
|
||||
import lldb
|
||||
from lldbsuite.test.lldbtest import *
|
||||
import lldbsuite.test.lldbutil as lldbutil
|
||||
|
||||
|
||||
class ThreadStepInAvoidRegexTestCase(TestBase):
|
||||
|
||||
mydir = TestBase.compute_mydir(__file__)
|
||||
|
||||
def setUp(self):
|
||||
TestBase.setUp(self)
|
||||
self.line2 = line_number('main.c', '// assignment to B2')
|
||||
|
||||
@skipIfWindows
|
||||
def test_step_out_avoid_regexp(self):
|
||||
"""Exercise thread step-in -r"""
|
||||
self.build()
|
||||
lldbutil.run_to_source_breakpoint(self,
|
||||
'frame select 2, thread step-out while stopped',
|
||||
lldb.SBFileSpec('main.c'))
|
||||
|
||||
# Now step in, skipping the frames for 'b' and 'a'.
|
||||
self.runCmd("thread step-in -r 'a'")
|
||||
|
||||
# We should be at the assignment to B2.
|
||||
self.expect("thread backtrace", STEP_IN_SUCCEEDED,
|
||||
substrs=["stop reason = step in"],
|
||||
patterns=["frame #0.*main.c:%d" % self.line2])
|
||||
@@ -39,7 +39,7 @@ int main (int argc, char const *argv[])
|
||||
{
|
||||
int A1 = a(1); // frame select 2, thread step-out while stopped at "c(1)"
|
||||
|
||||
int B2 = b(2);
|
||||
int B2 = b(2); // assignment to B2
|
||||
|
||||
int A3 = a(3); // frame select 1, thread step-out while stopped at "c(3)"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user