diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
2 files changed, 8 insertions, 4 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py b/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py index af216898cf7..c22fffb4f23 100644 --- a/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py +++ b/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py @@ -40,9 +40,12 @@ class ExprCommandCallOverriddenMethod(TestBase): # Test call to method in base class (this should always work as the base # class method is never an override). - self.expect("expr b->foo()") + self.expect("expr b->foo()", substrs=["2"]) # Test call to overridden method in derived class (this will fail if the # overrides table is not correctly set up, as Derived::foo will be assigned # a vtable entry that does not exist in the compiled program). - self.expect("expr d.foo()") + self.expect("expr d.foo()", substrs=["2"]) + + # Test calling the base class. + self.expect("expr realbase.foo()", substrs=["1"]) diff --git a/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/main.cpp b/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/main.cpp index 54ae705d297..712c374eefd 100644 --- a/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/main.cpp +++ b/lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/main.cpp @@ -1,15 +1,16 @@ class Base { public: virtual ~Base() {} - virtual void foo() {} + virtual int foo() { return 1; } }; class Derived : public Base { public: - virtual void foo() {} + virtual int foo() { return 2; } }; int main() { + Base realbase; Derived d; Base *b = &d; return 0; // Set breakpoint here |