summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/lang/cpp/virtual/TestVirtual.py
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
commit14f1b3e8826ce43b978db93a62d1166055db5394 (patch)
tree0a00ad8d3498783fe0193f3b656bca17c4c8697d /packages/Python/lldbsuite/test/lang/cpp/virtual/TestVirtual.py
parent4ee8c119c71a06dcad1e0fecc8c675e480e59337 (diff)
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/lang/cpp/virtual/TestVirtual.py')
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/virtual/TestVirtual.py38
1 files changed, 25 insertions, 13 deletions
diff --git a/packages/Python/lldbsuite/test/lang/cpp/virtual/TestVirtual.py b/packages/Python/lldbsuite/test/lang/cpp/virtual/TestVirtual.py
index bee148773f03b..7356484e69a42 100644
--- a/packages/Python/lldbsuite/test/lang/cpp/virtual/TestVirtual.py
+++ b/packages/Python/lldbsuite/test/lang/cpp/virtual/TestVirtual.py
@@ -4,15 +4,19 @@ Test C++ virtual function and virtual inheritance.
from __future__ import print_function
-import os, time
+import os
+import time
import re
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
+
def Msg(expr, val):
- return "'expression %s' matches the output (from compiled code): %s" % (expr, val)
+ return "'expression %s' matches the output (from compiled code): %s" % (
+ expr, val)
+
class CppVirtualMadness(TestBase):
@@ -29,8 +33,9 @@ class CppVirtualMadness(TestBase):
self.source = 'main.cpp'
self.line = line_number(self.source, '// Set first breakpoint here.')
- @expectedFailureAll(compiler="icc", bugnumber="llvm.org/pr16808 lldb does not call the correct virtual function with icc.")
- @expectedFailureAll(oslist=['windows'])
+ @expectedFailureAll(
+ compiler="icc",
+ bugnumber="llvm.org/pr16808 lldb does not call the correct virtual function with icc.")
def test_virtual_madness(self):
"""Test that expression works correctly with virtual inheritance as well as virtual function."""
self.build()
@@ -38,7 +43,7 @@ class CppVirtualMadness(TestBase):
# Bring the program to the point where we can issue a series of
# 'expression' command to compare against the golden output.
self.dbg.SetAsync(False)
-
+
# Create a target by the debugger.
target = self.dbg.CreateTarget("a.out")
self.assertTrue(target, VALID_TARGET)
@@ -48,18 +53,25 @@ class CppVirtualMadness(TestBase):
self.assertTrue(breakpoint, VALID_BREAKPOINT)
# Now launch the process, and do not stop at entry point.
- process = target.LaunchSimple (None, None, self.get_process_working_directory())
+ process = target.LaunchSimple(
+ None, None, self.get_process_working_directory())
self.assertTrue(process, PROCESS_IS_VALID)
-
+
self.assertTrue(process.GetState() == lldb.eStateStopped)
- thread = lldbutil.get_stopped_thread(process, lldb.eStopReasonBreakpoint)
- self.assertTrue(thread.IsValid(), "There should be a thread stopped due to breakpoint condition")
+ thread = lldbutil.get_stopped_thread(
+ process, lldb.eStopReasonBreakpoint)
+ self.assertTrue(
+ thread.IsValid(),
+ "There should be a thread stopped due to breakpoint condition")
# First, capture the golden output from the program itself.
golden = thread.GetFrameAtIndex(0).FindVariable("golden")
- self.assertTrue(golden.IsValid(), "Encountered an error reading the process's golden variable")
+ self.assertTrue(
+ golden.IsValid(),
+ "Encountered an error reading the process's golden variable")
error = lldb.SBError()
- golden_str = process.ReadCStringFromMemory(golden.AddressOf().GetValueAsUnsigned(), 4096, error);
+ golden_str = process.ReadCStringFromMemory(
+ golden.AddressOf().GetValueAsUnsigned(), 4096, error)
self.assertTrue(error.Success())
self.assertTrue("c_as_C" in golden_str)
@@ -84,7 +96,7 @@ class CppVirtualMadness(TestBase):
self.runCmd("expression %s" % my_expr)
output = self.res.GetOutput()
-
+
# The expression output must match the oracle.
self.expect(output, Msg(my_expr, val), exe=False,
- substrs = [val])
+ substrs=[val])