mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-26 23:09:03 -04:00

Summary: TestExprsChar.py Char is unsigned char by default in PowerPC. TestDisassembleBreakpoint.py Modify disassemble testcase to consider multiple architectures. TestThreadJump.py Jumping directly to the return line on PowerPC architecture dos not means returning the value that is seen on the code. The last test fails, because it needs the execution of some assembly in the beginning of the function. Avoiding this test for this architecture. TestEhFrameUnwind.py Implement func for ppc64le test case. TestWatchLocation.py TestStepOverWatchpoint.py PowerPC currently supports only one H/W watchpoint. TestDisassembleRawData.py Add PowerPC opcode and instruction for disassemble testcase. Reviewers: labath Reviewed By: labath Subscribers: davide, labath, alexandreyy, lldb-commits, luporl, lbianc Differential Revision: https://reviews.llvm.org/D44472 Patch by Alexandre Yukio Yamashita <alexandre.yamashita@eldorado.org.br>. llvm-svn: 328488
71 lines
2.3 KiB
Python
71 lines
2.3 KiB
Python
from __future__ import print_function
|
|
|
|
|
|
import lldb
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
|
|
|
|
class ExprCharTestCase(TestBase):
|
|
|
|
mydir = TestBase.compute_mydir(__file__)
|
|
|
|
def setUp(self):
|
|
# Call super's setUp().
|
|
TestBase.setUp(self)
|
|
|
|
self.main_source = "main.cpp"
|
|
self.main_source_spec = lldb.SBFileSpec(self.main_source)
|
|
|
|
def do_test(self, dictionary=None):
|
|
"""These basic expression commands should work as expected."""
|
|
self.build(dictionary=dictionary)
|
|
|
|
(target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
|
|
'// Break here', self.main_source_spec)
|
|
frame = thread.GetFrameAtIndex(0)
|
|
|
|
value = frame.EvaluateExpression("foo(c)")
|
|
self.assertTrue(value.IsValid())
|
|
self.assertTrue(value.GetError().Success())
|
|
self.assertEqual(value.GetValueAsSigned(0), 1)
|
|
|
|
value = frame.EvaluateExpression("foo(sc)")
|
|
self.assertTrue(value.IsValid())
|
|
self.assertTrue(value.GetError().Success())
|
|
self.assertEqual(value.GetValueAsSigned(0), 2)
|
|
|
|
value = frame.EvaluateExpression("foo(uc)")
|
|
self.assertTrue(value.IsValid())
|
|
self.assertTrue(value.GetError().Success())
|
|
self.assertEqual(value.GetValueAsSigned(0), 3)
|
|
|
|
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr21765")
|
|
def test_default_char(self):
|
|
self.do_test()
|
|
|
|
@expectedFailureAll(
|
|
archs=[
|
|
"arm",
|
|
"aarch64",
|
|
"powerpc64le",
|
|
"s390x"],
|
|
bugnumber="llvm.org/pr23069")
|
|
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr21765")
|
|
def test_signed_char(self):
|
|
self.do_test(dictionary={'CFLAGS_EXTRAS': '-fsigned-char'})
|
|
|
|
@expectedFailureAll(
|
|
archs=[
|
|
"i[3-6]86",
|
|
"x86_64",
|
|
"arm64",
|
|
'armv7',
|
|
'armv7k'],
|
|
bugnumber="llvm.org/pr23069, <rdar://problem/28721938>")
|
|
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr21765")
|
|
@expectedFailureAll(triple='mips*', bugnumber="llvm.org/pr23069")
|
|
def test_unsigned_char(self):
|
|
self.do_test(dictionary={'CFLAGS_EXTRAS': '-funsigned-char'})
|