import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class ExprCharTestCase(TestBase):
def do_test(self, dictionary=None):
"""These basic expression commands should work as expected."""
self.build(dictionary=dictionary)
lldbutil.run_to_source_breakpoint(
self, "// Break here", lldb.SBFileSpec("main.cpp")
)
self.expect_expr("foo(c)", result_value="1")
self.expect_expr("foo(sc)", result_value="2")
self.expect_expr("foo(uc)", result_value="3")
self.expect_expr("g", result_type="char")
self.expect_expr("gs", result_type="signed char")
self.expect_expr("gu", result_type="unsigned char")
def test_default_char(self):
self.do_test()
def test_signed_char(self):
self.do_test(dictionary={"CFLAGS_EXTRAS": "-fsigned-char"})
def test_unsigned_char(self):
self.do_test(dictionary={"CFLAGS_EXTRAS": "-funsigned-char"})