Issue #19219: Speed up marshal.loads(), and make pyc files slightly (5% to 10%) smaller.

This commit is contained in:
Antoine Pitrou 2013-10-12 22:25:39 +02:00
parent 4c6ed25b96
commit 1164dfcb86
4 changed files with 3472 additions and 3555 deletions

View file

@ -262,11 +262,11 @@ class BugsTestCase(unittest.TestCase):
def test_bad_reader(self):
class BadReader(io.BytesIO):
def read(self, n=-1):
b = super().read(n)
def readinto(self, buf):
n = super().readinto(buf)
if n is not None and n > 4:
b += b' ' * 10**6
return b
n += 10**6
return n
for value in (1.0, 1j, b'0123456789', '0123456789'):
self.assertRaises(ValueError, marshal.load,
BadReader(marshal.dumps(value)))