Changeset 391 for python/trunk/Lib/test/test_cpickle.py
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Lib/test/test_cpickle.py
r2 r391 1 import cPickle, unittest 2 from cStringIO import StringIO 3 from test.pickletester import AbstractPickleTests, AbstractPickleModuleTests 1 import cPickle 2 import cStringIO 3 import io 4 import unittest 5 from test.pickletester import (AbstractPickleTests, 6 AbstractPickleModuleTests, 7 AbstractPicklerUnpicklerObjectTests, 8 BigmemPickleTests) 4 9 from test import test_support 10 11 class cStringIOMixin: 12 output = input = cStringIO.StringIO 13 14 def close(self, f): 15 pass 16 17 class BytesIOMixin: 18 output = input = io.BytesIO 19 20 def close(self, f): 21 pass 22 23 class FileIOMixin: 24 25 def output(self): 26 return open(test_support.TESTFN, 'wb+') 27 28 def input(self, data): 29 f = open(test_support.TESTFN, 'wb+') 30 try: 31 f.write(data) 32 f.seek(0) 33 return f 34 except: 35 f.close() 36 raise 37 38 def close(self, f): 39 f.close() 40 test_support.unlink(test_support.TESTFN) 41 5 42 6 43 class cPickleTests(AbstractPickleTests, AbstractPickleModuleTests): … … 16 53 17 54 def dumps(self, arg, proto=0): 18 f = StringIO() 19 p = cPickle.Pickler(f, proto) 20 p.dump(arg) 21 f.seek(0) 22 return f.read() 55 f = self.output() 56 try: 57 p = cPickle.Pickler(f, proto) 58 p.dump(arg) 59 f.seek(0) 60 return f.read() 61 finally: 62 self.close(f) 23 63 24 64 def loads(self, buf): 25 f = StringIO(buf) 26 p = cPickle.Unpickler(f) 27 return p.load() 28 29 error = cPickle.BadPickleGet 65 f = self.input(buf) 66 try: 67 p = cPickle.Unpickler(f) 68 return p.load() 69 finally: 70 self.close(f) 71 72 error = cPickle.BadPickleGet 73 74 class cStringIOCPicklerTests(cStringIOMixin, cPicklePicklerTests): 75 pass 76 77 class BytesIOCPicklerTests(BytesIOMixin, cPicklePicklerTests): 78 pass 79 80 class FileIOCPicklerTests(FileIOMixin, cPicklePicklerTests): 81 pass 82 30 83 31 84 class cPickleListPicklerTests(AbstractPickleTests): … … 37 90 38 91 def loads(self, *args): 39 f = StringIO(args[0]) 40 p = cPickle.Unpickler(f) 41 return p.load() 42 43 error = cPickle.BadPickleGet 92 f = self.input(args[0]) 93 try: 94 p = cPickle.Unpickler(f) 95 return p.load() 96 finally: 97 self.close(f) 98 99 error = cPickle.BadPickleGet 100 101 class cStringIOCPicklerListTests(cStringIOMixin, cPickleListPicklerTests): 102 pass 103 104 class BytesIOCPicklerListTests(BytesIOMixin, cPickleListPicklerTests): 105 pass 106 107 class FileIOCPicklerListTests(FileIOMixin, cPickleListPicklerTests): 108 pass 109 44 110 45 111 class cPickleFastPicklerTests(AbstractPickleTests): 46 112 47 113 def dumps(self, arg, proto=0): 48 f = StringIO() 49 p = cPickle.Pickler(f, proto) 50 p.fast = 1 51 p.dump(arg) 52 f.seek(0) 53 return f.read() 114 f = self.output() 115 try: 116 p = cPickle.Pickler(f, proto) 117 p.fast = 1 118 p.dump(arg) 119 f.seek(0) 120 return f.read() 121 finally: 122 self.close(f) 54 123 55 124 def loads(self, *args): 56 f = StringIO(args[0]) 57 p = cPickle.Unpickler(f) 58 return p.load() 125 f = self.input(args[0]) 126 try: 127 p = cPickle.Unpickler(f) 128 return p.load() 129 finally: 130 self.close(f) 59 131 60 132 error = cPickle.BadPickleGet … … 96 168 self.assertEqual(a, b) 97 169 170 class cStringIOCPicklerFastTests(cStringIOMixin, cPickleFastPicklerTests): 171 pass 172 173 class BytesIOCPicklerFastTests(BytesIOMixin, cPickleFastPicklerTests): 174 pass 175 176 class FileIOCPicklerFastTests(FileIOMixin, cPickleFastPicklerTests): 177 pass 178 179 180 class cPicklePicklerUnpicklerObjectTests(AbstractPicklerUnpicklerObjectTests): 181 182 pickler_class = cPickle.Pickler 183 unpickler_class = cPickle.Unpickler 184 185 class cPickleBigmemPickleTests(BigmemPickleTests): 186 187 def dumps(self, arg, proto=0, fast=0): 188 # Ignore fast 189 return cPickle.dumps(arg, proto) 190 191 def loads(self, buf): 192 # Ignore fast 193 return cPickle.loads(buf) 194 195 98 196 class Node(object): 99 197 pass … … 122 220 test_support.run_unittest( 123 221 cPickleTests, 124 cPicklePicklerTests, 125 cPickleListPicklerTests, 126 cPickleFastPicklerTests, 222 cStringIOCPicklerTests, 223 BytesIOCPicklerTests, 224 FileIOCPicklerTests, 225 cStringIOCPicklerListTests, 226 BytesIOCPicklerListTests, 227 FileIOCPicklerListTests, 228 cStringIOCPicklerFastTests, 229 BytesIOCPicklerFastTests, 230 FileIOCPicklerFastTests, 127 231 cPickleDeepRecursive, 232 cPicklePicklerUnpicklerObjectTests, 233 cPickleBigmemPickleTests, 128 234 ) 129 235
Note:
See TracChangeset
for help on using the changeset viewer.