]> granicus.if.org Git - python/commitdiff
Fix the test for SocketServer so it should pass on cygwin and not fail
authorNeal Norwitz <nnorwitz@gmail.com>
Tue, 15 Aug 2006 04:58:28 +0000 (04:58 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Tue, 15 Aug 2006 04:58:28 +0000 (04:58 +0000)
sporadically on other platforms.  This is really a band-aid that doesn't
fix the underlying issue in SocketServer.  It's not clear if it's worth
it to fix SocketServer, however, I opened a bug to track it:

http://python.org/sf/1540386

Lib/test/test_socketserver.py
Misc/NEWS

index dd4532fa4ea5fcd8fa1c604034ef9b990ab10303..e4cbb2b58888b4c8c7af7ef0d310d18fb497b280 100644 (file)
@@ -181,10 +181,19 @@ else:
     if hasattr(os, 'fork') and os.name not in ('os2',):
         dgramservers.append(ForkingUnixDatagramServer)
 
+def sloppy_cleanup():
+    # See http://python.org/sf/1540386
+    # We need to reap children here otherwise a child from one server
+    # can be left running for the next server and cause a test failure.
+    time.sleep(DELAY)
+    reap_children()
+
 def testall():
     testloop(socket.AF_INET, tcpservers, MyStreamHandler, teststream)
+    sloppy_cleanup()
     testloop(socket.AF_INET, udpservers, MyDatagramHandler, testdgram)
     if hasattr(socket, 'AF_UNIX'):
+        sloppy_cleanup()
         testloop(socket.AF_UNIX, streamservers, MyStreamHandler, teststream)
         # Alas, on Linux (at least) recvfrom() doesn't return a meaningful
         # client address so this cannot work:
index 3a1eea893a3ab73a0e687fce8cdcb12351082417..5b81b6637a4cc7edb941f15d0be8b7353c81f61f 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -104,6 +104,9 @@ Extension Modules
 Tests
 -----
 
+- test_socketserver should now work on cygwin and not fail sporadically
+  on other platforms.
+
 - test_mailbox should now work on cygwin versions 2006-08-10 and later.
 
 - Bug #1535182: really test the xreadlines() method of bz2 objects.