classification
Title: Fix test_asyncore tests on Cygwin
Type: Stage: resolved
Components: Tests Versions:
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Cygwin: asyncio and asyncore test suites hang indefinitely due to bug in Cygwin
View: 31882
Assigned To: Nosy List: erik.bray, martin.panter, zach.ware
Priority: normal Keywords: patch

Created on 2017-01-12 13:51 by erik.bray, last changed 2018-07-19 10:57 by martin.panter. This issue is now closed.

Files
File name Uploaded Description Edit
0001-Fix-test_asyncore-tests-on-Cygwin-by-working-around-.patch erik.bray, 2017-01-12 13:51
Messages (3)
msg285326 - (view) Author: Erik Bray (erik.bray) * (Python triager) Date: 2017-01-12 13:51
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.
msg321928 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2018-07-19 06:14
Similar to Issue 31882
msg321946 - (view) Author: Erik Bray (erik.bray) * (Python triager) Date: 2018-07-19 10:32
Yes, it's a dupe.  There was enough time after I later made the PR for this that I forgot I already opened an issue for it.
History
Date User Action Args
2018-07-19 10:57:47martin.pantersetsuperseder: Cygwin: asyncio and asyncore test suites hang indefinitely due to bug in Cygwin
2018-07-19 10:32:21erik.braysetstatus: open -> closed
resolution: duplicate
messages: + msg321946

stage: patch review -> resolved
2018-07-19 06:14:03martin.pantersetnosy: + martin.panter
messages: + msg321928
2017-01-12 13:51:51erik.braycreate