Issue #23358: Add missing BaseServer entry to socketserver.__all__.

Patch by Martin Panter.
This commit is contained in:
Berker Peksag 2015-02-03 11:55:32 +02:00
commit 50457403f2
2 changed files with 16 additions and 11 deletions

View File

@ -138,10 +138,10 @@ except ImportError:
import dummy_threading as threading import dummy_threading as threading
from time import monotonic as time from time import monotonic as time
__all__ = ["TCPServer","UDPServer","ForkingUDPServer","ForkingTCPServer", __all__ = ["BaseServer", "TCPServer", "UDPServer", "ForkingUDPServer",
"ThreadingUDPServer","ThreadingTCPServer","BaseRequestHandler", "ForkingTCPServer", "ThreadingUDPServer", "ThreadingTCPServer",
"StreamRequestHandler","DatagramRequestHandler", "BaseRequestHandler", "StreamRequestHandler",
"ThreadingMixIn", "ForkingMixIn"] "DatagramRequestHandler", "ThreadingMixIn", "ForkingMixIn"]
if hasattr(socket, "AF_UNIX"): if hasattr(socket, "AF_UNIX"):
__all__.extend(["UnixStreamServer","UnixDatagramServer", __all__.extend(["UnixStreamServer","UnixDatagramServer",
"ThreadingUnixStreamServer", "ThreadingUnixStreamServer",

View File

@ -2,7 +2,6 @@
Test suite for socketserver. Test suite for socketserver.
""" """
import _imp as imp
import contextlib import contextlib
import os import os
import select import select
@ -281,12 +280,18 @@ class SocketServerTest(unittest.TestCase):
socketserver.StreamRequestHandler) socketserver.StreamRequestHandler)
def test_main(): class MiscTestCase(unittest.TestCase):
if imp.lock_held():
# If the import lock is held, the threads will hang def test_all(self):
raise unittest.SkipTest("can't run when import lock is held") # objects defined in the module should be in __all__
expected = []
for name in dir(socketserver):
if not name.startswith('_'):
mod_object = getattr(socketserver, name)
if getattr(mod_object, '__module__', None) == 'socketserver':
expected.append(name)
self.assertCountEqual(socketserver.__all__, expected)
test.support.run_unittest(SocketServerTest)
if __name__ == "__main__": if __name__ == "__main__":
test_main() unittest.main()