1""" 2Test lldb-vscode coreFile attaching 3""" 4 5 6import unittest2 7import vscode 8from lldbsuite.test.decorators import * 9from lldbsuite.test.lldbtest import * 10from lldbsuite.test import lldbutil 11import lldbvscode_testcase 12import os 13 14 15class TestVSCode_coreFile(lldbvscode_testcase.VSCodeTestCaseBase): 16 17 mydir = TestBase.compute_mydir(__file__) 18 19 @skipIfWindows 20 @skipIfRemote 21 @skipIfLLVMTargetMissing("X86") 22 def test_core_file(self): 23 current_dir = os.path.dirname(os.path.realpath(__file__)) 24 exe_file = os.path.join(current_dir, "linux-x86_64.out") 25 core_file = os.path.join(current_dir, "linux-x86_64.core") 26 27 self.create_debug_adaptor() 28 self.attach(exe_file, coreFile=core_file) 29 30 expected_frames = [ 31 {'column': 0, 'id': 524288, 'line': 4, 'name': 'bar', 'source': {'name': 'main.c', 'path': '/home/labath/test/main.c'}}, 32 {'column': 0, 'id': 524289, 'line': 10, 'name': 'foo', 'source': {'name': 'main.c', 'path': '/home/labath/test/main.c'}}, 33 {'column': 0, 'id': 524290, 'line': 16, 'name': '_start', 'source': {'name': 'main.c', 'path': '/home/labath/test/main.c'}}, 34 ] 35 36 self.assertEquals(self.get_stackFrames(), expected_frames) 37 38 # Resuming should have no effect and keep the process stopped 39 self.continue_to_next_stop() 40 self.assertEquals(self.get_stackFrames(), expected_frames) 41 42 self.vscode.request_next(threadId=32259) 43 self.assertEquals(self.get_stackFrames(), expected_frames) 44