cpython: 94664fb4354e (original) (raw)
Mercurial > cpython
changeset 99077:94664fb4354e 2.7
Issue #22995: Backported additional tests for non-pickleable types. [#22995]
Serhiy Storchaka storchaka@gmail.com | |
---|---|
date | Thu, 12 Nov 2015 11:36:42 +0200 |
parents | d80954d941c7 |
children | 2b950eba9792 |
files | Lib/test/test_dictviews.py Lib/test/test_zlib.py |
diffstat | 2 files changed, 29 insertions(+), 0 deletions(-)[+] [-] Lib/test/test_dictviews.py 18 Lib/test/test_zlib.py 11 |
line wrap: on
line diff
--- a/Lib/test/test_dictviews.py +++ b/Lib/test/test_dictviews.py @@ -1,3 +1,5 @@ +import copy +import pickle import unittest import collections from test import test_support @@ -186,6 +188,22 @@ class DictSetTest(unittest.TestCase): self.assertIsInstance(d.viewitems(), collections.Iterable) self.assertIsInstance(d.viewitems(), collections.Container)
- def test_copy(self):
d = {1: 10, "a": "ABC"}[](#l1.14)
self.assertRaises(TypeError, copy.copy, d.viewkeys())[](#l1.15)
self.assertRaises(TypeError, copy.copy, d.viewvalues())[](#l1.16)
self.assertRaises(TypeError, copy.copy, d.viewitems())[](#l1.17)
- def test_pickle(self):
d = {1: 10, "a": "ABC"}[](#l1.20)
for proto in range(pickle.HIGHEST_PROTOCOL + 1):[](#l1.21)
self.assertRaises((TypeError, pickle.PicklingError),[](#l1.22)
pickle.dumps, d.viewkeys(), proto)[](#l1.23)
self.assertRaises((TypeError, pickle.PicklingError),[](#l1.24)
pickle.dumps, d.viewvalues(), proto)[](#l1.25)
self.assertRaises((TypeError, pickle.PicklingError),[](#l1.26)
pickle.dumps, d.viewitems(), proto)[](#l1.27)
+ def test_main(): test_support.run_unittest(DictSetTest)
--- a/Lib/test/test_zlib.py +++ b/Lib/test/test_zlib.py @@ -1,6 +1,7 @@ import unittest from test.test_support import TESTFN, run_unittest, import_module, unlink, requires import binascii +import pickle import random from test.test_support import precisionbigmemtest, _1G, _4G import sys @@ -502,6 +503,16 @@ class CompressObjectTestCase(BaseCompres d.flush() self.assertRaises(ValueError, d.copy)
- def test_compresspickle(self):
for proto in range(pickle.HIGHEST_PROTOCOL + 1):[](#l2.16)
with self.assertRaises((TypeError, pickle.PicklingError)):[](#l2.17)
pickle.dumps(zlib.compressobj(zlib.Z_BEST_COMPRESSION), proto)[](#l2.18)
- def test_decompresspickle(self):
for proto in range(pickle.HIGHEST_PROTOCOL + 1):[](#l2.21)
with self.assertRaises((TypeError, pickle.PicklingError)):[](#l2.22)
pickle.dumps(zlib.decompressobj(), proto)[](#l2.23)
+ # Memory use of the following functions takes into account overallocation @precisionbigmemtest(size=_1G + 1024 * 1024, memuse=3)