summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py7
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/main.cpp5
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
OpenPOWER on IntegriCloud