diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/macosx/function-starts/TestFunctionStarts.py')
-rw-r--r-- | packages/Python/lldbsuite/test/macosx/function-starts/TestFunctionStarts.py | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/packages/Python/lldbsuite/test/macosx/function-starts/TestFunctionStarts.py b/packages/Python/lldbsuite/test/macosx/function-starts/TestFunctionStarts.py deleted file mode 100644 index ae3b825f95cb..000000000000 --- a/packages/Python/lldbsuite/test/macosx/function-starts/TestFunctionStarts.py +++ /dev/null @@ -1,76 +0,0 @@ -""" -Test that we read the function starts section. -""" - -from __future__ import print_function - - -import os -import time -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - -exe_name = "StripMe" # Must match Makefile - -class FunctionStartsTestCase(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - NO_DEBUG_INFO_TESTCASE = True - - @skipIfRemote - @skipUnlessDarwin - def test_function_starts_binary(self): - """Test that we make synthetic symbols when we have the binary.""" - self.build() - self.do_function_starts(False) - - @skipIfRemote - @skipUnlessDarwin - def test_function_starts_no_binary(self): - """Test that we make synthetic symbols when we don't have the binary""" - self.build() - self.do_function_starts(True) - - def do_function_starts(self, in_memory): - """Run the binary, stop at our unstripped function, - make sure the caller has synthetic symbols""" - - exe = self.getBuildArtifact(exe_name) - # Now strip the binary, but leave externals so we can break on dont_strip_me. - try: - fail_str = system([["strip", "-u", "-x", "-S", exe]]) - except CalledProcessError as cmd_error: - self.fail("Strip failed: %d"%(cmd_error.returncode)) - - popen = self.spawnSubprocess(exe) - self.addTearDownHook(self.cleanupSubprocesses) - if in_memory: - remove_file(exe) - - target = self.dbg.CreateTarget(None) - self.assertTrue(target.IsValid(), "Got a vaid empty target.") - error = lldb.SBError() - attach_info = lldb.SBAttachInfo() - attach_info.SetProcessID(popen.pid) - attach_info.SetIgnoreExisting(False) - process = target.Attach(attach_info, error) - self.assertTrue(error.Success(), "Didn't attach successfully to %d: %s"%(popen.pid, error.GetCString())) - - bkpt = target.BreakpointCreateByName("dont_strip_me", exe) - self.assertTrue(bkpt.GetNumLocations() > 0, "Didn't set the dont_strip_me bkpt.") - - threads = lldbutil.continue_to_breakpoint(process, bkpt) - self.assertEqual(len(threads), 1, "Didn't hit my breakpoint.") - - # Our caller frame should have been stripped. Make sure we made a synthetic symbol - # for it: - thread = threads[0] - self.assertTrue(thread.num_frames > 1, "Couldn't backtrace.") - name = thread.frame[1].GetFunctionName() - self.assertEqual("___lldb_unnamed_symbol1$$StripMe", name, "Frame name not synthetic") - - - |