summaryrefslogtreecommitdiff
path: root/test/LedgerHarness.py
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2010-06-15 06:28:30 -0400
committerJohn Wiegley <johnw@newartisans.com>2010-06-15 06:28:30 -0400
commitbe91f38ab4ccdba6006106d45fd7061db2110470 (patch)
tree25874de7e90c34224c842e6b716ca9e82fe01028 /test/LedgerHarness.py
parentf3bedb88b24ae8b2047ad86e57b161265c2812f5 (diff)
parent968a6f3c0ac4690a6fc74e8d84058bce91019c2e (diff)
downloadledger-be91f38ab4ccdba6006106d45fd7061db2110470.tar.gz
ledger-be91f38ab4ccdba6006106d45fd7061db2110470.tar.bz2
ledger-be91f38ab4ccdba6006106d45fd7061db2110470.zip
Merge branch 'next'
Diffstat (limited to 'test/LedgerHarness.py')
-rwxr-xr-xtest/LedgerHarness.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/LedgerHarness.py b/test/LedgerHarness.py
index ea8290d4..44e4e61c 100755
--- a/test/LedgerHarness.py
+++ b/test/LedgerHarness.py
@@ -6,6 +6,27 @@ import re
from subprocess import Popen, PIPE
+import copy_reg
+import types
+
+def _pickle_method(method):
+ func_name = method.im_func.__name__
+ obj = method.im_self
+ cls = method.im_class
+ return _unpickle_method, (func_name, obj, cls)
+
+def _unpickle_method(func_name, obj, cls):
+ for cls in cls.mro():
+ try:
+ func = cls.__dict__[func_name]
+ except KeyError:
+ pass
+ else:
+ break
+ return func.__get__(obj, cls)
+
+copy_reg.pickle(types.MethodType, _pickle_method, _unpickle_method)
+
class LedgerHarness:
ledger = None
sourcepath = None