diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2019-08-20 18:01:57 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2019-08-20 18:01:57 +0000 |
commit | 88c643b6fec27eec436c8d138fee6346e92337d6 (patch) | |
tree | 82cd13b2f3cde1c9e5f79689ba4e6ba67694843f /packages/Python/lldbsuite/test/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py | |
parent | 94994d372d014ce4c8758b9605d63fae651bd8aa (diff) |
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py')
-rw-r--r-- | packages/Python/lldbsuite/test/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/packages/Python/lldbsuite/test/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py b/packages/Python/lldbsuite/test/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py deleted file mode 100644 index d1aea00b0e8f..000000000000 --- a/packages/Python/lldbsuite/test/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py +++ /dev/null @@ -1,84 +0,0 @@ -""" -Test lldb exception breakpoint command for CPP. -""" - -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 - - -class CPPBreakpointTestCase(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - def setUp(self): - # Call super's setUp(). - TestBase.setUp(self) - self.source = 'exceptions.cpp' - self.catch_line = line_number( - self.source, '// This is the line you should stop at for catch') - - @expectedFailureAll( - oslist=["windows"], - bugnumber="llvm.org/pr24538, clang-cl does not support throw or catch") - def test(self): - """Test lldb exception breakpoint command for CPP.""" - self.build() - exe = self.getBuildArtifact("a.out") - - # Create a target from the debugger. - - target = self.dbg.CreateTarget(exe) - self.assertTrue(target, VALID_TARGET) - - exception_bkpt = target.BreakpointCreateForException( - lldb.eLanguageTypeC_plus_plus, True, True) - self.assertTrue(exception_bkpt, "Made an exception breakpoint") - - # Now run, and make sure we hit our breakpoint: - process = target.LaunchSimple( - None, None, self.get_process_working_directory()) - self.assertTrue(process, "Got a valid process") - - stopped_threads = [] - stopped_threads = lldbutil.get_threads_stopped_at_breakpoint( - process, exception_bkpt) - self.assertTrue( - len(stopped_threads) == 1, - "Stopped at our exception breakpoint.") - thread = stopped_threads[0] - # Make sure our throw function is still above us on the stack: - - frame_functions = lldbutil.get_function_names(thread) - self.assertTrue( - frame_functions.count("throws_exception_on_even(int)") == 1, - "Our throw function is still on the stack.") - - # Okay we hit our exception throw breakpoint, now make sure we get our catch breakpoint. - # One potential complication is that we might hit a couple of the exception breakpoints in getting out of the throw. - # so loop till we don't see the throws function on the stack. We should stop one more time for our exception breakpoint - # and that should be the catch... - - while frame_functions.count("throws_exception_on_even(int)") == 1: - stopped_threads = lldbutil.continue_to_breakpoint( - process, exception_bkpt) - self.assertTrue(len(stopped_threads) == 1) - - thread = stopped_threads[0] - frame_functions = lldbutil.get_function_names(thread) - - self.assertTrue( - frame_functions.count("throws_exception_on_even(int)") == 0, - "At catch our throw function is off the stack") - self.assertTrue( - frame_functions.count("intervening_function(int)") == 0, - "At catch our intervening function is off the stack") - self.assertTrue( - frame_functions.count("catches_exception(int)") == 1, - "At catch our catch function is on the stack") |