I don't know what the intent of parts of this test were. We set a
bunch of breakpoints and ran from one to the other, doing "self.runCmd("thread backtrace")"
then continuing to the next one. We didn't actually verify the contents of the backtrace,
nor that we hit the breakpoints we set in any particular order. The only actual test was
to run sel_getName at two of these stops.
So I reduced the test to just stopping at the places where we were actually going to run
an expression, and tested the expression.
llvm-svn: 372196
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
"""
|
|
Test more expression command sequences with objective-c.
|
|
"""
|
|
|
|
from __future__ import print_function
|
|
|
|
|
|
import lldb
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
|
|
|
|
@skipUnlessDarwin
|
|
class FoundationTestCase2(TestBase):
|
|
|
|
mydir = TestBase.compute_mydir(__file__)
|
|
|
|
NO_DEBUG_INFO_TESTCASE = True
|
|
|
|
def test_expr_commands(self):
|
|
"""More expression commands for objective-c."""
|
|
self.build()
|
|
main_spec = lldb.SBFileSpec("main.m")
|
|
|
|
(target, process, thread, bp) = lldbutil.run_to_source_breakpoint(
|
|
self, "Break here for selector: tests", main_spec)
|
|
|
|
# Test_Selector:
|
|
self.expect("expression (char *)sel_getName(sel)",
|
|
substrs=["(char *)",
|
|
"length"])
|
|
|
|
desc_bkpt = target.BreakpointCreateBySourceRegex("Break here for description test",
|
|
main_spec)
|
|
self.assertEqual(desc_bkpt.GetNumLocations(), 1, "description breakpoint has a location")
|
|
lldbutil.continue_to_breakpoint(process, desc_bkpt)
|
|
|
|
self.expect("expression (char *)sel_getName(_cmd)",
|
|
substrs=["(char *)",
|
|
"description"])
|