classification
Title: sporadic test_asyncio failure under FreeBSD
Type: behavior Stage: resolved
Components: Library (Lib), Tests Versions: Python 3.4
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: gvanrossum, koobs, pitrou, python-dev
Priority: normal Keywords: buildbot, patch

Created on 2013-10-19 23:18 by pitrou, last changed 2013-10-20 03:07 by koobs. This issue is now closed.

Files
File name Uploaded Description Edit
asyncio_wait_for.patch pitrou, 2013-10-19 23:39 review
Messages (8)
msg200515 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-10-19 23:18
http://buildbot.python.org/all/builders/AMD64%20FreeBSD%2010.0%203.x/builds/626/steps/test/logs/stdio

======================================================================
FAIL: test_create_server (test.test_asyncio.test_events.SelectEventLoopTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/home/buildbot/koobs-freebsd10/3.x.koobs-freebsd10/build/Lib/test/test_asyncio/test_events.py", line 568, in test_create_server
    self.assertEqual(3, proto.nbytes)
AssertionError: 3 != 0
msg200517 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2013-10-19 23:31
I'm guessing there's a whole lot of tests calling run_briefly() that really need to be fixed along these lines:

http://code.google.com/p/tulip/source/detail?r=44e4c8257a9d

I'd like to add a new method to test_utils.py for that purpose. But if at all possible I'd like to do that post alpha release.
msg200519 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-10-19 23:39
How about the following?
I was a bit annoyed I had to pass the loop explicitly to task.sleep().
msg200522 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2013-10-19 23:47
That patch looks good except please don't call it wait_for(), since there's already tasks.wait_for().  You can call it run_until().

Having to pass the loop to sleep() is only really required in the tests -- there was a movement a while ago (started by Alex Gaynor and supported by Glyph) to always pass in an explicit loop; my compromise was to force the tests to always pass in a loop (by using set_event_loop(None)).
msg200523 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2013-10-19 23:51
New changeset f1447c152fb7 by Antoine Pitrou in branch 'default':
Issue #19305: try to fix sporadic test_asyncio failure on FreeBSD 10.0
http://hg.python.org/cpython/rev/f1447c152fb7
msg200524 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-10-19 23:52
Ok, I called it run_until. Hopefully this will manage to appease the buildbot.
msg200526 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-10-20 00:00
Looks ok on the buildbot.
msg200535 - (view) Author: Kubilay Kocak (koobs) (Python triager) Date: 2013-10-20 03:07
You rock Antoine.
History
Date User Action Args
2013-10-20 03:07:34koobssetmessages: + msg200535
2013-10-20 00:00:08pitrousetstatus: pending -> closed

messages: + msg200526
2013-10-19 23:52:23pitrousetstatus: open -> pending
resolution: fixed
messages: + msg200524

stage: needs patch -> resolved
2013-10-19 23:51:33python-devsetnosy: + python-dev
messages: + msg200523
2013-10-19 23:47:44gvanrossumsetmessages: + msg200522
2013-10-19 23:39:58pitrousetfiles: + asyncio_wait_for.patch
assignee: gvanrossum ->
messages: + msg200519

keywords: + patch
2013-10-19 23:31:37gvanrossumsetassignee: gvanrossum
2013-10-19 23:31:06gvanrossumsetmessages: + msg200517
2013-10-19 23:18:45pitroucreate