From: Derek B. Kim Date: Wed, 11 Jul 2018 10:22:28 +0000 (+0900) Subject: Simplify __all__ in multiprocessing (GH-6856) X-Git-Tag: v3.8.0a1~1382 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c40278ef95121f04745d3552fe14376faf468329;p=thirdparty%2FPython%2Fcpython.git Simplify __all__ in multiprocessing (GH-6856) --- diff --git a/Lib/multiprocessing/__init__.py b/Lib/multiprocessing/__init__.py index 86df63837037..8336f381deca 100644 --- a/Lib/multiprocessing/__init__.py +++ b/Lib/multiprocessing/__init__.py @@ -19,9 +19,8 @@ from . import context # Copy stuff from default context # -globals().update((name, getattr(context._default_context, name)) - for name in context._default_context.__all__) -__all__ = context._default_context.__all__ +__all__ = [x for x in dir(context._default_context) if not x.startswith('_')] +globals().update((name, getattr(context._default_context, name)) for name in __all__) # # XXX These should not really be documented or public. diff --git a/Lib/multiprocessing/context.py b/Lib/multiprocessing/context.py index c98ee4342490..871746b1a047 100644 --- a/Lib/multiprocessing/context.py +++ b/Lib/multiprocessing/context.py @@ -5,7 +5,7 @@ import threading from . import process from . import reduction -__all__ = [] # things are copied from here to __init__.py +__all__ = () # # Exceptions @@ -24,7 +24,7 @@ class AuthenticationError(ProcessError): pass # -# Base type for contexts +# Base type for contexts. Bound methods of an instance of this type are included in __all__ of __init__.py # class BaseContext(object): @@ -261,8 +261,6 @@ class DefaultContext(BaseContext): else: return ['fork', 'spawn'] -DefaultContext.__all__ = [x for x in dir(DefaultContext) if x[0] != '_'] - # # Context types for fixed start method # diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index c4810a5ce17e..f446ef34fe67 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -4582,6 +4582,12 @@ class TestSimpleQueue(unittest.TestCase): proc.join() + +class MiscTestCase(unittest.TestCase): + def test__all__(self): + # Just make sure names in blacklist are excluded + support.check__all__(self, multiprocessing, extra=multiprocessing.__all__, + blacklist=['SUBDEBUG', 'SUBWARNING']) # # Mixins #