summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorGiampaolo Rodola' <g.rodola@gmail.com>2012-03-22 15:19:45 (GMT)
committerGiampaolo Rodola' <g.rodola@gmail.com>2012-03-22 15:19:45 (GMT)
commit3539ef3d21a47beff871636bdf6cd5e40aa556e4 (patch)
tree60bb613c98035fd4d2acb6873f413479091d5c7d /Lib/test
parentcc58031d6a800647b0e37c8fa812bbe1200eac22 (diff)
parent350c94b90067777457be0d13169e937730d70eb4 (diff)
downloadcpython-3539ef3d21a47beff871636bdf6cd5e40aa556e4.zip
cpython-3539ef3d21a47beff871636bdf6cd5e40aa556e4.tar.gz
cpython-3539ef3d21a47beff871636bdf6cd5e40aa556e4.tar.bz2
merge 79422b3684f1 in 3.3 branch (issue 10340)
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_asyncore.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/Lib/test/test_asyncore.py b/Lib/test/test_asyncore.py
index 52dff0f..c1df785 100644
--- a/Lib/test/test_asyncore.py
+++ b/Lib/test/test_asyncore.py
@@ -7,6 +7,7 @@ import sys
import time
import warnings
import errno
+import struct
from test import support
from test.support import TESTFN, run_unittest, unlink
@@ -778,6 +779,21 @@ class BaseTestAPI(unittest.TestCase):
finally:
sock.close()
+ @unittest.skipUnless(threading, 'Threading required for this test.')
+ @support.reap_threads
+ def test_quick_connect(self):
+ # see: http://bugs.python.org/issue10340
+ server = TCPServer()
+ t = threading.Thread(target=lambda: asyncore.loop(timeout=0.1, count=500))
+ t.start()
+
+ for x in range(20):
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER,
+ struct.pack('ii', 1, 0))
+ s.connect(server.address)
+ s.close()
+
class TestAPI_UseIPv4Sockets(BaseTestAPI):
family = socket.AF_INET