mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-24 14:05:49 -04:00

Normal customer devices won't be able to run these devices, we're hoping to get a public facing bot set up at some point. Both devices pass the testsuite without any errors or failures. I have seen some instability with the armv7 test runs, I may submit additional patches to address this. arm64 looks good. I'll be watching the bots for the rest of today; if any problems are introduced by this patch I'll revert it - if anyone sees a problem with their bot that I don't see, please do the same. I know it's a rather large patch. One change I had to make specifically for iOS devices was that debugserver can't create files. There were several tests that launch the inferior process redirecting its output to a file, then they retrieve the file. They were not trying to test file redirection in these tests, so I rewrote those to write their output to a file directly. llvm-svn: 314038
70 lines
2.3 KiB
Python
70 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",
|
|
"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'})
|