Issue 12500: Skip test_ssl.test_connect_ex() on connection error (original) (raw)

Created on 2011-07-05 08:25 by vstinner, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
test_ssl-2.patch vstinner,2011-07-05 12:19 review
Messages (7)
msg139833 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-07-05 08:25
====================================================================== ERROR: test_non_blocking_connect_ex (test.test_ssl.NetworkedTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\test\test_ssl.py", line 518, in test_non_blocking_connect_ex s.do_handshake() File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\ssl.py", line 442, in do_handshake self._sslobj.do_handshake() socket.error: [Errno 10057] A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied ====================================================================== FAIL: test_connect_ex (test.test_ssl.NetworkedTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\test\test_ssl.py", line 495, in test_connect_ex self.assertEqual(0, s.connect_ex(("svn.python.org", 443))) AssertionError: 0 != 10061 http://www.python.org/dev/buildbot/all/builders/x86%20XP-4%203.x/builds/4918/steps/test/logs/stdio WSAECONNREFUSED (10061): "Connection refused." WSAENOTCONN (10057): "Socket is not connected." It is obvious that transient_internet() should catch WSAECONNREFUSED, but for WSAENOTCONN, I don't understand why it happens on a SSL handshake. Attached patch catchs both errors. We may start with only WSAECONNREFUSED, and maybe add a specific code for test_ssl?
msg139851 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-07-05 11:23
You don't need to add WSAECONNREFUSED, it's already there as ECONNREFUSED: >>> errno.ECONNREFUSED 10061 >>> errno.WSAECONNREFUSED 10061 As for (WSA)ENOTCONN, I don't want to add it before knowing what happens. It may signal a programming error.
msg139854 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-07-05 11:38
> You don't need to add WSAECONNREFUSED, > it's already there as ECONNREFUSED Oh ok. Here is a patch for test_ssl.test_connect_ex() ignoring ECONNREFUSED error.
msg139857 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-07-05 11:45
> Oh ok. Here is a patch for test_ssl.test_connect_ex() ignoring ECONNREFUSED error. IMO you also want to test for the other errnos in transient_internet. Also, it should skip the test if the connection is refused.
msg139862 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-07-05 12:19
Updated patch: add support.transient_errors tuple.
msg221806 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2014-06-28 18:20
@Victor would you like to follow up with your patch?
msg238412 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2015-03-18 11:01
> @Victor would you like to follow up with your patch? No. So I just close the issue.
History
Date User Action Args
2022-04-11 14:57:19 admin set github: 56709
2015-03-18 11:01:03 vstinner set status: open -> closedresolution: out of datemessages: +
2014-06-28 18:20:30 BreamoreBoy set nosy: + BreamoreBoymessages: +
2012-01-25 06:41:57 nadeem.vawda set nosy: + nadeem.vawda
2011-07-05 12:20:05 vstinner set title: support.transient_internet(): catch also Windows socket errors -> Skip test_ssl.test_connect_ex() on connection error
2011-07-05 12:19:46 vstinner set files: - test_ssl.patch
2011-07-05 12:19:44 vstinner set files: - transient_internet_windows.patch
2011-07-05 12:19:40 vstinner set files: + test_ssl-2.patchmessages: +
2011-07-05 11:45:14 pitrou set messages: +
2011-07-05 11:38:48 vstinner set files: + test_ssl.patchmessages: +
2011-07-05 11:23:38 pitrou set messages: +
2011-07-05 08:25:14 vstinner create