From: Giampaolo Rodola' Date: Thu, 22 Mar 2012 15:19:45 +0000 (+0100) Subject: merge 79422b3684f1 in 3.3 branch (issue 10340) X-Git-Tag: v3.3.0a2~88 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3539ef3d21a47beff871636bdf6cd5e40aa556e4;p=python merge 79422b3684f1 in 3.3 branch (issue 10340) --- 3539ef3d21a47beff871636bdf6cd5e40aa556e4 diff --cc Lib/test/test_asyncore.py index 52dff0f4fa,507a8daa96..c1df785c80 --- a/Lib/test/test_asyncore.py +++ b/Lib/test/test_asyncore.py @@@ -778,27 -731,23 +779,42 @@@ 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_UseSelect(BaseTestAPI): +class TestAPI_UseIPv4Sockets(BaseTestAPI): + family = socket.AF_INET + addr = (HOST, 0) + +@unittest.skipUnless(support.IPV6_ENABLED, 'IPv6 support required') +class TestAPI_UseIPv6Sockets(BaseTestAPI): + family = socket.AF_INET6 + addr = ('::1', 0) + +@unittest.skipUnless(HAS_UNIX_SOCKETS, 'Unix sockets required') +class TestAPI_UseUnixSockets(BaseTestAPI): + if HAS_UNIX_SOCKETS: + family = socket.AF_UNIX + addr = support.TESTFN + + def tearDown(self): + unlink(self.addr) + BaseTestAPI.tearDown(self) + +class TestAPI_UseIPv4Select(TestAPI_UseIPv4Sockets): use_poll = False @unittest.skipUnless(hasattr(select, 'poll'), 'select.poll required')