brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · ba6f891 Raw
75 lines · python
1# encoding: utf-82"""3Test lldb data formatter subsystem.4"""5 6import lldb7from lldbsuite.test.decorators import *8from lldbsuite.test.lldbtest import *9from lldbsuite.test import lldbutil10 11from ObjCDataFormatterTestCase import ObjCDataFormatterTestCase12 13 14class ObjCDataFormatterNSNumber(ObjCDataFormatterTestCase):15    @skipUnlessDarwin16    def test_nsnumber_with_run_command(self):17        """Test formatters for  NS container classes."""18        self.appkit_tester_impl(self.nscontainers_data_formatter_commands, True)19 20    @skipUnlessDarwin21    def test_nsnumber_with_run_command_no_const(self):22        """Test formatters for  NS container classes."""23        self.appkit_tester_impl(self.nscontainers_data_formatter_commands, False)24 25    def nscontainers_data_formatter_commands(self):26        self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values")27 28        self.expect(29            "frame variable newArray nsDictionary newDictionary nscfDictionary cfDictionaryRef newMutableDictionary cfarray_ref mutable_array_ref",30            substrs=[31                "(NSArray *) newArray = ",32                '@"50 elements"',33                "(NSDictionary *) nsDictionary = ",34                " 2 key/value pairs",35                "(NSDictionary *) newDictionary = ",36                " 12 key/value pairs",37                "(CFDictionaryRef) cfDictionaryRef = ",38                " 2 key/value pairs",39                "(NSDictionary *) newMutableDictionary = ",40                " 21 key/value pairs",41                "(CFArrayRef) cfarray_ref = ",42                '@"3 elements"',43                "(CFMutableArrayRef) mutable_array_ref = ",44                '@"11 elements"',45            ],46        )47 48        numbers = [49            ("num1", "(int)5"),50            ("num2", "(float)3.140000"),51            ("num3", "(double)3.14"),52            ("num4", "(int128_t)18446744073709551614"),53            ("num5", "(char)65"),54            ("num6", "(long)255"),55            ("num7", "(long)2000000"),56            ("num8_Y", "YES"),57            ("num8_N", "NO"),58            ("num9", "(short)-31616"),59            ("num_at1", "(int)12"),60            ("num_at2", "(int)-12"),61            ("num_at3", "(double)12.5"),62            ("num_at4", "(double)-12.5"),63            ("num_at5", "(char)97"),64            ("num_at6", "(float)42.123"),65            ("num_at7", "(double)43.123"),66            ("num_at8", "(long)12345"),67            ("num_at9", "17375808098308635870"),68            ("num_at9b", "-1070935975400915746"),69            ("num_at10", "YES"),70            ("num_at11", "NO"),71        ]72 73        for var, res in numbers:74            self.expect("frame variable " + var, substrs=[res])75