summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/python_api/sbstructureddata/TestStructuredDataAPI.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/python_api/sbstructureddata/TestStructuredDataAPI.py')
-rw-r--r--packages/Python/lldbsuite/test/python_api/sbstructureddata/TestStructuredDataAPI.py206
1 files changed, 0 insertions, 206 deletions
diff --git a/packages/Python/lldbsuite/test/python_api/sbstructureddata/TestStructuredDataAPI.py b/packages/Python/lldbsuite/test/python_api/sbstructureddata/TestStructuredDataAPI.py
deleted file mode 100644
index f19d01d5e695..000000000000
--- a/packages/Python/lldbsuite/test/python_api/sbstructureddata/TestStructuredDataAPI.py
+++ /dev/null
@@ -1,206 +0,0 @@
-"""
-Test some SBStructuredData API.
-"""
-
-from __future__ import print_function
-
-import os
-import re
-import time
-
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-
-class TestStructuredDataAPI(TestBase):
-
- mydir = TestBase.compute_mydir(__file__)
- NO_DEBUG_INFO_TESTCASE = True
-
- def test(self):
- self.structured_data_api_test()
-
- def setUp(self):
- TestBase.setUp(self)
-
- @add_test_categories(['pyapi'])
- def structured_data_api_test(self):
- error = lldb.SBError()
- s = lldb.SBStream()
- s.Print(
- "{\"key_dict\":{\"key_string\":\"STRING\",\"key_int\":3,\"key_float\":2.99,\"key_bool\":true,\"key_array\":[\"23\",\"arr\"]}}")
- example = lldb.SBStructuredData()
-
- # Check SetFromJSON API for dictionaries, integers, floating point
- # values, strings and arrays
- error = example.SetFromJSON(s)
- if not error.Success():
- self.fail("FAILED: " + error.GetCString())
-
- # Tests for invalid data type
- self.invalid_struct_test(example)
-
- dict_struct = lldb.SBStructuredData()
- dict_struct = example.GetValueForKey("key_dict")
-
- # Tests for dictionary data type
- self.dictionary_struct_test(example)
-
- # Tests for string data type
- self.string_struct_test(dict_struct)
-
- # Tests for integer data type
- self.int_struct_test(dict_struct)
-
- # Tests for floating point data type
- self.double_struct_test(dict_struct)
-
- # Tests for boolean data type
- self.bool_struct_test(dict_struct)
-
- # Tests for array data type
- self.array_struct_test(dict_struct)
-
- 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 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 not dict_struct.GetType() == lldb.eStructuredDataTypeDictionary:
- self.fail("Wrong type returned: " + str(dict_struct.GetType()))
-
- # Check Size API for 'dictionary' type
- if not dict_struct.GetSize() == 5:
- 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 not string_struct.GetType() == lldb.eStructuredDataTypeString:
- self.fail("Wrong type returned: " + str(string_struct.GetType()))
-
- # Check API returning 'string' value
- output = string_struct.GetStringValue(25)
- if not "STRING" in output:
- self.fail("wrong output: " + output)
-
- # Calling wrong API on a SBStructuredData
- # (e.g. getting an integer from a string type structure)
- output = string_struct.GetIntegerValue()
- if output:
- self.fail(
- "Valid integer value " +
- str(output) +
- " returned for a string object")
-
- def int_struct_test(self, dict_struct):
- # Check a valid SBStructuredData containing an 'integer' by
- int_struct = lldb.SBStructuredData()
- int_struct = dict_struct.GetValueForKey("key_int")
- if not int_struct.IsValid():
- self.fail("A valid object should have been returned")
-
- # Check Type API
- if not int_struct.GetType() == lldb.eStructuredDataTypeInteger:
- self.fail("Wrong type returned: " + str(int_struct.GetType()))
-
- # Check API returning 'integer' value
- output = int_struct.GetIntegerValue()
- if not output == 3:
- self.fail("wrong output: " + str(output))
-
- # Calling wrong API on a SBStructuredData
- # (e.g. getting a string value from an integer type structure)
- output = int_struct.GetStringValue(25)
- if output:
- 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 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 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 not bool_struct.GetType() == lldb.eStructuredDataTypeBoolean:
- self.fail("Wrong type returned: " + str(bool_struct.GetType()))
-
- # Check API returning 'bool' value
- output = bool_struct.GetBooleanValue()
- if not output:
- self.fail("wrong output: " + str(output))
-
- 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 not array_struct.GetType() == lldb.eStructuredDataTypeArray:
- self.fail("Wrong type returned: " + str(array_struct.GetType()))
-
- # Check Size API for 'array' type
- 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'
- # indices
- string_struct = array_struct.GetItemAtIndex(0)
- if not string_struct.IsValid():
- self.fail("A valid object should have been returned")
- if not string_struct.GetType() == lldb.eStructuredDataTypeString:
- self.fail("Wrong type returned: " + str(string_struct.GetType()))
- output = string_struct.GetStringValue(5)
- 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 not string_struct.GetType() == lldb.eStructuredDataTypeString:
- self.fail("Wrong type returned: " + str(string_struct.GetType()))
- output = string_struct.GetStringValue(5)
- if not output == "arr":
- self.fail("wrong output: " + str(output))