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
from time import monotonic as time
__all__ = ["TCPServer","UDPServer","ForkingUDPServer","ForkingTCPServer",
"ThreadingUDPServer","ThreadingTCPServer","BaseRequestHandler",
"StreamRequestHandler","DatagramRequestHandler",
"ThreadingMixIn", "ForkingMixIn"]
__all__ = ["BaseServer", "TCPServer", "UDPServer", "ForkingUDPServer",
"ForkingTCPServer", "ThreadingUDPServer", "ThreadingTCPServer",
"BaseRequestHandler", "StreamRequestHandler",
"DatagramRequestHandler", "ThreadingMixIn", "ForkingMixIn"]
if hasattr(socket, "AF_UNIX"):
__all__.extend(["UnixStreamServer","UnixDatagramServer",
"ThreadingUnixStreamServer",

View File

@ -2,7 +2,6 @@
Test suite for socketserver.
"""
import _imp as imp
import contextlib
import os
import select
@ -281,12 +280,18 @@ class SocketServerTest(unittest.TestCase):
socketserver.StreamRequestHandler)
def test_main():
if imp.lock_held():
# If the import lock is held, the threads will hang
raise unittest.SkipTest("can't run when import lock is held")
class MiscTestCase(unittest.TestCase):
def test_all(self):
# 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__":
test_main()
unittest.main()