diff options
-rw-r--r-- | Lib/os.py | 20 | ||||
-rw-r--r-- | Lib/test/pickletester.py | 11 |
2 files changed, 31 insertions, 0 deletions
@@ -602,3 +602,23 @@ if _exists("fork"): stdout, stdin = popen2.popen4(cmd, bufsize) return stdin, stdout __all__.append("popen4") + +import copy_reg as _copy_reg + +def _make_stat_result(tup, dict): + return stat_result(tup, dict) + +def _pickle_stat_result(sr): + (type, args) = sr.__reduce__() + return (_make_stat_result, args) + +_copy_reg.pickle(stat_result, _pickle_stat_result,_make_stat_result) + +def _make_statvfs_result(tup, dict): + return statvfs_result(tup, dict) + +def _pickle_statvfs_result(sr): + (type, args) = sr.__reduce__() + return (_make_statvfs_result, args) + +_copy_reg.pickle(statvfs_result, _pickle_statvfs_result,_make_statvfs_result) diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py index e2d2580..e16428f 100644 --- a/Lib/test/pickletester.py +++ b/Lib/test/pickletester.py @@ -254,6 +254,17 @@ class AbstractPickleTests(unittest.TestCase): s = self.dumps(t) u = self.loads(s) self.assertEqual(t, u) + import os + if hasattr(os, "stat"): + t = os.stat(os.curdir) + s = self.dumps(t) + u = self.loads(s) + self.assertEqual(t, u) + if hasattr(os, "statvfs"): + t = os.statvfs(os.curdir) + s = self.dumps(t) + u = self.loads(s) + self.assertEqual(t, u) class AbstractPickleModuleTests(unittest.TestCase): |