1import lldb 2from lldbsuite.test.decorators import * 3from lldbsuite.test.lldbtest import * 4from lldbsuite.test import lldbutil 5 6class ExprCharTestCase(TestBase): 7 8 mydir = TestBase.compute_mydir(__file__) 9 10 def do_test(self, dictionary=None): 11 """These basic expression commands should work as expected.""" 12 self.build(dictionary=dictionary) 13 14 lldbutil.run_to_source_breakpoint(self, '// Break here', lldb.SBFileSpec("main.cpp")) 15 16 self.expect_expr("foo(c)", result_value="1") 17 self.expect_expr("foo(sc)", result_value="2") 18 self.expect_expr("foo(uc)", result_value="3") 19 20 def test_default_char(self): 21 self.do_test() 22 23 @expectedFailureAll( 24 archs=[ 25 "arm", 26 "aarch64", 27 "powerpc64le", 28 "s390x"], 29 bugnumber="llvm.org/pr23069") 30 def test_signed_char(self): 31 self.do_test(dictionary={'CFLAGS_EXTRAS': '-fsigned-char'}) 32 33 @expectedFailureAll( 34 archs=[ 35 "i[3-6]86", 36 "x86_64", 37 "arm64", 38 'arm64e', 39 'armv7', 40 'armv7k', 41 'arm64_32'], 42 bugnumber="llvm.org/pr23069, <rdar://problem/28721938>") 43 @expectedFailureAll(triple='mips*', bugnumber="llvm.org/pr23069") 44 def test_unsigned_char(self): 45 self.do_test(dictionary={'CFLAGS_EXTRAS': '-funsigned-char'}) 46