summaryrefslogtreecommitdiffstats
path: root/lldb/test/python_api
diff options
context:
space:
mode:
authorJohnny Chen <johnny.chen@apple.com>2012-01-06 00:46:12 +0000
committerJohnny Chen <johnny.chen@apple.com>2012-01-06 00:46:12 +0000
commit39c6d0f9ae60dae09d48eaa264339ff438bbebd2 (patch)
treed3f4c34417b7acdfd1de8514df5f8f8daec75a1a /lldb/test/python_api
parent650e3b014ea230203bebd8a293c893cdb6b3727e (diff)
downloadbcm5719-llvm-39c6d0f9ae60dae09d48eaa264339ff438bbebd2.tar.gz
bcm5719-llvm-39c6d0f9ae60dae09d48eaa264339ff438bbebd2.zip
http://llvm.org/bugs/show_bug.cgi?id=11619
Allow creating SBData values from arrays or primitives in Python Patch submitted by Enrico Granata. llvm-svn: 147639
Diffstat (limited to 'lldb/test/python_api')
-rw-r--r--lldb/test/python_api/sbdata/TestSBData.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/lldb/test/python_api/sbdata/TestSBData.py b/lldb/test/python_api/sbdata/TestSBData.py
index c1c2e6f9f8a..36dbfd3a4dd 100644
--- a/lldb/test/python_api/sbdata/TestSBData.py
+++ b/lldb/test/python_api/sbdata/TestSBData.py
@@ -212,6 +212,48 @@ class SBDataAPICase(TestBase):
self.assertTrue(data.GetUnsignedInt8(error, offset) == 68, 'made-up data == 68')
offset += 1
+ # check the new API calls introduced per LLVM bugzilla enhancement request
+ # 11619 (Allow creating SBData values from arrays or primitives in Python)
+
+ data2 = process.GetDataFromCString('hello!')
+ self.assertTrue(data2.GetUnsignedInt8(error,0) == 104, 'h == 104')
+ self.assertTrue(data2.GetUnsignedInt8(error,1) == 101, 'e == 101')
+ self.assertTrue(data2.GetUnsignedInt8(error,2) == 108, 'l == 108')
+ self.assertTrue(data2.GetUnsignedInt8(error,3) == 108, 'l == 108')
+ self.assertTrue(data2.GetUnsignedInt8(error,4) == 111, 'o == 111')
+ self.assertTrue(data2.GetUnsignedInt8(error,5) == 33, '! == 33')
+ self.assertTrue(data2.GetUnsignedInt8(error,6) == 0, 'binary 0 terminator')
+
+ data2 = process.GetDataFromUnsignedInt64Array([1,2,3,4,5])
+ self.assertTrue(data2.GetUnsignedInt64(error,0) == 1, 'data2[0] = 1')
+ self.assertTrue(data2.GetUnsignedInt64(error,8) == 2, 'data2[1] = 2')
+ self.assertTrue(data2.GetUnsignedInt64(error,16) == 3, 'data2[2] = 3')
+ self.assertTrue(data2.GetUnsignedInt64(error,24) == 4, 'data2[3] = 4')
+ self.assertTrue(data2.GetUnsignedInt64(error,32) == 5, 'data2[4] = 5')
+
+ data2 = process.GetDataFromSignedInt32Array([2, -2])
+ self.assertTrue(data2.GetSignedInt32(error,0) == 2, 'signed32 data2[0] = 2')
+ self.assertTrue(data2.GetSignedInt32(error,4) == -2, 'signed32 data2[1] = -2')
+
+ data2.Append(process.GetDataFromSignedInt64Array([2, -2]))
+ self.assertTrue(data2.GetSignedInt32(error,0) == 2, 'signed32 data2[0] = 2')
+ self.assertTrue(data2.GetSignedInt32(error,4) == -2, 'signed32 data2[1] = -2')
+ self.assertTrue(data2.GetSignedInt64(error,8) == 2, 'signed64 data2[0] = 2')
+ self.assertTrue(data2.GetSignedInt64(error,16) == -2, 'signed64 data2[1] = -2')
+
+ data2 = process.GetDataFromUnsignedInt32Array([1,2,3,4,5])
+ self.assertTrue(data2.GetUnsignedInt32(error,0) == 1, '32-bit data2[0] = 1')
+ self.assertTrue(data2.GetUnsignedInt32(error,4) == 2, '32-bit data2[1] = 2')
+ self.assertTrue(data2.GetUnsignedInt32(error,8) == 3, '32-bit data2[2] = 3')
+ self.assertTrue(data2.GetUnsignedInt32(error,12) == 4, '32-bit data2[3] = 4')
+ self.assertTrue(data2.GetUnsignedInt32(error,16) == 5, '32-bit data2[4] = 5')
+
+ data2 = process.GetDataFromDoubleArray([3.14,6.28,2.71])
+ self.assertTrue( fabs(data2.GetDouble(error,0) - 3.14) < 0.5, 'double data2[0] = 3.14')
+ self.assertTrue( fabs(data2.GetDouble(error,8) - 6.28) < 0.5, 'double data2[1] = 6.28')
+ self.assertTrue( fabs(data2.GetDouble(error,16) - 2.71) < 0.5, 'double data2[2] = 2.71')
+
+
if __name__ == '__main__':
import atexit
lldb.SBDebugger.Initialize()
OpenPOWER on IntegriCloud