blob: caf5ff48dcae88f6d4750cfdf766d118b9b2e323 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
"""
Test completion in our IOHandlers.
"""
import os
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test.lldbpexpect import PExpectTest
class BreakpointCallbackCommandSource(PExpectTest):
file_to_source = os.path.join(
os.path.abspath(os.path.dirname(__file__)), "source.lldb"
)
# PExpect uses many timeouts internally and doesn't play well
# under ASAN on a loaded machine..
@skipIfAsan
@skipIfEditlineSupportMissing
@skipIf(oslist=["linux"], archs=["arm$", "aarch64"])
@skipIf(oslist=["freebsd"], bugnumber="llvm.org/pr48316")
def test_breakpoint_callback_command_source(self):
self.build()
exe = self.getBuildArtifact("a.out")
self.launch(exe)
self.expect("b main", substrs=["Breakpoint 1"])
self.child.send("breakpoint command add -s python\n")
self.child.send(
"frame.GetThread().GetProcess().GetTarget().GetDebugger().HandleCommand('command source -s true {}')\n".format(
self.file_to_source
)
)
self.child.send("DONE\n")
self.expect_prompt()
self.expect("run", substrs=["Process", "stopped"])
self.expect("script print(foo)", substrs=["95126"])
|