]> granicus.if.org Git - python/commitdiff
Simplify __all__ in multiprocessing (GH-6856)
authorDerek B. Kim <bluewhale8202@gmail.com>
Wed, 11 Jul 2018 10:22:28 +0000 (19:22 +0900)
committerINADA Naoki <methane@users.noreply.github.com>
Wed, 11 Jul 2018 10:22:28 +0000 (19:22 +0900)
Lib/multiprocessing/__init__.py
Lib/multiprocessing/context.py
Lib/test/_test_multiprocessing.py

index 86df63837037561179eb439bcf2e99f372a73fcb..8336f381decaacf58640640a6f05a45ba3a2c3e4 100644 (file)
@@ -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.
index c98ee4342490373c2ef4a896d040d61093c7756c..871746b1a047b392a907c20fe1ae04172bae553f 100644 (file)
@@ -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
 #
index c4810a5ce17e65d6641683d1b05d56ce3e8a8e06..f446ef34fe67b154214e9bfaa8aa6779d752cdd0 100644 (file)
@@ -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
 #