Kaydet (Commit) 3265344a authored tarafından Berker Peksag's avatar Berker Peksag

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

Patch by Martin Panter.
üst c057c385
...@@ -138,10 +138,10 @@ try: ...@@ -138,10 +138,10 @@ try:
except ImportError: except ImportError:
import dummy_threading as threading import dummy_threading as threading
__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",
......
...@@ -2,7 +2,6 @@ ...@@ -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
...@@ -313,12 +312,18 @@ class SocketServerTest(unittest.TestCase): ...@@ -313,12 +312,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()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment