38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
"""Test that we get thread names when interrupting a process."""
|
|
|
|
import time
|
|
import lldb
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
|
|
|
|
class TestInterruptThreadNames(TestBase):
|
|
@skipUnlessDarwin
|
|
def test_internal_bps_resolved(self):
|
|
self.build()
|
|
|
|
source_file = lldb.SBFileSpec("main.c")
|
|
target, process, thread, bkpt = lldbutil.run_to_source_breakpoint(
|
|
self, "initial hello", source_file
|
|
)
|
|
|
|
thread_start_func_names = [
|
|
"start_wqthread",
|
|
"_pthread_wqthread",
|
|
"_pthread_start",
|
|
]
|
|
known_module_names = [
|
|
"libsystem_c.dylib",
|
|
"libSystem.B.dylib",
|
|
"libsystem_pthread.dylib",
|
|
]
|
|
bps = []
|
|
for func in thread_start_func_names:
|
|
for module in known_module_names:
|
|
bps.append(target.BreakpointCreateByName(func, module))
|
|
num_resolved = 0
|
|
for bp in bps:
|
|
num_resolved += bp.GetNumResolvedLocations()
|
|
self.assertGreater(num_resolved, 0)
|