From 8ca6d9884bcbdd05fe270e75e10f51af614e22a2 Mon Sep 17 00:00:00 2001 From: Michael Foord Date: Sat, 20 Nov 2010 15:34:26 +0000 Subject: Issue 10326: TestCase instances can now be pickled (they store names of instance methods instead of references to the instance methods themselves). --- Lib/unittest/test/test_case.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'Lib/unittest/test/test_case.py') diff --git a/Lib/unittest/test/test_case.py b/Lib/unittest/test/test_case.py index 1bd839f27e..444b58be06 100644 --- a/Lib/unittest/test/test_case.py +++ b/Lib/unittest/test/test_case.py @@ -1,5 +1,6 @@ import difflib import pprint +import pickle import re import sys import warnings @@ -1095,3 +1096,14 @@ test case # This shouldn't blow up deepcopy(test) + + def testPickle(self): + # Issue 10326 + + # Can't use TestCase classes defined in Test class as + # pickle does not work with inner classes + test = unittest.TestCase('run') + for protocol in range(pickle.HIGHEST_PROTOCOL + 1): + + # blew up prior to fix + pickled_test = pickle.dumps(test, protocol=protocol) -- cgit v1.2.1