Rework akin to test_threaded_import, so that this can run under regrtest.
Also raise TestSkipped (intead of appearing to fail) if the import lock
is held.
diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py
index 398b077..6bce9b3 100644
--- a/Lib/test/test_socketserver.py
+++ b/Lib/test/test_socketserver.py
@@ -1,11 +1,6 @@
# Test suite for SocketServer.py
-# XXX This must be run manually -- somehow the I/O redirection of the
-# regression test breaks the test.
-
from test_support import verbose, verify, TESTFN, TestSkipped
-if not verbose:
- raise TestSkipped, "test_socketserver can only be run manually"
from SocketServer import *
import socket
@@ -153,10 +148,16 @@
# client address so this cannot work:
##testloop(socket.AF_UNIX, dgramservers, MyDatagramHandler, testdgram)
-def main():
+def test_main():
+ import imp
+ if imp.lock_held():
+ # If the import lock is held, the threads will hang.
+ raise TestSkipped("can't run when import lock is held")
+
try:
testall()
finally:
cleanup()
-main()
+if __name__ == "__main__":
+ test_main()