diff options
| author | Dave Lee <davelee.com@gmail.com> | 2025-09-03 12:15:20 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-03 12:15:20 -0700 |
| commit | 9d9a714f794b3e7ceb1d8d84a7137eb47eba06f0 (patch) | |
| tree | 70da09c55a336c36d87cc61afd06760a0850fbf9 /lldb/test/API/python_api | |
| parent | d7a08c5a806fa3f59ef61d6a89ca9fff07555906 (diff) | |
| download | llvm-9d9a714f794b3e7ceb1d8d84a7137eb47eba06f0.zip llvm-9d9a714f794b3e7ceb1d8d84a7137eb47eba06f0.tar.gz llvm-9d9a714f794b3e7ceb1d8d84a7137eb47eba06f0.tar.bz2 | |
Revert "[lldb] Add Pythonic API to SBStructuredData extension (#155061)" (#156728)
Reverts #155061 (and #156721) which caused Crashlog shell tests to break.
Diffstat (limited to 'lldb/test/API/python_api')
| -rw-r--r-- | lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py | 124 |
1 files changed, 26 insertions, 98 deletions
diff --git a/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py b/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py index 275ac03..99f88d3 100644 --- a/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py +++ b/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py @@ -48,11 +48,10 @@ class TestStructuredDataAPI(TestBase): s.Clear() error = example.GetDescription(s) self.assertSuccess(error, "GetDescription works") - # Ensure str() doesn't raise an exception. - self.assertTrue(str(example)) if not "key_float" in s.GetData(): self.fail("FAILED: could not find key_float in description output") + dict_struct = lldb.SBStructuredData() dict_struct = example.GetValueForKey("key_dict") # Tests for dictionary data type @@ -114,26 +113,21 @@ class TestStructuredDataAPI(TestBase): self.assertSuccess(example.SetFromJSON("1")) self.assertEqual(example.GetType(), lldb.eStructuredDataTypeInteger) self.assertEqual(example.GetIntegerValue(), 1) - self.assertEqual(int(example), 1) self.assertSuccess(example.SetFromJSON("4.19")) self.assertEqual(example.GetType(), lldb.eStructuredDataTypeFloat) self.assertEqual(example.GetFloatValue(), 4.19) - self.assertEqual(float(example), 4.19) self.assertSuccess(example.SetFromJSON('"Bonjour, 123!"')) self.assertEqual(example.GetType(), lldb.eStructuredDataTypeString) self.assertEqual(example.GetStringValue(42), "Bonjour, 123!") - self.assertEqual(str(example), "Bonjour, 123!") self.assertSuccess(example.SetFromJSON("true")) self.assertEqual(example.GetType(), lldb.eStructuredDataTypeBoolean) self.assertTrue(example.GetBooleanValue()) - self.assertTrue(example) self.assertSuccess(example.SetFromJSON("null")) self.assertEqual(example.GetType(), lldb.eStructuredDataTypeNull) - self.assertFalse(example) example = lldb.SBStructuredData() example.SetUnsignedIntegerValue(1) @@ -193,35 +187,38 @@ class TestStructuredDataAPI(TestBase): self.assertEqual(sb_data, example_arr) def invalid_struct_test(self, example): + invalid_struct = lldb.SBStructuredData() invalid_struct = example.GetValueForKey("invalid_key") if invalid_struct.IsValid(): self.fail("An invalid object should have been returned") # Check Type API - if invalid_struct.GetType() != lldb.eStructuredDataTypeInvalid: + if not invalid_struct.GetType() == lldb.eStructuredDataTypeInvalid: self.fail("Wrong type returned: " + str(invalid_struct.GetType())) def dictionary_struct_test(self, example): # Check API returning a valid SBStructuredData of 'dictionary' type + dict_struct = lldb.SBStructuredData() dict_struct = example.GetValueForKey("key_dict") if not dict_struct.IsValid(): self.fail("A valid object should have been returned") # Check Type API - if dict_struct.GetType() != lldb.eStructuredDataTypeDictionary: + if not dict_struct.GetType() == lldb.eStructuredDataTypeDictionary: self.fail("Wrong type returned: " + str(dict_struct.GetType())) # Check Size API for 'dictionary' type - if dict_struct.GetSize() != 6: + if not dict_struct.GetSize() == 6: self.fail("Wrong no of elements returned: " + str(dict_struct.GetSize())) def string_struct_test(self, dict_struct): + string_struct = lldb.SBStructuredData() string_struct = dict_struct.GetValueForKey("key_string") if not string_struct.IsValid(): self.fail("A valid object should have been returned") # Check Type API - if string_struct.GetType() != lldb.eStructuredDataTypeString: + if not string_struct.GetType() == lldb.eStructuredDataTypeString: self.fail("Wrong type returned: " + str(string_struct.GetType())) # Check API returning 'string' value @@ -241,17 +238,18 @@ class TestStructuredDataAPI(TestBase): # Check a valid SBStructuredData containing an unsigned integer. # We intentionally make this larger than what an int64_t can hold but # still small enough to fit a uint64_t + uint_struct = lldb.SBStructuredData() uint_struct = dict_struct.GetValueForKey("key_uint") if not uint_struct.IsValid(): self.fail("A valid object should have been returned") # Check Type API - if uint_struct.GetType() != lldb.eStructuredDataTypeInteger: + if not uint_struct.GetType() == lldb.eStructuredDataTypeInteger: self.fail("Wrong type returned: " + str(uint_struct.GetType())) # Check API returning unsigned integer value output = uint_struct.GetUnsignedIntegerValue() - if output != 0xFFFFFFFF00000000: + if not output == 0xFFFFFFFF00000000: self.fail("wrong output: " + str(output)) # Calling wrong API on a SBStructuredData @@ -264,17 +262,18 @@ class TestStructuredDataAPI(TestBase): # Check a valid SBStructuredData containing an signed integer. # We intentionally make this smaller than what an uint64_t can hold but # still small enough to fit a int64_t + sint_struct = lldb.SBStructuredData() sint_struct = dict_struct.GetValueForKey("key_sint") if not sint_struct.IsValid(): self.fail("A valid object should have been returned") # Check Type API - if sint_struct.GetType() != lldb.eStructuredDataTypeSignedInteger: + if not sint_struct.GetType() == lldb.eStructuredDataTypeSignedInteger: self.fail("Wrong type returned: " + str(sint_struct.GetType())) # Check API returning signed integer value output = sint_struct.GetSignedIntegerValue() - if output != -42: + if not output == -42: self.fail("wrong output: " + str(output)) # Calling wrong API on a SBStructuredData @@ -284,26 +283,28 @@ class TestStructuredDataAPI(TestBase): self.fail("Valid string " + output + " returned for an integer object") def double_struct_test(self, dict_struct): + floating_point_struct = lldb.SBStructuredData() floating_point_struct = dict_struct.GetValueForKey("key_float") if not floating_point_struct.IsValid(): self.fail("A valid object should have been returned") # Check Type API - if floating_point_struct.GetType() != lldb.eStructuredDataTypeFloat: + if not floating_point_struct.GetType() == lldb.eStructuredDataTypeFloat: self.fail("Wrong type returned: " + str(floating_point_struct.GetType())) # Check API returning 'double' value output = floating_point_struct.GetFloatValue() - if output != 2.99: + if not output == 2.99: self.fail("wrong output: " + str(output)) def bool_struct_test(self, dict_struct): + bool_struct = lldb.SBStructuredData() bool_struct = dict_struct.GetValueForKey("key_bool") if not bool_struct.IsValid(): self.fail("A valid object should have been returned") # Check Type API - if bool_struct.GetType() != lldb.eStructuredDataTypeBoolean: + if not bool_struct.GetType() == lldb.eStructuredDataTypeBoolean: self.fail("Wrong type returned: " + str(bool_struct.GetType())) # Check API returning 'bool' value @@ -313,16 +314,17 @@ class TestStructuredDataAPI(TestBase): def array_struct_test(self, dict_struct): # Check API returning a valid SBStructuredData of 'array' type + array_struct = lldb.SBStructuredData() array_struct = dict_struct.GetValueForKey("key_array") if not array_struct.IsValid(): self.fail("A valid object should have been returned") # Check Type API - if array_struct.GetType() != lldb.eStructuredDataTypeArray: + if not array_struct.GetType() == lldb.eStructuredDataTypeArray: self.fail("Wrong type returned: " + str(array_struct.GetType())) # Check Size API for 'array' type - if array_struct.GetSize() != 2: + if not array_struct.GetSize() == 2: self.fail("Wrong no of elements returned: " + str(array_struct.GetSize())) # Check API returning a valid SBStructuredData for different 'array' @@ -330,91 +332,17 @@ class TestStructuredDataAPI(TestBase): string_struct = array_struct.GetItemAtIndex(0) if not string_struct.IsValid(): self.fail("A valid object should have been returned") - if string_struct.GetType() != lldb.eStructuredDataTypeString: + if not string_struct.GetType() == lldb.eStructuredDataTypeString: self.fail("Wrong type returned: " + str(string_struct.GetType())) output = string_struct.GetStringValue(5) - if output != "23": + if not output == "23": self.fail("wrong output: " + str(output)) string_struct = array_struct.GetItemAtIndex(1) if not string_struct.IsValid(): self.fail("A valid object should have been returned") - if string_struct.GetType() != lldb.eStructuredDataTypeString: + if not string_struct.GetType() == lldb.eStructuredDataTypeString: self.fail("Wrong type returned: " + str(string_struct.GetType())) output = string_struct.GetStringValue(5) - if output != "arr": + if not output == "arr": self.fail("wrong output: " + str(output)) - - def test_round_trip_scalars(self): - for original in (0, 11, -1, 0.0, 4.5, -0.25, True, False): - constructor = type(original) - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(original)) - round_tripped = constructor(data) - self.assertEqual(round_tripped, original) - - def test_dynamic(self): - for original in (0, 11, -1, 0.0, 4.5, -0.25, "", "dirk", True, False): - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(original)) - self.assertEqual(data.dynamic, original) - - def test_round_trip_int(self): - for original in (0, 11, -1): - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(original)) - self.assertEqual(int(data), int(original)) - - def test_round_trip_float(self): - for original in (0, 11, -1, 0.0, 4.5, -0.25): - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(original)) - self.assertEqual(float(data), float(original)) - - def test_round_trip_bool(self): - for original in (0, 11, -1, 0.0, 4.5, -0.25, "0.0", "4.5", "-0.25"): - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(original)) - self.assertEqual(bool(data), bool(original)) - - for original in ([], {}, [1], {1: 1}): - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(original)) - self.assertEqual(bool(data), bool(original)) - - def test_assert_false(self): - self.assertFalse(lldb.SBStructuredData()) - for original in ("0", "0.0", '""', "[]", "{}"): - data = lldb.SBStructuredData() - data.SetFromJSON(original) - self.assertFalse(data) - - def test_iterate_array(self): - array = [0, 1, 2] - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(array)) - for value in data: - self.assertEqual(value, array.pop(0)) - - def test_iterate_dictionary(self): - dictionary = {"0": 0, "1": 1, "2": 2} - keys = set(dictionary.keys()) - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(dictionary)) - for key in data: - self.assertIn(key, keys) - keys.remove(key) - - def test_getitem_array(self): - array = [1, 2, 3] - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(array)) - for i in range(len(array)): - self.assertEqual(data[i], array[i]) - - def test_getitem_dictionary(self): - dictionary = {"one": 1, "two": 2, "three": 3} - data = lldb.SBStructuredData() - data.SetFromJSON(json.dumps(dictionary)) - for key in dictionary: - self.assertEqual(data[key], dictionary[key]) |
