diff options
author | Haibo Huang <hhb@google.com> | 2019-10-18 12:09:18 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-10-18 12:09:18 -0700 |
commit | 7b1f3622739ae5b6fb9f69d9d53c052eb9877496 (patch) | |
tree | 986903890b45b15bd336efef757f33108a88dd39 /lib/python2.7/ctypes/test/test_cast.py | |
parent | 4adfde8bc82dd39f59e0445588c3e599ada477d2 (diff) | |
parent | 60869428a903b3dc93ea77a3cbabe85999784ee7 (diff) | |
download | linux-x86-7b1f3622739ae5b6fb9f69d9d53c052eb9877496.tar.gz |
Upgrade prebuilt gdb to 8.3 am: 5d01b0296c am: 037b8f141e
am: 60869428a9
Change-Id: I4bfb5cef153a43c4b261e6294f9331bce869aecd
Diffstat (limited to 'lib/python2.7/ctypes/test/test_cast.py')
-rw-r--r-- | lib/python2.7/ctypes/test/test_cast.py | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/lib/python2.7/ctypes/test/test_cast.py b/lib/python2.7/ctypes/test/test_cast.py deleted file mode 100644 index 906fffc..0000000 --- a/lib/python2.7/ctypes/test/test_cast.py +++ /dev/null @@ -1,89 +0,0 @@ -from ctypes import * -import unittest -import sys - -class Test(unittest.TestCase): - - def test_array2pointer(self): - array = (c_int * 3)(42, 17, 2) - - # casting an array to a pointer works. - ptr = cast(array, POINTER(c_int)) - self.assertEqual([ptr[i] for i in range(3)], [42, 17, 2]) - - if 2*sizeof(c_short) == sizeof(c_int): - ptr = cast(array, POINTER(c_short)) - if sys.byteorder == "little": - self.assertEqual([ptr[i] for i in range(6)], - [42, 0, 17, 0, 2, 0]) - else: - self.assertEqual([ptr[i] for i in range(6)], - [0, 42, 0, 17, 0, 2]) - - def test_address2pointer(self): - array = (c_int * 3)(42, 17, 2) - - address = addressof(array) - ptr = cast(c_void_p(address), POINTER(c_int)) - self.assertEqual([ptr[i] for i in range(3)], [42, 17, 2]) - - ptr = cast(address, POINTER(c_int)) - self.assertEqual([ptr[i] for i in range(3)], [42, 17, 2]) - - def test_p2a_objects(self): - array = (c_char_p * 5)() - self.assertEqual(array._objects, None) - array[0] = "foo bar" - self.assertEqual(array._objects, {'0': "foo bar"}) - - p = cast(array, POINTER(c_char_p)) - # array and p share a common _objects attribute - self.assertTrue(p._objects is array._objects) - self.assertEqual(array._objects, {'0': "foo bar", id(array): array}) - p[0] = "spam spam" - self.assertEqual(p._objects, {'0': "spam spam", id(array): array}) - self.assertTrue(array._objects is p._objects) - p[1] = "foo bar" - self.assertEqual(p._objects, {'1': 'foo bar', '0': "spam spam", id(array): array}) - self.assertTrue(array._objects is p._objects) - - def test_other(self): - p = cast((c_int * 4)(1, 2, 3, 4), POINTER(c_int)) - self.assertEqual(p[:4], [1,2, 3, 4]) - self.assertEqual(p[:4:], [1, 2, 3, 4]) - self.assertEqual(p[3:-1:-1], [4, 3, 2, 1]) - self.assertEqual(p[:4:3], [1, 4]) - c_int() - self.assertEqual(p[:4], [1, 2, 3, 4]) - self.assertEqual(p[:4:], [1, 2, 3, 4]) - self.assertEqual(p[3:-1:-1], [4, 3, 2, 1]) - self.assertEqual(p[:4:3], [1, 4]) - p[2] = 96 - self.assertEqual(p[:4], [1, 2, 96, 4]) - self.assertEqual(p[:4:], [1, 2, 96, 4]) - self.assertEqual(p[3:-1:-1], [4, 96, 2, 1]) - self.assertEqual(p[:4:3], [1, 4]) - c_int() - self.assertEqual(p[:4], [1, 2, 96, 4]) - self.assertEqual(p[:4:], [1, 2, 96, 4]) - self.assertEqual(p[3:-1:-1], [4, 96, 2, 1]) - self.assertEqual(p[:4:3], [1, 4]) - - def test_char_p(self): - # This didn't work: bad argument to internal function - s = c_char_p("hiho") - self.assertEqual(cast(cast(s, c_void_p), c_char_p).value, - "hiho") - - try: - c_wchar_p - except NameError: - pass - else: - def test_wchar_p(self): - s = c_wchar_p("hiho") - self.assertEqual(cast(cast(s, c_void_p), c_wchar_p).value, - "hiho") - -if __name__ == "__main__": - unittest.main() |