diff options
author | Alexander Belopolsky <alexander.belopolsky@gmail.com> | 2011-02-24 20:34:38 (GMT) |
---|---|---|
committer | Alexander Belopolsky <alexander.belopolsky@gmail.com> | 2011-02-24 20:34:38 (GMT) |
commit | ec8f0df2296cfb88cd932eeb053edaa316600725 (patch) | |
tree | 94137b33f9b53ce5a2034844d8aa6d26c8a48905 /Lib/test | |
parent | f4977d2f503fb8c2dd2376936683653f0d94c3e7 (diff) | |
download | cpython-ec8f0df2296cfb88cd932eeb053edaa316600725.zip cpython-ec8f0df2296cfb88cd932eeb053edaa316600725.tar.gz cpython-ec8f0df2296cfb88cd932eeb053edaa316600725.tar.bz2 |
Merged revisions 88546 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r88546 | alexander.belopolsky | 2011-02-24 14:40:09 -0500 (Thu, 24 Feb 2011) | 3 lines
Issue #11286: Fixed unpickling of empty 2.x strings.
........
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/pickletester.py | 4 | ||||
-rw-r--r-- | Lib/test/test_pickle.py | 12 | ||||
-rw-r--r-- | Lib/test/test_pickletools.py | 4 |
3 files changed, 12 insertions, 8 deletions
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py index 3ae7def..a843486 100644 --- a/Lib/test/pickletester.py +++ b/Lib/test/pickletester.py @@ -1093,6 +1093,10 @@ class AbstractPickleTests(unittest.TestCase): self.assertEqual(len(loaded), len(data)) self.assertEqual(loaded, data) + def test_empty_bytestring(self): + # issue 11286 + empty = self.loads(b'\x80\x03U\x00q\x00.', encoding='koi8-r') + self.assertEqual(empty, '') # Test classes for reduce_ex diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py index 7f642c8..a3878fd 100644 --- a/Lib/test/test_pickle.py +++ b/Lib/test/test_pickle.py @@ -31,9 +31,9 @@ class PyPicklerTests(AbstractPickleTests): f.seek(0) return bytes(f.read()) - def loads(self, buf): + def loads(self, buf, **kwds): f = io.BytesIO(buf) - u = self.unpickler(f) + u = self.unpickler(f, **kwds) return u.load() @@ -45,8 +45,8 @@ class InMemoryPickleTests(AbstractPickleTests): def dumps(self, arg, proto=None): return pickle.dumps(arg, proto) - def loads(self, buf): - return pickle.loads(buf) + def loads(self, buf, **kwds): + return pickle.loads(buf, **kwds) class PyPersPicklerTests(AbstractPersistentPicklerTests): @@ -64,12 +64,12 @@ class PyPersPicklerTests(AbstractPersistentPicklerTests): f.seek(0) return f.read() - def loads(self, buf): + def loads(self, buf, **kwds): class PersUnpickler(self.unpickler): def persistent_load(subself, obj): return self.persistent_load(obj) f = io.BytesIO(buf) - u = PersUnpickler(f) + u = PersUnpickler(f, **kwds) return u.load() diff --git a/Lib/test/test_pickletools.py b/Lib/test/test_pickletools.py index 823b0c2..d37ac26 100644 --- a/Lib/test/test_pickletools.py +++ b/Lib/test/test_pickletools.py @@ -9,8 +9,8 @@ class OptimizedPickleTests(AbstractPickleTests, AbstractPickleModuleTests): def dumps(self, arg, proto=None): return pickletools.optimize(pickle.dumps(arg, proto)) - def loads(self, buf): - return pickle.loads(buf) + def loads(self, buf, **kwds): + return pickle.loads(buf, **kwds) # Test relies on precise output of dumps() test_pickle_to_2x = None |