199451b44SJordan Rupprecht 299451b44SJordan Rupprechtimport json 399451b44SJordan Rupprechtimport gdbremote_testcase 499451b44SJordan Rupprechtimport lldbgdbserverutils 599451b44SJordan Rupprechtfrom lldbsuite.support import seven 699451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 799451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 899451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 999451b44SJordan Rupprecht 1099451b44SJordan Rupprecht 1199451b44SJordan Rupprechtclass TestGdbRemoteModuleInfo(gdbremote_testcase.GdbRemoteTestCaseBase): 1299451b44SJordan Rupprecht 13*0a8a2453SPavel Labath @add_test_categories(["llgs"]) 14*0a8a2453SPavel Labath def test_module_info(self): 15*0a8a2453SPavel Labath self.build() 16*0a8a2453SPavel Labath self.set_inferior_startup_launch() 1799451b44SJordan Rupprecht procs = self.prep_debug_monitor_and_inferior() 1899451b44SJordan Rupprecht self.add_process_info_collection_packets() 1999451b44SJordan Rupprecht context = self.expect_gdbremote_sequence() 2099451b44SJordan Rupprecht info = self.parse_process_info_response(context) 2199451b44SJordan Rupprecht 2299451b44SJordan Rupprecht self.test_sequence.add_log_lines([ 2399451b44SJordan Rupprecht 'read packet: $jModulesInfo:%s]#00' % json.dumps( 2499451b44SJordan Rupprecht [{"file":lldbutil.append_to_process_working_directory(self, "a.out"), 2599451b44SJordan Rupprecht "triple":seven.unhexlify(info["triple"])}]), 2699451b44SJordan Rupprecht {"direction": "send", 2799451b44SJordan Rupprecht "regex": r'^\$\[{(.*)}\]\]#[0-9A-Fa-f]{2}', 2899451b44SJordan Rupprecht "capture": {1: "spec"}}, 2999451b44SJordan Rupprecht ], True) 3099451b44SJordan Rupprecht 3199451b44SJordan Rupprecht context = self.expect_gdbremote_sequence() 3299451b44SJordan Rupprecht spec = context.get("spec") 3399451b44SJordan Rupprecht self.assertRegexpMatches(spec, '"file_path":".*"') 3499451b44SJordan Rupprecht self.assertRegexpMatches(spec, '"file_offset":\d+') 3599451b44SJordan Rupprecht self.assertRegexpMatches(spec, '"file_size":\d+') 3699451b44SJordan Rupprecht self.assertRegexpMatches(spec, '"triple":"\w*-\w*-.*"') 3799451b44SJordan Rupprecht self.assertRegexpMatches(spec, '"uuid":"[A-Fa-f0-9]+"') 38