summaryrefslogtreecommitdiffstats
path: root/Lib/unittest/test
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2015-03-18 23:01:37 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2015-03-18 23:01:37 (GMT)
commit8eef6a9ad04f6f81190f44ae3ded427e4083baa2 (patch)
tree1efe0d3c609b40de1725719968942f6780f7581f /Lib/unittest/test
parent52a05ab52467ad1df7572f656cf87fc47aa0282d (diff)
parentd833779ceaebeb29352488ffddabf5fc2f070364 (diff)
downloadcpython-8eef6a9ad04f6f81190f44ae3ded427e4083baa2.zip
cpython-8eef6a9ad04f6f81190f44ae3ded427e4083baa2.tar.gz
cpython-8eef6a9ad04f6f81190f44ae3ded427e4083baa2.tar.bz2
Issue #22903: The fake test case created by unittest.loader when it fails importing a test module is now picklable.
Diffstat (limited to 'Lib/unittest/test')
-rw-r--r--Lib/unittest/test/test_discovery.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/unittest/test/test_discovery.py b/Lib/unittest/test/test_discovery.py
index 4f61314..8991f38 100644
--- a/Lib/unittest/test/test_discovery.py
+++ b/Lib/unittest/test/test_discovery.py
@@ -3,6 +3,7 @@ from os.path import abspath
import re
import sys
import types
+import pickle
import builtins
from test import support
@@ -482,6 +483,10 @@ class TestDiscovery(unittest.TestCase):
test.my_package()
self.assertEqual(import_calls, ['my_package'])
+ # Check picklability
+ for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+ pickle.loads(pickle.dumps(test, proto))
+
def test_discover_with_module_that_raises_SkipTest_on_import(self):
loader = unittest.TestLoader()
@@ -498,6 +503,10 @@ class TestDiscovery(unittest.TestCase):
suite.run(result)
self.assertEqual(len(result.skipped), 1)
+ # Check picklability
+ for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+ pickle.loads(pickle.dumps(suite, proto))
+
def test_discover_with_init_module_that_raises_SkipTest_on_import(self):
vfs = {abspath('/foo'): ['my_package'],
abspath('/foo/my_package'): ['__init__.py', 'test_module.py']}
@@ -518,6 +527,10 @@ class TestDiscovery(unittest.TestCase):
self.assertEqual(result.testsRun, 1)
self.assertEqual(import_calls, ['my_package'])
+ # Check picklability
+ for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+ pickle.loads(pickle.dumps(suite, proto))
+
def test_command_line_handling_parseArgs(self):
program = TestableTestProgram()