diff options
author | Christian Heimes <christian@cheimes.de> | 2008-02-11 22:57:17 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2008-02-11 22:57:17 (GMT) |
commit | 126d29abf8517dd897372d6ff920c30b3d7a81e8 (patch) | |
tree | cfd4415ab86efd36f3878036221971fb9aa597e5 | |
parent | 1021cc692d392f4c34791cf22e942dd1b1e0f519 (diff) | |
download | cpython-126d29abf8517dd897372d6ff920c30b3d7a81e8.zip cpython-126d29abf8517dd897372d6ff920c30b3d7a81e8.tar.gz cpython-126d29abf8517dd897372d6ff920c30b3d7a81e8.tar.bz2 |
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().
........
-rw-r--r-- | Lib/pickletools.py | 2 | ||||
-rw-r--r-- | Lib/test/test_pickletools.py | 23 | ||||
-rw-r--r-- | Lib/test/test_tarfile.py | 9 | ||||
-rw-r--r-- | Lib/test/testtar.tar | bin | 264704 -> 272384 bytes |
4 files changed, 32 insertions, 2 deletions
diff --git a/Lib/pickletools.py b/Lib/pickletools.py index 1b6967a..ca09c03 100644 --- a/Lib/pickletools.py +++ b/Lib/pickletools.py @@ -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. diff --git a/Lib/test/test_pickletools.py b/Lib/test/test_pickletools.py index 2e2fe50..3e5b35a 100644 --- a/Lib/test/test_pickletools.py +++ b/Lib/test/test_pickletools.py @@ -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() diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py index 91cf024..2fbb51e 100644 --- a/Lib/test/test_tarfile.py +++ b/Lib/test/test_tarfile.py @@ -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, diff --git a/Lib/test/testtar.tar b/Lib/test/testtar.tar Binary files differindex 3529bdf..b5bb46b 100644 --- a/Lib/test/testtar.tar +++ b/Lib/test/testtar.tar |