diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py b/lldb/packages/Python/lldbsuite/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py deleted file mode 100644 index 36f23572648..00000000000 --- a/lldb/packages/Python/lldbsuite/test/benchmarks/disassembly/TestDoAttachThenDisassembly.py +++ /dev/null @@ -1,70 +0,0 @@ -"""Test lldb's disassemblt speed. This bench deliberately attaches to an lldb -inferior and traverses the stack for thread0 to arrive at frame with function -'MainLoop'. It is important to specify an lldb executable as the inferior.""" - -from __future__ import print_function - - -import os -import sys -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbbench import * -from lldbsuite.test.lldbtest import * - - -class AttachThenDisassemblyBench(BenchBase): - - mydir = TestBase.compute_mydir(__file__) - - def setUp(self): - BenchBase.setUp(self) - self.exe = lldbtest_config.lldbExec - self.count = 10 - - @benchmarks_test - @no_debug_info_test - def test_attach_then_disassembly(self): - """Attach to a spawned lldb process then run disassembly benchmarks.""" - print() - self.run_lldb_attach_then_disassembly(self.exe, self.count) - print("lldb disassembly benchmark:", self.stopwatch) - - def run_lldb_attach_then_disassembly(self, exe, count): - target = self.dbg.CreateTarget(exe) - - # Spawn a new process and don't display the stdout if not in TraceOn() - # mode. - import subprocess - popen = subprocess.Popen([exe, self.lldbOption], stdout=open( - os.devnull, 'w') if not self.TraceOn() else None) - if self.TraceOn(): - print("pid of spawned process: %d" % popen.pid) - - # Attach to the launched lldb process. - listener = lldb.SBListener("my.attach.listener") - error = lldb.SBError() - process = target.AttachToProcessWithID(listener, popen.pid, error) - - # Set thread0 as the selected thread, followed by the 'MainLoop' frame - # as the selected frame. Then do disassembly on the function. - thread0 = process.GetThreadAtIndex(0) - process.SetSelectedThread(thread0) - i = 0 - found = False - for f in thread0: - # print("frame#%d %s" % (i, f.GetFunctionName())) - if "MainLoop" in f.GetFunctionName(): - found = True - thread0.SetSelectedFrame(i) - if self.TraceOn(): - print("Found frame#%d for function 'MainLoop'" % i) - break - i += 1 - - # Reset the stopwatch now. - self.stopwatch.reset() - for i in range(count): - with self.stopwatch: - # Disassemble the function. - self.runCmd("disassemble -f") |