summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/lang/objc/foundation/TestFoundationDisassembly.py
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
commit14f1b3e8826ce43b978db93a62d1166055db5394 (patch)
tree0a00ad8d3498783fe0193f3b656bca17c4c8697d /packages/Python/lldbsuite/test/lang/objc/foundation/TestFoundationDisassembly.py
parent4ee8c119c71a06dcad1e0fecc8c675e480e59337 (diff)
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/lang/objc/foundation/TestFoundationDisassembly.py')
-rw-r--r--packages/Python/lldbsuite/test/lang/objc/foundation/TestFoundationDisassembly.py69
1 files changed, 48 insertions, 21 deletions
diff --git a/packages/Python/lldbsuite/test/lang/objc/foundation/TestFoundationDisassembly.py b/packages/Python/lldbsuite/test/lang/objc/foundation/TestFoundationDisassembly.py
index 0867eec62ebe5..51d9d22bf44a0 100644
--- a/packages/Python/lldbsuite/test/lang/objc/foundation/TestFoundationDisassembly.py
+++ b/packages/Python/lldbsuite/test/lang/objc/foundation/TestFoundationDisassembly.py
@@ -5,14 +5,15 @@ Test the lldb disassemble command on foundation framework.
from __future__ import print_function
-
import unittest2
-import os, time
+import os
+import time
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
+
@skipUnlessDarwin
class FoundationDisassembleTestCase(TestBase):
@@ -20,20 +21,23 @@ class FoundationDisassembleTestCase(TestBase):
# rdar://problem/8504895
# Crash while doing 'disassemble -n "-[NSNumber descriptionWithLocale:]"
- @unittest2.skipIf(TestBase.skipLongRunningTest(), "Skip this long running test")
+ @unittest2.skipIf(
+ TestBase.skipLongRunningTest(),
+ "Skip this long running test")
def test_foundation_disasm(self):
"""Do 'disassemble -n func' on each and every 'Code' symbol entry from the Foundation.framework."""
self.build()
-
+
# Enable synchronous mode
self.dbg.SetAsync(False)
-
+
# Create a target by the debugger.
target = self.dbg.CreateTarget("a.out")
self.assertTrue(target, VALID_TARGET)
# Now launch the process, and do not stop at entry point.
- process = target.LaunchSimple (None, None, self.get_process_working_directory())
+ process = target.LaunchSimple(
+ None, None, self.get_process_working_directory())
self.assertTrue(process, PROCESS_IS_VALID)
foundation_framework = None
@@ -43,7 +47,9 @@ class FoundationDisassembleTestCase(TestBase):
foundation_framework = module.file.fullpath
break
- self.assertTrue(foundation_framework != None, "Foundation.framework path located")
+ self.assertTrue(
+ foundation_framework is not None,
+ "Foundation.framework path located")
self.runCmd("image dump symtab '%s'" % foundation_framework)
raw_output = self.res.GetOutput()
# Now, grab every 'Code' symbol and feed it into the command:
@@ -64,7 +70,6 @@ class FoundationDisassembleTestCase(TestBase):
#print("line:", line)
#print("func:", func)
self.runCmd('disassemble -n "%s"' % func)
-
def test_simple_disasm(self):
"""Test the lldb 'disassemble' command"""
@@ -80,25 +85,45 @@ class FoundationDisassembleTestCase(TestBase):
# Stop at +[NSString stringWithFormat:].
symbol_name = "+[NSString stringWithFormat:]"
- break_results = lldbutil.run_break_set_command (self, "_regexp-break %s"%(symbol_name))
-
- lldbutil.check_breakpoint_result (self, break_results, symbol_name=symbol_name, num_locations=1)
+ break_results = lldbutil.run_break_set_command(
+ self, "_regexp-break %s" % (symbol_name))
+
+ lldbutil.check_breakpoint_result(
+ self,
+ break_results,
+ symbol_name=symbol_name,
+ num_locations=1)
# Stop at -[MyString initWithNSString:].
- lldbutil.run_break_set_by_symbol (self, '-[MyString initWithNSString:]', num_expected_locations=1, sym_exact=True)
+ lldbutil.run_break_set_by_symbol(
+ self,
+ '-[MyString initWithNSString:]',
+ num_expected_locations=1,
+ sym_exact=True)
# Stop at the "description" selector.
- lldbutil.run_break_set_by_selector (self, 'description', num_expected_locations=1, module_name='a.out')
+ lldbutil.run_break_set_by_selector(
+ self,
+ 'description',
+ num_expected_locations=1,
+ module_name='a.out')
# Stop at -[NSAutoreleasePool release].
- break_results = lldbutil.run_break_set_command (self, "_regexp-break -[NSAutoreleasePool release]")
- lldbutil.check_breakpoint_result (self, break_results, symbol_name='-[NSAutoreleasePool release]', num_locations=1)
+ break_results = lldbutil.run_break_set_command(
+ self, "_regexp-break -[NSAutoreleasePool release]")
+ lldbutil.check_breakpoint_result(
+ self,
+ break_results,
+ symbol_name='-[NSAutoreleasePool release]',
+ num_locations=1)
self.runCmd("run", RUN_SUCCEEDED)
# First stop is +[NSString stringWithFormat:].
- self.expect("thread backtrace", "Stop at +[NSString stringWithFormat:]",
- substrs = ["Foundation`+[NSString stringWithFormat:]"])
+ self.expect(
+ "thread backtrace",
+ "Stop at +[NSString stringWithFormat:]",
+ substrs=["Foundation`+[NSString stringWithFormat:]"])
# Do the disassemble for the currently stopped function.
self.runCmd("disassemble -f")
@@ -108,8 +133,10 @@ class FoundationDisassembleTestCase(TestBase):
self.runCmd("process continue")
# Followed by a.out`-[MyString initWithNSString:].
- self.expect("thread backtrace", "Stop at a.out`-[MyString initWithNSString:]",
- substrs = ["a.out`-[MyString initWithNSString:]"])
+ self.expect(
+ "thread backtrace",
+ "Stop at a.out`-[MyString initWithNSString:]",
+ substrs=["a.out`-[MyString initWithNSString:]"])
# Do the disassemble for the currently stopped function.
self.runCmd("disassemble -f")
@@ -118,7 +145,7 @@ class FoundationDisassembleTestCase(TestBase):
# Followed by -[MyString description].
self.expect("thread backtrace", "Stop at -[MyString description]",
- substrs = ["a.out`-[MyString description]"])
+ substrs=["a.out`-[MyString description]"])
# Do the disassemble for the currently stopped function.
self.runCmd("disassemble -f")
@@ -129,7 +156,7 @@ class FoundationDisassembleTestCase(TestBase):
# Followed by -[NSAutoreleasePool release].
self.expect("thread backtrace", "Stop at -[NSAutoreleasePool release]",
- substrs = ["Foundation`-[NSAutoreleasePool release]"])
+ substrs=["Foundation`-[NSAutoreleasePool release]"])
# Do the disassemble for the currently stopped function.
self.runCmd("disassemble -f")