Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60734 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r60731 | raymond.hettinger | 2008-02-11 19:51:08 +0100 (Mon, 11 Feb 2008) | 1 line

  No need to register classes that already inherit from ABCs.
........
  r60733 | lars.gustaebel | 2008-02-11 20:17:10 +0100 (Mon, 11 Feb 2008) | 2 lines

  Make sure that xstar headers are read correctly.
........
  r60734 | raymond.hettinger | 2008-02-11 21:05:53 +0100 (Mon, 11 Feb 2008) | 1 line

  Add tests for pickletools.optimize().
........
This commit is contained in:
Christian Heimes 2008-02-11 22:57:17 +00:00
parent 1021cc692d
commit 126d29abf8
4 changed files with 32 additions and 2 deletions

View File

@ -1858,7 +1858,7 @@ def optimize(p):
s.append(p[i:j])
i = stop
s.append(p[i:])
return ''.join(s)
return b''.join(s)
##############################################################################
# A symbolic pickle disassembler.

View File

@ -1,3 +1,24 @@
import pickle
import pickletools
from test import test_support
test_support.run_doctest(pickletools)
from test.pickletester import AbstractPickleTests
from test.pickletester import AbstractPickleModuleTests
class OptimizedPickleTests(AbstractPickleTests, AbstractPickleModuleTests):
def dumps(self, arg, proto=0, fast=0):
return pickletools.optimize(pickle.dumps(arg, proto))
def loads(self, buf):
return pickle.loads(buf)
module = pickle
error = KeyError
def test_main():
test_support.run_unittest(OptimizedPickleTests)
test_support.run_doctest(pickletools)
if __name__ == "__main__":
test_main()

View File

@ -207,6 +207,15 @@ class MiscReadTest(ReadTest):
self.assert_(tarinfo.type == tarfile.DIRTYPE,
"v7 dirtype failed")
def test_xstar_type(self):
# The xstar format stores extra atime and ctime fields inside the
# space reserved for the prefix field. The prefix field must be
# ignored in this case, otherwise it will mess up the name.
try:
self.tar.getmember("misc/regtype-xstar")
except KeyError:
self.fail("failed to find misc/regtype-xstar (mangled prefix?)")
def test_check_members(self):
for tarinfo in self.tar:
self.assert_(int(tarinfo.mtime) == 0o7606136617,

Binary file not shown.