Remove the thread name caching code. It does not handle the possibility of thread name changing between requests, therefore breaking TestGdbRemoteThreadName. While technically we could cache the results and reset the cache on resuming process, the gain from doing that does not seem worth the effort. Differential Revision: https://reviews.llvm.org/D90863
42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
|
|
import gdbremote_testcase
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
|
|
|
|
class TestGdbRemoteThreadName(gdbremote_testcase.GdbRemoteTestCaseBase):
|
|
|
|
mydir = TestBase.compute_mydir(__file__)
|
|
|
|
def run_and_check_name(self, expected_name):
|
|
self.test_sequence.add_log_lines(["read packet: $vCont;c#a8",
|
|
{"direction": "send",
|
|
"regex":
|
|
r"^\$T([0-9a-fA-F]{2})([^#]+)#[0-9a-fA-F]{2}$",
|
|
"capture": {
|
|
1: "signal",
|
|
2: "key_vals_text"}},
|
|
],
|
|
True)
|
|
|
|
context = self.expect_gdbremote_sequence()
|
|
self.assertIsNotNone(context)
|
|
|
|
sigint = lldbutil.get_signal_number("SIGINT")
|
|
self.assertEqual(sigint, int(context.get("signal"), 16))
|
|
kv_dict = self.parse_key_val_dict(context.get("key_vals_text"))
|
|
self.assertEqual(expected_name, kv_dict.get("name"))
|
|
|
|
@skipIfWindows # the test is not updated for Windows.
|
|
@llgs_test
|
|
def test(self):
|
|
""" Make sure lldb-server can retrieve inferior thread name"""
|
|
self.init_llgs_test()
|
|
self.build()
|
|
self.set_inferior_startup_launch()
|
|
procs = self.prep_debug_monitor_and_inferior()
|
|
|
|
self.run_and_check_name("hello world")
|
|
self.run_and_check_name("goodbye world")
|