diff options
author | Todd Fiala <todd.fiala@gmail.com> | 2016-01-23 02:24:41 +0000 |
---|---|---|
committer | Todd Fiala <todd.fiala@gmail.com> | 2016-01-23 02:24:41 +0000 |
commit | 299d42a170bc490039829ebc9cbea779cbdeed37 (patch) | |
tree | 9b58004bf7089590ecf20db50e49dede6d3cd574 /lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints | |
parent | 7cfaab2bcce1444fbb737a12d6dee9daaeeaf83e (diff) | |
download | bcm5719-llvm-299d42a170bc490039829ebc9cbea779cbdeed37.tar.gz bcm5719-llvm-299d42a170bc490039829ebc9cbea779cbdeed37.zip |
fixed TestConsecutiveBreakpoints test on OS X
Also renamed directory and class name to fix typos.
llvm-svn: 258601
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints')
3 files changed, 87 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/Makefile b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/Makefile new file mode 100644 index 00000000000..f89b52a972e --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/Makefile @@ -0,0 +1,9 @@ +LEVEL = ../../../make + +CXX_SOURCES := main.cpp + +ifneq (,$(findstring icc,$(CC))) + CXXFLAGS += -debug inline-debug-info +endif + +include $(LEVEL)/Makefile.rules diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py new file mode 100644 index 00000000000..61379bd5ee7 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py @@ -0,0 +1,59 @@ +""" +Test continue from a breakpoint when there is a breakpoint on the next instruction also. +""" + +from __future__ import print_function + + + +import unittest2 +import lldb +import lldbsuite.test.lldbutil as lldbutil +from lldbsuite.test.lldbtest import * + +class ConsecutiveBreakpointsTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + @expectedFailureAll("llvm.org/pr23478", oslist = not_in(["macosx"])) + def test (self): + self.build () + self.consecutive_breakpoints_tests() + + def consecutive_breakpoints_tests(self): + exe = os.path.join (os.getcwd(), "a.out") + + # Create a target by the debugger. + target = self.dbg.CreateTarget(exe) + self.assertTrue(target, VALID_TARGET) + + breakpoint1 = target.BreakpointCreateBySourceRegex("Set breakpoint here", lldb.SBFileSpec("main.cpp")) + self.assertTrue(breakpoint1 and + breakpoint1.GetNumLocations() == 1, + VALID_BREAKPOINT) + + # Now launch the process, and do not stop at entry point. + process = target.LaunchSimple (None, None, self.get_process_working_directory()) + self.assertTrue(process, PROCESS_IS_VALID) + + # We should be stopped at the first breakpoint + thread = lldbutil.get_one_thread_stopped_at_breakpoint(process, breakpoint1) + self.assertIsNotNone(thread, "Expected one thread to be stopped at breakpoint 1") + + # Set breakpoint to the next instruction + frame = thread.GetFrameAtIndex(0) + + address = frame.GetPCAddress() + instructions = target.ReadInstructions(address, 2) + self.assertTrue(len(instructions) == 2) + address = instructions[1].GetAddress() + + breakpoint2 = target.BreakpointCreateByAddress(address.GetLoadAddress(target)) + process.Continue() + + # We should be stopped at the second breakpoint + thread = lldbutil.get_one_thread_stopped_at_breakpoint(process, breakpoint2) + self.assertIsNotNone(thread, "Expected one thread to be stopped at breakpoint 2") + + # Run the process until termination + process.Continue() diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/main.cpp b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/main.cpp new file mode 100644 index 00000000000..c1943f03dbf --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/main.cpp @@ -0,0 +1,19 @@ +//===-- main.cpp ------------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +int +main(int argc, char const *argv[]) +{ + int a = 0; + int b = 1; + a = b + 1; // Set breakpoint here + b = a + 1; + return 0; +} + |