54 lines · python
1import lldb2from lldbsuite.test.decorators import *3from lldbsuite.test.lldbtest import *4from lldbsuite.test import lldbutil5 6 7class TestCase(TestBase):8 @no_debug_info_test9 @skipIfWindows10 def test(self):11 self.build()12 lldbutil.run_to_source_breakpoint(13 self, "// break here", lldb.SBFileSpec("main.c")14 )15 16 self.expect_expr(17 "complex_float", result_type="_Complex float", result_value="-1.5 + -2.5i"18 )19 self.expect_expr(20 "complex_float + (2.0f + 3.5fi)",21 result_type="_Complex float",22 result_value="0.5 + 1i",23 )24 25 self.expect_expr(26 "complex_double", result_type="_Complex double", result_value="-1.5 + -2.5i"27 )28 self.expect_expr(29 "complex_double + (2.0 + 3.5i)",30 result_type="_Complex double",31 result_value="0.5 + 1i",32 )33 34 @no_debug_info_test35 # FIXME: LLDB fails to read the imaginary part of the number.36 @expectedFailureAll()37 @skipIfWindows38 def test_long_double(self):39 self.build()40 lldbutil.run_to_source_breakpoint(41 self, "// break here", lldb.SBFileSpec("main.c")42 )43 44 self.expect_expr(45 "complex_long_double",46 result_type="_Complex long double",47 result_value="-1.5 + 1i",48 )49 self.expect_expr(50 "complex_long_double + (2.0L + 3.5Li)",51 result_type="_Complex long double",52 result_value="0.5 + 1i",53 )54