summaryrefslogtreecommitdiff
path: root/lib/python2.7/ctypes/test/test_frombuffer.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/ctypes/test/test_frombuffer.py')
-rw-r--r--lib/python2.7/ctypes/test/test_frombuffer.py81
1 files changed, 0 insertions, 81 deletions
diff --git a/lib/python2.7/ctypes/test/test_frombuffer.py b/lib/python2.7/ctypes/test/test_frombuffer.py
deleted file mode 100644
index 624fb70..0000000
--- a/lib/python2.7/ctypes/test/test_frombuffer.py
+++ /dev/null
@@ -1,81 +0,0 @@
-from ctypes import *
-import array
-import gc
-import unittest
-
-class X(Structure):
- _fields_ = [("c_int", c_int)]
- init_called = False
- def __init__(self):
- self._init_called = True
-
-class Test(unittest.TestCase):
- def test_fom_buffer(self):
- a = array.array("i", range(16))
- x = (c_int * 16).from_buffer(a)
-
- y = X.from_buffer(a)
- self.assertEqual(y.c_int, a[0])
- self.assertFalse(y.init_called)
-
- self.assertEqual(x[:], a.tolist())
-
- a[0], a[-1] = 200, -200
- self.assertEqual(x[:], a.tolist())
-
- self.assertTrue(a in x._objects.values())
-
- self.assertRaises(ValueError,
- c_int.from_buffer, a, -1)
-
- expected = x[:]
- del a; gc.collect(); gc.collect(); gc.collect()
- self.assertEqual(x[:], expected)
-
- self.assertRaises(TypeError,
- (c_char * 16).from_buffer, "a" * 16)
-
- def test_fom_buffer_with_offset(self):
- a = array.array("i", range(16))
- x = (c_int * 15).from_buffer(a, sizeof(c_int))
-
- self.assertEqual(x[:], a.tolist()[1:])
- self.assertRaises(ValueError, lambda: (c_int * 16).from_buffer(a, sizeof(c_int)))
- self.assertRaises(ValueError, lambda: (c_int * 1).from_buffer(a, 16 * sizeof(c_int)))
-
- def test_from_buffer_copy(self):
- a = array.array("i", range(16))
- x = (c_int * 16).from_buffer_copy(a)
-
- y = X.from_buffer_copy(a)
- self.assertEqual(y.c_int, a[0])
- self.assertFalse(y.init_called)
-
- self.assertEqual(x[:], range(16))
-
- a[0], a[-1] = 200, -200
- self.assertEqual(x[:], range(16))
-
- self.assertEqual(x._objects, None)
-
- self.assertRaises(ValueError,
- c_int.from_buffer, a, -1)
-
- del a; gc.collect(); gc.collect(); gc.collect()
- self.assertEqual(x[:], range(16))
-
- x = (c_char * 16).from_buffer_copy("a" * 16)
- self.assertEqual(x[:], "a" * 16)
-
- def test_fom_buffer_copy_with_offset(self):
- a = array.array("i", range(16))
- x = (c_int * 15).from_buffer_copy(a, sizeof(c_int))
-
- self.assertEqual(x[:], a.tolist()[1:])
- self.assertRaises(ValueError,
- (c_int * 16).from_buffer_copy, a, sizeof(c_int))
- self.assertRaises(ValueError,
- (c_int * 1).from_buffer_copy, a, 16 * sizeof(c_int))
-
-if __name__ == '__main__':
- unittest.main()