[New-bugs-announce] [issue29253] Fix test_asyncore tests on Cygwin

Erik Bray report at bugs.python.org
Thu Jan 12 08:51:51 EST 2017


New submission from Erik Bray:

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.

----------
components: Tests
files: 0001-Fix-test_asyncore-tests-on-Cygwin-by-working-around-.patch
keywords: patch
messages: 285326
nosy: erik.bray, zach.ware
priority: normal
severity: normal
stage: patch review
status: open
title: Fix test_asyncore tests on Cygwin
Added file: http://bugs.python.org/file46272/0001-Fix-test_asyncore-tests-on-Cygwin-by-working-around-.patch

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue29253>
_______________________________________


More information about the New-bugs-announce mailing list