summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2015-02-03 11:55:09 +0200
committerBerker Peksag <berker.peksag@gmail.com>2015-02-03 11:55:09 +0200
commit0652bea83533184961d485149551b51cf58f9bdc (patch)
treed7e79d2dd2471206b398c8509f41d2d55dc9c8a1
parent1b9e42530b6406252fdbab73ab52dbf9e51a3421 (diff)
downloadcpython-0652bea83533184961d485149551b51cf58f9bdc.tar.gz
Issue #23358: Add missing BaseServer entry to socketserver.__all__.
Patch by Martin Panter.
-rw-r--r--Lib/socketserver.py8
-rw-r--r--Lib/test/test_socketserver.py19
2 files changed, 16 insertions, 11 deletions
diff --git a/Lib/socketserver.py b/Lib/socketserver.py
index 73399115b6..5cb89bea19 100644
--- a/Lib/socketserver.py
+++ b/Lib/socketserver.py
@@ -138,10 +138,10 @@ try:
except ImportError:
import dummy_threading as threading
-__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",
diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py
index 0276f993f9..924b9c4d22 100644
--- a/Lib/test/test_socketserver.py
+++ b/Lib/test/test_socketserver.py
@@ -2,7 +2,6 @@
Test suite for socketserver.
"""
-import _imp as imp
import contextlib
import os
import select
@@ -313,12 +312,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()