-
Notifications
You must be signed in to change notification settings - Fork 11.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Convert the ThreadPlanCommands test to use a scripted plan
that pushes a step over plan. Relax the listing checker so it will look past any entries after the ones listed in the input patterns. Then for the internal plans just check for the StepOver plan that our scripted plan pushes, and look past any others. This should make the test more robust on systems that don't use the step-in then push a step-out plan to step over a function.
- Loading branch information
Showing
2 changed files
with
52 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
lldb/test/API/functionalities/thread_plan/wrap_step_over.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
import lldb | ||
|
||
class WrapStepOver(): | ||
def __init__(self, thread_plan, args_data, dict): | ||
self.plan = thread_plan | ||
frame_0 = thread_plan.GetThread().frames[0] | ||
line_entry = frame_0.line_entry | ||
start_addr = line_entry.addr | ||
end_addr = line_entry.end_addr | ||
range_size = int(end_addr) - int(start_addr) | ||
error = lldb.SBError() | ||
self.sub_plan = thread_plan.QueueThreadPlanForStepOverRange(start_addr, range_size) | ||
|
||
def should_step(self): | ||
return False | ||
|
||
def should_stop(self, event): | ||
if self.sub_plan.IsPlanComplete(): | ||
self.plan.SetPlanComplete(True) | ||
return True | ||
else: | ||
return False |