diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2018-07-26 10:23:03 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-26 10:23:03 (GMT) |
commit | e0d67f17ccb4645ff88c9a018679b8a5b4fe0a7e (patch) | |
tree | 07a2265f19cf308d1d1ffbcb967306e77aef6601 /Lib | |
parent | 7cb7bcff20a386bba59cbc51e2419542de358bd2 (diff) | |
download | cpython-e0d67f17ccb4645ff88c9a018679b8a5b4fe0a7e.zip cpython-e0d67f17ccb4645ff88c9a018679b8a5b4fe0a7e.tar.gz cpython-e0d67f17ccb4645ff88c9a018679b8a5b4fe0a7e.tar.bz2 |
bpo-34201: Make ndarray.readonly a bool and use stricter tests in test_buffer. (GH-8414)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_buffer.py | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/Lib/test/test_buffer.py b/Lib/test/test_buffer.py index a3f3ef0..549daa5 100644 --- a/Lib/test/test_buffer.py +++ b/Lib/test/test_buffer.py @@ -761,10 +761,10 @@ class TestBufferProtocol(unittest.TestCase): # The suboffsets tests need sizeof(void *). self.sizeof_void_p = get_sizeof_void_p() - def verify(self, result, obj=-1, - itemsize={1}, fmt=-1, readonly={1}, - ndim={1}, shape=-1, strides=-1, - lst=-1, sliced=False, cast=False): + def verify(self, result, *, obj, + itemsize, fmt, readonly, + ndim, shape, strides, + lst, sliced=False, cast=False): # Verify buffer contents against expected values. Default values # are deliberately initialized to invalid types. if shape: @@ -800,7 +800,7 @@ class TestBufferProtocol(unittest.TestCase): self.assertEqual(result.nbytes, expected_len) self.assertEqual(result.itemsize, itemsize) self.assertEqual(result.format, fmt) - self.assertEqual(result.readonly, readonly) + self.assertIs(result.readonly, readonly) self.assertEqual(result.ndim, ndim) self.assertEqual(result.shape, tuple(shape)) if not (sliced and suboffsets): @@ -978,7 +978,7 @@ class TestBufferProtocol(unittest.TestCase): lst = nd.tolist() # The consumer may have requested default values or a NULL format. - ro = 0 if match(req, PyBUF_WRITABLE) else ex.readonly + ro = not match(req, PyBUF_WRITABLE) and ex.readonly fmt = ex.format itemsize = ex.itemsize ndim = ex.ndim @@ -1284,7 +1284,7 @@ class TestBufferProtocol(unittest.TestCase): itemsize = struct.calcsize(fmt) nd = ndarray(scalar, shape=(), format=fmt) self.verify(nd, obj=None, - itemsize=itemsize, fmt=fmt, readonly=1, + itemsize=itemsize, fmt=fmt, readonly=True, ndim=0, shape=(), strides=(), lst=scalar) @@ -1296,7 +1296,7 @@ class TestBufferProtocol(unittest.TestCase): for flags in (0, ND_PIL): nd = ndarray(items, shape=[nitems], format=fmt, flags=flags) self.verify(nd, obj=None, - itemsize=itemsize, fmt=fmt, readonly=1, + itemsize=itemsize, fmt=fmt, readonly=True, ndim=1, shape=(nitems,), strides=(itemsize,), lst=items) @@ -1317,7 +1317,7 @@ class TestBufferProtocol(unittest.TestCase): nd = ndarray(items, shape=shape, strides=strides, format=fmt, offset=offset, flags=flags) self.verify(nd, obj=None, - itemsize=itemsize, fmt=fmt, readonly=1, + itemsize=itemsize, fmt=fmt, readonly=True, ndim=1, shape=shape, strides=strides, lst=items[::step]) @@ -1346,7 +1346,7 @@ class TestBufferProtocol(unittest.TestCase): strides = strides_from_shape(ndim, shape, itemsize, 'C') lst = carray(items, shape) self.verify(nd, obj=None, - itemsize=itemsize, fmt=fmt, readonly=1, + itemsize=itemsize, fmt=fmt, readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst) @@ -1357,7 +1357,7 @@ class TestBufferProtocol(unittest.TestCase): self.assertTrue(nd.strides == ()) mv = nd.memoryview_from_buffer() self.verify(mv, obj=None, - itemsize=itemsize, fmt=fmt, readonly=1, + itemsize=itemsize, fmt=fmt, readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst) @@ -1368,7 +1368,7 @@ class TestBufferProtocol(unittest.TestCase): strides = strides_from_shape(ndim, shape, itemsize, 'F') lst = farray(items, shape) self.verify(nd, obj=None, - itemsize=itemsize, fmt=fmt, readonly=1, + itemsize=itemsize, fmt=fmt, readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst) @@ -1816,7 +1816,7 @@ class TestBufferProtocol(unittest.TestCase): self.assertEqual(mv, nd) self.assertIs(mverr, lsterr) self.verify(mv, obj=ex, - itemsize=nd.itemsize, fmt=fmt, readonly=0, + itemsize=nd.itemsize, fmt=fmt, readonly=False, ndim=nd.ndim, shape=nd.shape, strides=nd.strides, lst=nd.tolist()) @@ -1890,7 +1890,7 @@ class TestBufferProtocol(unittest.TestCase): continue # http://projects.scipy.org/numpy/ticket/1910 z = numpy_array_from_structure(items, fmt, t) self.verify(x, obj=None, - itemsize=z.itemsize, fmt=fmt, readonly=0, + itemsize=z.itemsize, fmt=fmt, readonly=False, ndim=z.ndim, shape=z.shape, strides=z.strides, lst=z.tolist()) @@ -1975,12 +1975,12 @@ class TestBufferProtocol(unittest.TestCase): # Slice assignment of overlapping structures # is undefined in NumPy. self.verify(xl, obj=None, - itemsize=zl.itemsize, fmt=fmt, readonly=0, + itemsize=zl.itemsize, fmt=fmt, readonly=False, ndim=zl.ndim, shape=zl.shape, strides=zl.strides, lst=zl.tolist()) self.verify(xr, obj=None, - itemsize=zr.itemsize, fmt=fmt, readonly=0, + itemsize=zr.itemsize, fmt=fmt, readonly=False, ndim=zr.ndim, shape=zr.shape, strides=zr.strides, lst=zr.tolist()) @@ -2358,14 +2358,14 @@ class TestBufferProtocol(unittest.TestCase): lst = carray(items, shape) self.verify(m, obj=ex, - itemsize=1, fmt='B', readonly=1, + itemsize=1, fmt='B', readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst) # From memoryview: m2 = memoryview(m) self.verify(m2, obj=ex, - itemsize=1, fmt='B', readonly=1, + itemsize=1, fmt='B', readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst) @@ -2374,7 +2374,7 @@ class TestBufferProtocol(unittest.TestCase): self.assertEqual(nd.strides, ()) m = nd.memoryview_from_buffer() self.verify(m, obj=None, - itemsize=1, fmt='B', readonly=1, + itemsize=1, fmt='B', readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst) @@ -2387,7 +2387,7 @@ class TestBufferProtocol(unittest.TestCase): lst = [items] if ndim == 0 else items self.verify(m, obj=None, - itemsize=1, fmt='B', readonly=1, + itemsize=1, fmt='B', readonly=True, ndim=1, shape=[ex.nbytes], strides=(1,), lst=lst) @@ -2405,14 +2405,14 @@ class TestBufferProtocol(unittest.TestCase): lst = farray(items, shape) self.verify(m, obj=ex, - itemsize=1, fmt='B', readonly=1, + itemsize=1, fmt='B', readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst) # From memoryview: m2 = memoryview(m) self.verify(m2, obj=ex, - itemsize=1, fmt='B', readonly=1, + itemsize=1, fmt='B', readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst) @@ -2427,14 +2427,14 @@ class TestBufferProtocol(unittest.TestCase): lst = carray(items, shape) self.verify(m, obj=ex, - itemsize=1, fmt='B', readonly=1, + itemsize=1, fmt='B', readonly=True, ndim=ndim, shape=shape, strides=ex.strides, lst=lst) # From memoryview: m2 = memoryview(m) self.verify(m2, obj=ex, - itemsize=1, fmt='B', readonly=1, + itemsize=1, fmt='B', readonly=True, ndim=ndim, shape=shape, strides=ex.strides, lst=lst) @@ -2684,7 +2684,7 @@ class TestBufferProtocol(unittest.TestCase): m2 = m.cast(bytefmt) lst = to_bytelist(ex) self.verify(m2, obj=ex, - itemsize=1, fmt=bytefmt, readonly=0, + itemsize=1, fmt=bytefmt, readonly=False, ndim=1, shape=[31*srcsize], strides=(1,), lst=lst, cast=True) @@ -2692,7 +2692,7 @@ class TestBufferProtocol(unittest.TestCase): self.assertEqual(m3, ex) lst = ex.tolist() self.verify(m3, obj=ex, - itemsize=srcsize, fmt=fmt, readonly=0, + itemsize=srcsize, fmt=fmt, readonly=False, ndim=1, shape=[31], strides=(srcsize,), lst=lst, cast=True) @@ -2703,7 +2703,7 @@ class TestBufferProtocol(unittest.TestCase): m = memoryview(ex) m2 = m.cast('B') self.verify(m2, obj=ex, - itemsize=1, fmt='B', readonly=1, + itemsize=1, fmt='B', readonly=True, ndim=1, shape=destshape, strides=(1,), lst=destitems, cast=True) @@ -2714,7 +2714,7 @@ class TestBufferProtocol(unittest.TestCase): m = memoryview(ex) m2 = m.cast('I', shape=[]) self.verify(m2, obj=ex, - itemsize=destsize, fmt='I', readonly=1, + itemsize=destsize, fmt='I', readonly=True, ndim=0, shape=(), strides=(), lst=destitems, cast=True) @@ -2763,7 +2763,7 @@ class TestBufferProtocol(unittest.TestCase): strides = nd.strides lst = nd.tolist() self.verify(m2, obj=ex, - itemsize=tsize, fmt=tfmt, readonly=1, + itemsize=tsize, fmt=tfmt, readonly=True, ndim=ndim, shape=tshape, strides=strides, lst=lst, cast=True) @@ -2775,12 +2775,12 @@ class TestBufferProtocol(unittest.TestCase): lst = ex.tolist() self.verify(m3, obj=ex, - itemsize=size, fmt=fmt, readonly=1, + itemsize=size, fmt=fmt, readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst, cast=True) self.verify(m4, obj=ex, - itemsize=size, fmt=fmt, readonly=1, + itemsize=size, fmt=fmt, readonly=True, ndim=ndim, shape=shape, strides=strides, lst=lst, cast=True) @@ -2793,7 +2793,7 @@ class TestBufferProtocol(unittest.TestCase): m2 = m1.cast('B') self.assertEqual(m2.obj, point) self.assertEqual(m2.itemsize, 1) - self.assertEqual(m2.readonly, 0) + self.assertIs(m2.readonly, False) self.assertEqual(m2.ndim, 1) self.assertEqual(m2.shape, (m2.nbytes,)) self.assertEqual(m2.strides, (1,)) @@ -2804,7 +2804,7 @@ class TestBufferProtocol(unittest.TestCase): m2 = m1.cast('c') self.assertEqual(m2.obj, x) self.assertEqual(m2.itemsize, 1) - self.assertEqual(m2.readonly, 0) + self.assertIs(m2.readonly, False) self.assertEqual(m2.ndim, 1) self.assertEqual(m2.shape, (m2.nbytes,)) self.assertEqual(m2.strides, (1,)) @@ -2972,7 +2972,7 @@ class TestBufferProtocol(unittest.TestCase): flags=ND_WRITABLE) m = memoryview(ex) m[1] = True - self.assertEqual(m[1], True) + self.assertIs(m[1], True) # pack_single() exceptions: nd = ndarray([b'x'], shape=[1], format='c', flags=ND_WRITABLE) @@ -4306,7 +4306,7 @@ class TestBufferProtocol(unittest.TestCase): x = staticarray() y = memoryview(x) self.verify(y, obj=x, - itemsize=1, fmt=fmt, readonly=1, + itemsize=1, fmt=fmt, readonly=True, ndim=1, shape=[12], strides=[1], lst=lst) for i in range(12): @@ -4326,7 +4326,7 @@ class TestBufferProtocol(unittest.TestCase): self.assertIs(y.obj, x) self.assertIs(m.obj, z) self.verify(m, obj=z, - itemsize=1, fmt=fmt, readonly=1, + itemsize=1, fmt=fmt, readonly=True, ndim=1, shape=[12], strides=[1], lst=lst) del x, y, z, m @@ -4339,7 +4339,7 @@ class TestBufferProtocol(unittest.TestCase): self.assertIs(z.obj, x) self.assertIs(m.obj, x) self.verify(m, obj=x, - itemsize=1, fmt=fmt, readonly=1, + itemsize=1, fmt=fmt, readonly=True, ndim=1, shape=[12], strides=[1], lst=lst) del x, y, z, m @@ -4348,7 +4348,7 @@ class TestBufferProtocol(unittest.TestCase): x = staticarray(legacy_mode=True) y = memoryview(x) self.verify(y, obj=None, - itemsize=1, fmt=fmt, readonly=1, + itemsize=1, fmt=fmt, readonly=True, ndim=1, shape=[12], strides=[1], lst=lst) for i in range(12): @@ -4368,7 +4368,7 @@ class TestBufferProtocol(unittest.TestCase): self.assertIs(y.obj, None) self.assertIs(m.obj, z) self.verify(m, obj=z, - itemsize=1, fmt=fmt, readonly=1, + itemsize=1, fmt=fmt, readonly=True, ndim=1, shape=[12], strides=[1], lst=lst) del x, y, z, m @@ -4383,7 +4383,7 @@ class TestBufferProtocol(unittest.TestCase): self.assertIs(z.obj, y) self.assertIs(m.obj, y) self.verify(m, obj=y, - itemsize=1, fmt=fmt, readonly=1, + itemsize=1, fmt=fmt, readonly=True, ndim=1, shape=[12], strides=[1], lst=lst) del x, y, z, m |