summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/macosx/function-starts/TestFunctionStarts.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/macosx/function-starts/TestFunctionStarts.py')
-rw-r--r--packages/Python/lldbsuite/test/macosx/function-starts/TestFunctionStarts.py76
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")
-
-
-