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.

Author erik.bray
Recipients erik.bray, zach.ware
Date 2017-01-12.13:51:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1484229111.27.0.864294562114.issue29253@psf.upfronthosting.co.za>
In-reply-to
Content
This patch works around a couple different problems with running the test_asyncore tests in Cygwin, both of which are due to bugs in Cygwin itself and not in Python.  As such, I don't think Python should try to work around these issues in general, but I do think they're worth at least working around in the tests so that they can pass and/or skip.

The first issue is more severe, as it actually causes the test run to hang indefinitely due to a bug in Cygwin that can cause connect() on a socket to block indefinitely.  This occurs only in a situation where a "client" connects to a "server" that is not accept()-ing connections--a situation that occurs specifically in some of the asyncore tests where both the "client" and the "server" are in the same test process.  This applies a known workaround to the tests only, allowing them to pass.

The other bug simply causes a test failure--the bug is that getsockopt(SO_REUSEADDR) returns the wrong result after a setsockopt(SO_REUSEADDR) (the latter has the correct behavior; the value of the option just isn't reported back correctly after being set).  In this case the relevant test is simply skipped on Cygwin.

The patch is currently light on in-line documentation of the situation, but I can add that if it's otherwise approved.
History
Date User Action Args
2017-01-12 13:51:51erik.braysetrecipients: + erik.bray, zach.ware
2017-01-12 13:51:51erik.braysetmessageid: <1484229111.27.0.864294562114.issue29253@psf.upfronthosting.co.za>
2017-01-12 13:51:51erik.braylinkissue29253 messages
2017-01-12 13:51:50erik.braycreate