Fix fuzz testing for marshal.loads(). (GH-8106)
(cherry picked from commit 09bb918a61031377d720f1a0fa1fe53c962791b6)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
diff --git a/Lib/test/test_marshal.py b/Lib/test/test_marshal.py
index a20ad67..a3bd350 100644
--- a/Lib/test/test_marshal.py
+++ b/Lib/test/test_marshal.py
@@ -192,8 +192,8 @@
marshal.dumps([128] * 1000)
def test_patch_873224(self):
- self.assertRaises(Exception, marshal.loads, '0')
- self.assertRaises(Exception, marshal.loads, 'f')
+ self.assertRaises(Exception, marshal.loads, b'0')
+ self.assertRaises(Exception, marshal.loads, b'f')
self.assertRaises(Exception, marshal.loads, marshal.dumps(2**65)[:-1])
def test_version_argument(self):
@@ -204,7 +204,8 @@
def test_fuzz(self):
# simple test that it's at least not *totally* trivial to
# crash from bad marshal data
- for c in [chr(i) for i in range(256)]:
+ for i in range(256):
+ c = bytes([i])
try:
marshal.loads(c)
except Exception:
@@ -318,7 +319,7 @@
self.assertRaises(ValueError, marshal.load,
BadReader(marshal.dumps(value)))
- def _test_eof(self):
+ def test_eof(self):
data = marshal.dumps(("hello", "dolly", None))
for i in range(len(data)):
self.assertRaises(EOFError, marshal.loads, data[0: i])