homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Skip test_ssl.test_connect_ex() on connection error
Type: Stage:
Components: Tests Versions: Python 3.2, Python 3.3, Python 2.7
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: BreamoreBoy, nadeem.vawda, pitrou, vstinner
Priority: normal Keywords: patch

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\buildarea3円.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\buildarea3円.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\buildarea3円.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:19adminsetgithub: 56709
2015年03月18日 11:01:03vstinnersetstatus: open -> closed
resolution: out of date
messages: + msg238412
2014年06月28日 18:20:30BreamoreBoysetnosy: + BreamoreBoy
messages: + msg221806
2012年01月25日 06:41:57nadeem.vawdasetnosy: + nadeem.vawda
2011年07月05日 12:20:05vstinnersettitle: support.transient_internet(): catch also Windows socket errors -> Skip test_ssl.test_connect_ex() on connection error
2011年07月05日 12:19:46vstinnersetfiles: - test_ssl.patch
2011年07月05日 12:19:44vstinnersetfiles: - transient_internet_windows.patch
2011年07月05日 12:19:40vstinnersetfiles: + test_ssl-2.patch

messages: + msg139862
2011年07月05日 11:45:14pitrousetmessages: + msg139857
2011年07月05日 11:38:48vstinnersetfiles: + test_ssl.patch

messages: + msg139854
2011年07月05日 11:23:38pitrousetmessages: + msg139851
2011年07月05日 08:25:14vstinnercreate

AltStyle によって変換されたページ (->オリジナル) /