[Python-3000-checkins] r60736 - in python/branches/py3k: Lib/pickletools.py Lib/test/test_pickletools.py Lib/test/test_tarfile.py Lib/test/testtar.tar

christian.heimes python-3000-checkins at python.org
Mon Feb 11 23:57:17 CET 2008


Author: christian.heimes
Date: Mon Feb 11 23:57:17 2008
New Revision: 60736

Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/pickletools.py
   python/branches/py3k/Lib/test/test_pickletools.py
   python/branches/py3k/Lib/test/test_tarfile.py
   python/branches/py3k/Lib/test/testtar.tar
Log:
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().
........


Modified: python/branches/py3k/Lib/pickletools.py
==============================================================================
--- python/branches/py3k/Lib/pickletools.py	(original)
+++ python/branches/py3k/Lib/pickletools.py	Mon Feb 11 23:57:17 2008
@@ -1858,7 +1858,7 @@
         s.append(p[i:j])
         i = stop
     s.append(p[i:])
-    return ''.join(s)
+    return b''.join(s)
 
 ##############################################################################
 # A symbolic pickle disassembler.

Modified: python/branches/py3k/Lib/test/test_pickletools.py
==============================================================================
--- python/branches/py3k/Lib/test/test_pickletools.py	(original)
+++ python/branches/py3k/Lib/test/test_pickletools.py	Mon Feb 11 23:57:17 2008
@@ -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()

Modified: python/branches/py3k/Lib/test/test_tarfile.py
==============================================================================
--- python/branches/py3k/Lib/test/test_tarfile.py	(original)
+++ python/branches/py3k/Lib/test/test_tarfile.py	Mon Feb 11 23:57:17 2008
@@ -207,6 +207,15 @@
         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,

Modified: python/branches/py3k/Lib/test/testtar.tar
==============================================================================
Binary files. No diff available.


More information about the Python-3000-checkins mailing list