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/expression_command/call-throws | |
| parent | 94994d372d014ce4c8758b9605d63fae651bd8aa (diff) | |
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/expression_command/call-throws')
3 files changed, 0 insertions, 157 deletions
| diff --git a/packages/Python/lldbsuite/test/expression_command/call-throws/Makefile b/packages/Python/lldbsuite/test/expression_command/call-throws/Makefile deleted file mode 100644 index ac07b31c48cc..000000000000 --- a/packages/Python/lldbsuite/test/expression_command/call-throws/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -LEVEL = ../../make - -OBJC_SOURCES := call-throws.m - -include $(LEVEL)/Makefile.rules -LDFLAGS += -framework Foundation diff --git a/packages/Python/lldbsuite/test/expression_command/call-throws/TestCallThatThrows.py b/packages/Python/lldbsuite/test/expression_command/call-throws/TestCallThatThrows.py deleted file mode 100644 index c6b90ba5ba02..000000000000 --- a/packages/Python/lldbsuite/test/expression_command/call-throws/TestCallThatThrows.py +++ /dev/null @@ -1,104 +0,0 @@ -""" -Test calling a function that throws an ObjC exception, make sure that it doesn't propagate the exception. -""" - -from __future__ import print_function - - -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class ExprCommandWithThrowTestCase(TestBase): - -    mydir = TestBase.compute_mydir(__file__) - -    def setUp(self): -        # Call super's setUp(). -        TestBase.setUp(self) - -        self.main_source = "call-throws.m" -        self.main_source_spec = lldb.SBFileSpec(self.main_source) - -    @skipUnlessDarwin -    def test(self): -        """Test calling a function that throws and ObjC exception.""" -        self.build() -        self.call_function() - -    def check_after_call(self): -        # Check that we are back where we were before: -        frame = self.thread.GetFrameAtIndex(0) -        self.assertTrue( -            self.orig_frame_pc == frame.GetPC(), -            "Restored the zeroth frame correctly") - -    def call_function(self): -        """Test calling function that throws.""" -        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self, -                                   'I am about to throw.', self.main_source_spec) - -        options = lldb.SBExpressionOptions() -        options.SetUnwindOnError(True) - -        frame = self.thread.GetFrameAtIndex(0) -        # Store away the PC to check that the functions unwind to the right -        # place after calls -        self.orig_frame_pc = frame.GetPC() - -        value = frame.EvaluateExpression("[my_class callMeIThrow]", options) -        self.assertTrue(value.IsValid()) -        self.assertTrue(value.GetError().Success() == False) - -        self.check_after_call() - -        # Okay, now try with a breakpoint in the called code in the case where -        # we are ignoring breakpoint hits. -        handler_bkpt = target.BreakpointCreateBySourceRegex( -            "I felt like it", self.main_source_spec) -        self.assertTrue(handler_bkpt.GetNumLocations() > 0) -        options.SetIgnoreBreakpoints(True) -        options.SetUnwindOnError(True) - -        value = frame.EvaluateExpression("[my_class callMeIThrow]", options) - -        self.assertTrue( -            value.IsValid() and value.GetError().Success() == False) -        self.check_after_call() - -        # Now set the ObjC language breakpoint and make sure that doesn't -        # interfere with the call: -        exception_bkpt = target.BreakpointCreateForException( -            lldb.eLanguageTypeObjC, False, True) -        self.assertTrue(exception_bkpt.GetNumLocations() > 0) - -        options.SetIgnoreBreakpoints(True) -        options.SetUnwindOnError(True) - -        value = frame.EvaluateExpression("[my_class callMeIThrow]", options) - -        self.assertTrue( -            value.IsValid() and value.GetError().Success() == False) -        self.check_after_call() - -        # Now turn off exception trapping, and call a function that catches the exceptions, -        # and make sure the function actually completes, and we get the right -        # value: -        options.SetTrapExceptions(False) -        value = frame.EvaluateExpression("[my_class iCatchMyself]", options) -        self.assertTrue(value.IsValid()) -        self.assertTrue(value.GetError().Success()) -        self.assertTrue(value.GetValueAsUnsigned() == 57) -        self.check_after_call() -        options.SetTrapExceptions(True) - -        # Now set this unwind on error to false, and make sure that we stop -        # where the exception was thrown -        options.SetUnwindOnError(False) -        value = frame.EvaluateExpression("[my_class callMeIThrow]", options) - -        self.assertTrue( -            value.IsValid() and value.GetError().Success() == False) -        self.check_after_call() diff --git a/packages/Python/lldbsuite/test/expression_command/call-throws/call-throws.m b/packages/Python/lldbsuite/test/expression_command/call-throws/call-throws.m deleted file mode 100644 index a184718be7dd..000000000000 --- a/packages/Python/lldbsuite/test/expression_command/call-throws/call-throws.m +++ /dev/null @@ -1,47 +0,0 @@ -#import <Foundation/Foundation.h> - -@interface MyClass : NSObject -{ -} -- (int) callMeIThrow; -- (int) iCatchMyself; -@end - -@implementation MyClass -- (int) callMeIThrow -{ -    NSException *e = [NSException -                       exceptionWithName:@"JustForTheHeckOfItException" -                       reason:@"I felt like it" -                       userInfo:nil]; -    @throw e; -    return 56; -} - -- (int) iCatchMyself -{ -  int return_value = 55; -  @try -    { -      return_value = [self callMeIThrow]; -    } -  @catch (NSException *e) -    { -      return_value = 57; -    } -  return return_value; -} -@end - -int -main () -{ -  int return_value; -  MyClass *my_class = [[MyClass alloc] init]; - -  NSLog (@"I am about to throw."); - -  return_value = [my_class iCatchMyself]; - -  return return_value; -} | 
