blob: 590b936191a22233e69a1465f001d43ecaf5db38 [file] [edit]
"""
Test that lldb reports the Windows thread description set via SetThreadDescription.
"""
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class TestThreadName(TestBase):
@skipUnlessWindows
@skipIfWindows(windows_version=["<", "10.0.14393"])
def test_with_thread_description(self):
"""SBThread.GetName() reflects SetThreadDescription on Windows."""
self.build()
source = lldb.SBFileSpec("main.c")
_, process, thread, breakpoint = lldbutil.run_to_source_breakpoint(
self, "// break here", source
)
self.assertEqual(
breakpoint.GetNumLocations(),
2,
"expected breakpoints at both '// break here' markers",
)
# No thread name yet.
self.assertFalse(
thread.GetName(),
"thread should have no name before SetThreadDescription",
)
process.Continue()
self.assertEqual(process.GetState(), lldb.eStateStopped)
thread = lldbutil.get_stopped_thread(process, lldb.eStopReasonBreakpoint)
self.assertTrue(thread.IsValid(), "no thread stopped at breakpoint")
self.assertEqual(thread.GetName(), "ThreadName")