MCPcopy Index your code
hub / github.com/python/cpython / test_resize_forbidden

Method test_resize_forbidden

Lib/test/test_bytes.py:1965–1996  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1963 self.assertEqual(c, b"")
1964
1965 def test_resize_forbidden(self):
1966 # #4509: can't resize a bytearray when there are buffer exports, even
1967 # if it wouldn't reallocate the underlying buffer.
1968 # Furthermore, no destructive changes to the buffer may be applied
1969 # before raising the error.
1970 b = bytearray(10)
1971 v = memoryview(b)
1972 def manual_resize(n):
1973 b[1:-1] = range(n + 1, 2*n - 1)
1974 b.resize(10)
1975 orig = b[:]
1976 self.assertRaises(BufferError, b.resize, 11)
1977 self.assertRaises(BufferError, manual_resize, 11)
1978 self.assertEqual(b, orig)
1979 self.assertRaises(BufferError, b.resize, 9)
1980 self.assertEqual(b, orig)
1981 self.assertRaises(BufferError, b.resize, 0)
1982 self.assertEqual(b, orig)
1983 # Other operations implying resize
1984 self.assertRaises(BufferError, b.pop, 0)
1985 self.assertEqual(b, orig)
1986 self.assertRaises(BufferError, b.remove, b[1])
1987 self.assertEqual(b, orig)
1988 def delitem():
1989 del b[1]
1990 self.assertRaises(BufferError, delitem)
1991 self.assertEqual(b, orig)
1992 # deleting a non-contiguous slice
1993 def delslice():
1994 b[1:-1:2] = b""
1995 self.assertRaises(BufferError, delslice)
1996 self.assertEqual(b, orig)
1997
1998 @test.support.cpython_only
1999 def test_obsolete_write_lock(self):

Callers

nothing calls this directly

Calls 3

resizeMethod · 0.45
assertRaisesMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected