summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2020-06-04 17:22:36 (GMT)
committerGitHub <noreply@github.com>2020-06-04 17:22:36 (GMT)
commit196810a98ab07714df3d329c325575ac36e61318 (patch)
treefe6a1d5f3f287579899bd1360ac2d47d8f7ccd89
parent6d62dc1ea4e191b8486e80a85ca0694215375424 (diff)
downloadcpython-196810a98ab07714df3d329c325575ac36e61318.zip
cpython-196810a98ab07714df3d329c325575ac36e61318.tar.gz
cpython-196810a98ab07714df3d329c325575ac36e61318.tar.bz2
bpo-17258: Add requires_hashdigest to multiprocessing tests (GH-20412)
Skip some :mod:`multiprocessing` tests when MD5 hash digest is blocked. Signed-off-by: Christian Heimes <christian@python.org> (cherry picked from commit b022e5cffbd3ff51ae361cf80f2a3b660be8b1ee) Co-authored-by: Christian Heimes <christian@python.org>
-rw-r--r--Lib/test/_test_multiprocessing.py10
-rw-r--r--Lib/test/test_concurrent_futures.py2
-rw-r--r--Misc/NEWS.d/next/Tests/2020-05-26-07-53-31.bpo-17258.X_IKTQ.rst1
3 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
index 155a827..cceba7a 100644
--- a/Lib/test/_test_multiprocessing.py
+++ b/Lib/test/_test_multiprocessing.py
@@ -26,6 +26,7 @@ import warnings
import test.support
import test.support.script_helper
from test import support
+from test.support import hashlib_helper
from test.support import socket_helper
@@ -2953,6 +2954,8 @@ class _TestRemoteManager(BaseTestCase):
# Make queue finalizer run before the server is stopped
del queue
+
+@hashlib_helper.requires_hashdigest('md5')
class _TestManagerRestart(BaseTestCase):
@classmethod
@@ -3437,6 +3440,7 @@ class _TestPoll(BaseTestCase):
#
@unittest.skipUnless(HAS_REDUCTION, "test needs multiprocessing.reduction")
+@hashlib_helper.requires_hashdigest('md5')
class _TestPicklingConnections(BaseTestCase):
ALLOWED_TYPES = ('processes',)
@@ -3739,6 +3743,7 @@ class _TestSharedCTypes(BaseTestCase):
@unittest.skipUnless(HAS_SHMEM, "requires multiprocessing.shared_memory")
+@hashlib_helper.requires_hashdigest('md5')
class _TestSharedMemory(BaseTestCase):
ALLOWED_TYPES = ('processes',)
@@ -4414,6 +4419,7 @@ class TestInvalidHandle(unittest.TestCase):
+@hashlib_helper.requires_hashdigest('md5')
class OtherTest(unittest.TestCase):
# TODO: add more tests for deliver/answer challenge.
def test_deliver_challenge_auth_failure(self):
@@ -4450,6 +4456,7 @@ class OtherTest(unittest.TestCase):
def initializer(ns):
ns.test += 1
+@hashlib_helper.requires_hashdigest('md5')
class TestInitializers(unittest.TestCase):
def setUp(self):
self.mgr = multiprocessing.Manager()
@@ -5304,6 +5311,7 @@ class TestPoolNotLeakOnFailure(unittest.TestCase):
any(process.is_alive() for process in forked_processes))
+@hashlib_helper.requires_hashdigest('md5')
class TestSyncManagerTypes(unittest.TestCase):
"""Test all the types which can be shared between a parent and a
child process by using a manager which acts as an intermediary
@@ -5698,6 +5706,8 @@ def install_tests_in_module_dict(remote_globs, start_method):
Mixin = local_globs[type_.capitalize() + 'Mixin']
class Temp(base, Mixin, unittest.TestCase):
pass
+ if type_ == 'manager':
+ Temp = hashlib_helper.requires_hashdigest('md5')(Temp)
Temp.__name__ = Temp.__qualname__ = newname
Temp.__module__ = __module__
remote_globs[newname] = Temp
diff --git a/Lib/test/test_concurrent_futures.py b/Lib/test/test_concurrent_futures.py
index 40597ff..bb2bc75 100644
--- a/Lib/test/test_concurrent_futures.py
+++ b/Lib/test/test_concurrent_futures.py
@@ -5,6 +5,7 @@ support.import_module('_multiprocessing')
# Skip tests if sem_open implementation is broken.
support.import_module('multiprocessing.synchronize')
+from test.support import hashlib_helper
from test.support.script_helper import assert_python_ok
import contextlib
@@ -952,6 +953,7 @@ class ProcessPoolExecutorTest(ExecutorTest):
self.assertIn('raise RuntimeError(123) # some comment',
f1.getvalue())
+ @hashlib_helper.requires_hashdigest('md5')
def test_ressources_gced_in_workers(self):
# Ensure that argument for a job are correctly gc-ed after the job
# is finished
diff --git a/Misc/NEWS.d/next/Tests/2020-05-26-07-53-31.bpo-17258.X_IKTQ.rst b/Misc/NEWS.d/next/Tests/2020-05-26-07-53-31.bpo-17258.X_IKTQ.rst
new file mode 100644
index 0000000..0a4b329
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2020-05-26-07-53-31.bpo-17258.X_IKTQ.rst
@@ -0,0 +1 @@
+Skip some :mod:`multiprocessing` tests when MD5 hash digest is blocked.