From 8085eced3e3dfd19f280e33f4773fa3faad182d6 Mon Sep 17 00:00:00 2001 From: Andrew Svetlov Date: Fri, 18 Oct 2019 22:26:36 +0300 Subject: [PATCH] [3.6] Refactor the test to fail instead of hanging (#4225) (cherry picked from commit c7d841d9) Co-authored-by: Andrew Svetlov --- tests/test_web_websocket_functional.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/test_web_websocket_functional.py b/tests/test_web_websocket_functional.py index 04cae3ff01f..4ee6538846a 100644 --- a/tests/test_web_websocket_functional.py +++ b/tests/test_web_websocket_functional.py @@ -246,8 +246,10 @@ async def handler(request): async def test_close_timeout(loop, aiohttp_client) -> None: aborted = loop.create_future() + elapsed = 1e10 # something big async def handler(request): + nonlocal elapsed ws = web.WebSocketResponse(timeout=0.1) await ws.prepare(request) assert 'request' == (await ws.receive_str()) @@ -255,9 +257,6 @@ async def handler(request): begin = ws._loop.time() assert (await ws.close()) elapsed = ws._loop.time() - begin - assert elapsed < 0.201, \ - 'close() should have returned before ' \ - 'at most 2x timeout.' assert ws.close_code == 1006 assert isinstance(ws.exception(), asyncio.TimeoutError) aborted.set_result(1) @@ -294,6 +293,10 @@ async def handler(request): await asyncio.sleep(0.08, loop=loop) assert (await aborted) + assert elapsed < 0.201, \ + 'close() should have returned before ' \ + 'at most 2x timeout.' + await ws.close()