199451b44SJordan Rupprechtimport gdbremote_testcase 299451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 399451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 499451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 599451b44SJordan Rupprecht 699451b44SJordan Rupprecht 7*2238dcc3SJonas Devlieghereclass TestGdbRemoteThreadName(gdbremote_testcase.GdbRemoteTestCaseBase): 899451b44SJordan Rupprecht def run_and_check_name(self, expected_name): 9*2238dcc3SJonas Devlieghere self.test_sequence.add_log_lines( 10*2238dcc3SJonas Devlieghere [ 11*2238dcc3SJonas Devlieghere "read packet: $vCont;c#a8", 12*2238dcc3SJonas Devlieghere { 13*2238dcc3SJonas Devlieghere "direction": "send", 14*2238dcc3SJonas Devlieghere "regex": r"^\$T([0-9a-fA-F]{2})([^#]+)#[0-9a-fA-F]{2}$", 15*2238dcc3SJonas Devlieghere "capture": {1: "signal", 2: "key_vals_text"}, 16*2238dcc3SJonas Devlieghere }, 1799451b44SJordan Rupprecht ], 18*2238dcc3SJonas Devlieghere True, 19*2238dcc3SJonas Devlieghere ) 2099451b44SJordan Rupprecht 2199451b44SJordan Rupprecht context = self.expect_gdbremote_sequence() 2299451b44SJordan Rupprecht self.assertIsNotNone(context) 2399451b44SJordan Rupprecht 2499451b44SJordan Rupprecht sigint = lldbutil.get_signal_number("SIGINT") 2599451b44SJordan Rupprecht self.assertEqual(sigint, int(context.get("signal"), 16)) 2699451b44SJordan Rupprecht kv_dict = self.parse_key_val_dict(context.get("key_vals_text")) 2799451b44SJordan Rupprecht self.assertEqual(expected_name, kv_dict.get("name")) 2899451b44SJordan Rupprecht 2999451b44SJordan Rupprecht @skipIfWindows # the test is not updated for Windows. 3099451b44SJordan Rupprecht def test(self): 3199451b44SJordan Rupprecht """Make sure lldb-server can retrieve inferior thread name""" 3299451b44SJordan Rupprecht self.build() 3399451b44SJordan Rupprecht self.set_inferior_startup_launch() 3499451b44SJordan Rupprecht procs = self.prep_debug_monitor_and_inferior() 3599451b44SJordan Rupprecht 3699451b44SJordan Rupprecht self.run_and_check_name("hello world") 3799451b44SJordan Rupprecht self.run_and_check_name("goodbye world") 38