From 8e9c6b5079f6acbbdfc352250e21ae5bf56c25e8 Mon Sep 17 00:00:00 2001 From: Jair Henrique Date: Mon, 30 Oct 2017 07:18:36 -0200 Subject: [PATCH] drop support to python <3.5.3 (#2435) * drop support to python <3.5.3 * drop helpers.create_future * drop helpers.isfuture * fix rebase * drop ci specific test on 3.5.3 --- .travis.yml | 1 - aiohttp/client_reqrep.py | 2 +- aiohttp/client_ws.py | 7 ++-- aiohttp/connector.py | 2 +- aiohttp/helpers.py | 21 ----------- aiohttp/http_writer.py | 4 +-- aiohttp/multipart.py | 11 +----- aiohttp/signals.py | 3 +- aiohttp/streams.py | 16 ++------- aiohttp/web_fileresponse.py | 5 ++- aiohttp/web_protocol.py | 4 +-- aiohttp/web_ws.py | 7 ++-- aiohttp/worker.py | 4 +-- docs/conf.py | 5 +-- setup.py | 1 + tests/test_client_functional.py | 3 +- tests/test_client_functional_oldstyle.py | 6 ++-- tests/test_client_request.py | 10 +++--- tests/test_client_response.py | 22 ++++++------ tests/test_client_ws.py | 46 ++++++++++++------------ tests/test_client_ws_functional.py | 12 +++---- tests/test_connector.py | 26 +++++++------- tests/test_helpers.py | 26 -------------- tests/test_multipart.py | 8 ++--- tests/test_streams.py | 34 +++++++++--------- tests/test_web_application.py | 4 +-- tests/test_web_protocol.py | 2 +- tests/test_web_sendfile.py | 10 +++--- tests/test_web_websocket.py | 16 ++++----- tests/test_web_websocket_functional.py | 32 ++++++++--------- tests/test_worker.py | 9 +++-- tools/check_changes.py | 1 + 32 files changed, 143 insertions(+), 217 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8ed4e78dd8f..6ca49f710e4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,6 @@ sudo: false language: python python: -- 3.5.2 - 3.5 - &mainstream_python 3.6 - 3.6-dev diff --git a/aiohttp/client_reqrep.py b/aiohttp/client_reqrep.py index a8c43de4d8b..3f29c3670c2 100644 --- a/aiohttp/client_reqrep.py +++ b/aiohttp/client_reqrep.py @@ -327,7 +327,7 @@ def update_expect_continue(self, expect=False): expect = True if expect: - self._continue = helpers.create_future(self.loop) + self._continue = self.loop.create_future() def update_proxy(self, proxy, proxy_auth, proxy_headers): if proxy and not proxy.scheme == 'http': diff --git a/aiohttp/client_ws.py b/aiohttp/client_ws.py index d29c3cf108d..b7a449dfa60 100644 --- a/aiohttp/client_ws.py +++ b/aiohttp/client_ws.py @@ -6,7 +6,7 @@ import async_timeout from .client_exceptions import ClientError -from .helpers import PY_352, call_later, create_future +from .helpers import call_later from .http import (WS_CLOSED_MESSAGE, WS_CLOSING_MESSAGE, WebSocketError, WSMessage, WSMsgType) @@ -186,7 +186,7 @@ async def receive(self, timeout=None): return WS_CLOSED_MESSAGE try: - self._waiting = create_future(self._loop) + self._waiting = self._loop.create_future() try: with async_timeout.timeout( timeout or self._receive_timeout, @@ -253,9 +253,6 @@ async def receive_json(self, *, loads=json.loads, timeout=None): def __aiter__(self): return self - if not PY_352: # pragma: no cover - __aiter__ = asyncio.coroutine(__aiter__) - async def __anext__(self): msg = await self.receive() if msg.type in (WSMsgType.CLOSE, diff --git a/aiohttp/connector.py b/aiohttp/connector.py index a52418b2ed5..8b0ef4bbd1d 100644 --- a/aiohttp/connector.py +++ b/aiohttp/connector.py @@ -370,7 +370,7 @@ async def connect(self, req): # Wait if there are no available connections. if available <= 0: - fut = helpers.create_future(self._loop) + fut = self._loop.create_future() # This connection will now count towards the limit. waiters = self._waiters[key] diff --git a/aiohttp/helpers.py b/aiohttp/helpers.py index 61c1d9df864..8c1824fdf91 100644 --- a/aiohttp/helpers.py +++ b/aiohttp/helpers.py @@ -9,7 +9,6 @@ import inspect import os import re -import sys import time import warnings import weakref @@ -29,9 +28,6 @@ from .log import client_logger -PY_352 = sys.version_info >= (3, 5, 2) - - __all__ = ('BasicAuth',) @@ -135,13 +131,6 @@ def deprecated_noop(message): coroutines._DEBUG = old_debug -try: - from asyncio import isfuture -except ImportError: - def isfuture(fut): - return isinstance(fut, asyncio.Future) - - class BasicAuth(namedtuple('BasicAuth', ['login', 'password', 'encoding'])): """Http basic authentication helper.""" @@ -219,16 +208,6 @@ def proxies_from_env(): return ret -if PY_352: - def create_future(loop): - return loop.create_future() -else: - def create_future(loop): # pragma: no cover - """Compatibility wrapper for the loop.create_future() call introduced in - 3.5.2.""" - return asyncio.Future(loop=loop) - - def current_task(loop=None): if loop is None: loop = asyncio.get_event_loop() diff --git a/aiohttp/http_writer.py b/aiohttp/http_writer.py index f7c80b93567..9905eae32a5 100644 --- a/aiohttp/http_writer.py +++ b/aiohttp/http_writer.py @@ -6,7 +6,7 @@ import zlib from .abc import AbstractPayloadWriter -from .helpers import create_future, noop +from .helpers import noop __all__ = ('PayloadWriter', 'HttpVersion', 'HttpVersion10', 'HttpVersion11', @@ -292,6 +292,6 @@ def drain(self, last=False): else: # wait for transport if self._drain_waiter is None: - self._drain_waiter = create_future(self.loop) + self._drain_waiter = self.loop.create_future() yield from self._drain_waiter diff --git a/aiohttp/multipart.py b/aiohttp/multipart.py index 7218e32b313..3cacf46e356 100644 --- a/aiohttp/multipart.py +++ b/aiohttp/multipart.py @@ -13,7 +13,7 @@ from .hdrs import (CONTENT_DISPOSITION, CONTENT_ENCODING, CONTENT_LENGTH, CONTENT_TRANSFER_ENCODING, CONTENT_TYPE) -from .helpers import CHAR, PY_352, TOKEN, parse_mimetype, reify +from .helpers import CHAR, TOKEN, parse_mimetype, reify from .http import HttpParser from .payload import (BytesPayload, LookupError, Payload, StringPayload, get_payload, payload_type) @@ -172,9 +172,6 @@ def __init__(self, resp, stream): def __aiter__(self): return self - if not PY_352: # pragma: no cover - __aiter__ = asyncio.coroutine(__aiter__) - @asyncio.coroutine def __anext__(self): part = yield from self.next() @@ -223,9 +220,6 @@ def __init__(self, boundary, headers, content): def __aiter__(self): return self - if not PY_352: # pragma: no cover - __aiter__ = asyncio.coroutine(__aiter__) - @asyncio.coroutine def __anext__(self): part = yield from self.next() @@ -545,9 +539,6 @@ def __init__(self, headers, content): def __aiter__(self): return self - if not PY_352: # pragma: no cover - __aiter__ = asyncio.coroutine(__aiter__) - @asyncio.coroutine def __anext__(self): part = yield from self.next() diff --git a/aiohttp/signals.py b/aiohttp/signals.py index 645e954f8b8..77a3df2419f 100644 --- a/aiohttp/signals.py +++ b/aiohttp/signals.py @@ -2,7 +2,6 @@ from itertools import count from aiohttp.frozenlist import FrozenList -from aiohttp.helpers import isfuture class BaseSignal(FrozenList): @@ -12,7 +11,7 @@ class BaseSignal(FrozenList): async def _send(self, *args, **kwargs): for receiver in self: res = receiver(*args, **kwargs) - if asyncio.iscoroutine(res) or isfuture(res): + if asyncio.iscoroutine(res) or asyncio.isfuture(res): await res diff --git a/aiohttp/streams.py b/aiohttp/streams.py index 2b135d01589..239b57402da 100644 --- a/aiohttp/streams.py +++ b/aiohttp/streams.py @@ -1,7 +1,6 @@ import asyncio import collections -from . import helpers from .log import internal_logger @@ -25,9 +24,6 @@ def __init__(self, read_func): def __aiter__(self): return self - if not helpers.PY_352: # pragma: no cover - __aiter__ = asyncio.coroutine(__aiter__) - async def __anext__(self): try: rv = await self.read_func() @@ -51,9 +47,6 @@ class AsyncStreamReaderMixin: def __aiter__(self): return AsyncStreamIterator(self.readline) - if not helpers.PY_352: # pragma: no cover - __aiter__ = asyncio.coroutine(__aiter__) - def iter_chunked(self, n): """Returns an asynchronous iterator that yields chunks of size n. @@ -190,7 +183,7 @@ async def wait_eof(self): return assert self._eof_waiter is None - self._eof_waiter = helpers.create_future(self._loop) + self._eof_waiter = self._loop.create_future() try: await self._eof_waiter finally: @@ -247,7 +240,7 @@ async def _wait(self, func_name): raise RuntimeError('%s() called while another coroutine is ' 'already waiting for incoming data' % func_name) - waiter = self._waiter = helpers.create_future(self._loop) + waiter = self._waiter = self._loop.create_future() try: if self._timer: with self._timer: @@ -532,7 +525,7 @@ def feed_eof(self): async def read(self): if not self._buffer and not self._eof: assert not self._waiter - self._waiter = helpers.create_future(self._loop) + self._waiter = self._loop.create_future() try: await self._waiter except (asyncio.CancelledError, asyncio.TimeoutError): @@ -552,9 +545,6 @@ async def read(self): def __aiter__(self): return AsyncStreamIterator(self.read) - if not helpers.PY_352: # pragma: no cover - __aiter__ = asyncio.coroutine(__aiter__) - class ChunksQueue(DataQueue): """Like a :class:`DataQueue`, but for binary chunked data transfer.""" diff --git a/aiohttp/web_fileresponse.py b/aiohttp/web_fileresponse.py index 8c4125a8839..aecc5e9e2d9 100644 --- a/aiohttp/web_fileresponse.py +++ b/aiohttp/web_fileresponse.py @@ -3,7 +3,6 @@ import pathlib from . import hdrs -from .helpers import create_future from .http_writer import PayloadWriter from .log import server_logger from .web_exceptions import (HTTPNotModified, HTTPOk, HTTPPartialContent, @@ -57,7 +56,7 @@ def _sendfile_cb(self, fut, out_fd, in_fd, async def sendfile(self, fobj, count): if self._transport is None: if self._drain_waiter is None: - self._drain_waiter = create_future(self.loop) + self._drain_waiter = self.loop.create_future() await self._drain_waiter @@ -70,7 +69,7 @@ async def sendfile(self, fobj, count): loop = self.loop try: await loop.sock_sendall(out_socket, b''.join(self._buffer)) - fut = create_future(loop) + fut = loop.create_future() self._sendfile_cb(fut, out_fd, in_fd, offset, count, loop, False) await fut except Exception: diff --git a/aiohttp/web_protocol.py b/aiohttp/web_protocol.py index 4a9d1154a83..0f9ad26cc6a 100644 --- a/aiohttp/web_protocol.py +++ b/aiohttp/web_protocol.py @@ -9,7 +9,7 @@ from html import escape as html_escape from . import helpers, http -from .helpers import CeilTimeout, create_future +from .helpers import CeilTimeout from .http import (HttpProcessingError, HttpRequestParser, PayloadWriter, StreamWriter) from .log import access_logger, server_logger @@ -492,7 +492,7 @@ async def start(self, message, payload, handler): self._process_keepalive) # wait for next request - waiter = create_future(loop) + waiter = loop.create_future() self._waiters.append(waiter) try: message, payload = await waiter diff --git a/aiohttp/web_ws.py b/aiohttp/web_ws.py index aa7ac9ef127..5c8a239ca1e 100644 --- a/aiohttp/web_ws.py +++ b/aiohttp/web_ws.py @@ -5,7 +5,7 @@ import async_timeout from . import hdrs -from .helpers import PY_352, call_later, create_future +from .helpers import call_later from .http import (WS_CLOSED_MESSAGE, WS_CLOSING_MESSAGE, HttpProcessingError, WebSocketError, WebSocketReader, WSMessage, WSMsgType, do_handshake) @@ -272,7 +272,7 @@ async def receive(self, timeout=None): return WS_CLOSING_MESSAGE try: - self._waiting = create_future(self._loop) + self._waiting = self._loop.create_future() try: with async_timeout.timeout( timeout or self._receive_timeout, loop=self._loop): @@ -337,9 +337,6 @@ def write(self, data): def __aiter__(self): return self - if not PY_352: # pragma: no cover - __aiter__ = asyncio.coroutine(__aiter__) - async def __anext__(self): msg = await self.receive() if msg.type in (WSMsgType.CLOSE, diff --git a/aiohttp/worker.py b/aiohttp/worker.py index f501a97bc41..c416d089203 100644 --- a/aiohttp/worker.py +++ b/aiohttp/worker.py @@ -10,7 +10,7 @@ from gunicorn.config import AccessLogFormat as GunicornAccessLogFormat from gunicorn.workers import base -from .helpers import AccessLogger, create_future +from .helpers import AccessLogger try: @@ -143,7 +143,7 @@ async def _run(self): def _wait_next_notify(self): self._notify_waiter_done() - self._notify_waiter = waiter = create_future(self.loop) + self._notify_waiter = waiter = self.loop.create_future() self.loop.call_later(1.0, self._notify_waiter_done) return waiter diff --git a/docs/conf.py b/docs/conf.py index 67cbd10ea0f..1e704f315c5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,10 +13,11 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys -import os import codecs +import os import re +import sys + _docs_path = os.path.dirname(__file__) _version_path = os.path.abspath(os.path.join(_docs_path, diff --git a/setup.py b/setup.py index 513a04d020a..9e3c6f5f209 100644 --- a/setup.py +++ b/setup.py @@ -9,6 +9,7 @@ from setuptools import Extension, setup from setuptools.command.test import test as TestCommand + try: from Cython.Build import cythonize USE_CYTHON = True diff --git a/tests/test_client_functional.py b/tests/test_client_functional.py index 7bd2420b07c..f7d6622c7bc 100644 --- a/tests/test_client_functional.py +++ b/tests/test_client_functional.py @@ -15,7 +15,6 @@ import aiohttp from aiohttp import ServerFingerprintMismatch, hdrs, web from aiohttp.abc import AbstractResolver -from aiohttp.helpers import create_future from aiohttp.multipart import MultipartWriter @@ -585,7 +584,7 @@ async def handler(request): async def test_timeout_on_reading_data(loop, test_client, mocker): mocker.patch('aiohttp.helpers.ceil').side_effect = ceil - fut = create_future(loop=loop) + fut = loop.create_future() async def handler(request): resp = web.StreamResponse(headers={'content-length': '100'}) diff --git a/tests/test_client_functional_oldstyle.py b/tests/test_client_functional_oldstyle.py index 7f22fad49dd..1a715b2c6ed 100644 --- a/tests/test_client_functional_oldstyle.py +++ b/tests/test_client_functional_oldstyle.py @@ -95,7 +95,7 @@ def run(loop, fut): host, port, ssl=sslcontext) server = thread_loop.run_until_complete(server_coroutine) - waiter = helpers.create_future(thread_loop) + waiter = thread_loop.create_future() loop.call_soon_threadsafe( fut.set_result, (thread_loop, waiter, server.sockets[0].getsockname())) @@ -117,7 +117,7 @@ def run(loop, fut): thread_loop.close() gc.collect() - fut = helpers.create_future(loop) + fut = loop.create_future() server_thread = threading.Thread(target=run, args=(loop, fut)) server_thread.start() @@ -457,7 +457,7 @@ def test_POST_STREAM_DATA(self): with open(fname, 'rb') as f: data = f.read() - fut = helpers.create_future(self.loop) + fut = self.loop.create_future() @aiohttp.streamer async def stream(writer): diff --git a/tests/test_client_request.py b/tests/test_client_request.py index 2e5c02797bb..d78368c87c9 100644 --- a/tests/test_client_request.py +++ b/tests/test_client_request.py @@ -14,7 +14,7 @@ from yarl import URL import aiohttp -from aiohttp import BaseConnector, hdrs, helpers, payload +from aiohttp import BaseConnector, hdrs, payload from aiohttp.client_reqrep import ClientRequest, ClientResponse @@ -839,7 +839,7 @@ def gen(writer): assert req.headers['TRANSFER-ENCODING'] == 'chunked' resp = req.send(conn) - assert helpers.isfuture(req._writer) + assert asyncio.isfuture(req._writer) await resp.wait_for_close() assert req._writer is None @@ -858,7 +858,7 @@ async def test_data_file(loop, buf, conn): assert req.headers['TRANSFER-ENCODING'] == 'chunked' resp = req.send(conn) - assert helpers.isfuture(req._writer) + assert asyncio.isfuture(req._writer) await resp.wait_for_close() assert req._writer is None assert buf.split(b'\r\n\r\n', 1)[1] == \ @@ -867,7 +867,7 @@ async def test_data_file(loop, buf, conn): async def test_data_stream_exc(loop, conn): - fut = helpers.create_future(loop) + fut = loop.create_future() @aiohttp.streamer async def gen(writer): @@ -893,7 +893,7 @@ async def exc(): async def test_data_stream_exc_chain(loop, conn): - fut = helpers.create_future(loop) + fut = loop.create_future() @aiohttp.streamer async def gen(writer): diff --git a/tests/test_client_response.py b/tests/test_client_response.py index 1f64a116faa..b0a08845747 100644 --- a/tests/test_client_response.py +++ b/tests/test_client_response.py @@ -8,7 +8,7 @@ from yarl import URL import aiohttp -from aiohttp import helpers, http +from aiohttp import http from aiohttp.client_reqrep import ClientResponse, RequestInfo @@ -116,7 +116,7 @@ async def test_read_and_release_connection(loop, session): response._post_init(loop, session) def side_effect(*args, **kwargs): - fut = helpers.create_future(loop) + fut = loop.create_future() fut.set_result(b'payload') return fut content = response.content = mock.Mock() @@ -131,7 +131,7 @@ async def test_read_and_release_connection_with_error(loop, session): response = ClientResponse('get', URL('http://def-cl-resp.org')) response._post_init(loop, session) content = response.content = mock.Mock() - content.read.return_value = helpers.create_future(loop) + content.read.return_value = loop.create_future() content.read.return_value.set_exception(ValueError) with pytest.raises(ValueError): @@ -142,7 +142,7 @@ async def test_read_and_release_connection_with_error(loop, session): async def test_release(loop, session): response = ClientResponse('get', URL('http://def-cl-resp.org')) response._post_init(loop, session) - fut = helpers.create_future(loop) + fut = loop.create_future() fut.set_result(b'') content = response.content = mock.Mock() content.readany.return_value = fut @@ -207,7 +207,7 @@ async def test_text(loop, session): response._post_init(loop, session) def side_effect(*args, **kwargs): - fut = helpers.create_future(loop) + fut = loop.create_future() fut.set_result('{"тест": "пройден"}'.encode('cp1251')) return fut @@ -226,7 +226,7 @@ async def test_text_bad_encoding(loop, session): response._post_init(loop, session) def side_effect(*args, **kwargs): - fut = helpers.create_future(loop) + fut = loop.create_future() fut.set_result('{"тестkey": "пройденvalue"}'.encode('cp1251')) return fut @@ -248,7 +248,7 @@ async def test_text_custom_encoding(loop, session): response._post_init(loop, session) def side_effect(*args, **kwargs): - fut = helpers.create_future(loop) + fut = loop.create_future() fut.set_result('{"тест": "пройден"}'.encode('cp1251')) return fut @@ -269,7 +269,7 @@ async def test_text_detect_encoding(loop, session): response._post_init(loop, session) def side_effect(*args, **kwargs): - fut = helpers.create_future(loop) + fut = loop.create_future() fut.set_result('{"тест": "пройден"}'.encode('cp1251')) return fut @@ -288,7 +288,7 @@ async def test_text_after_read(loop, session): response._post_init(loop, session) def side_effect(*args, **kwargs): - fut = helpers.create_future(loop) + fut = loop.create_future() fut.set_result('{"тест": "пройден"}'.encode('cp1251')) return fut @@ -307,7 +307,7 @@ async def test_json(loop, session): response._post_init(loop, session) def side_effect(*args, **kwargs): - fut = helpers.create_future(loop) + fut = loop.create_future() fut.set_result('{"тест": "пройден"}'.encode('cp1251')) return fut @@ -364,7 +364,7 @@ async def test_json_override_encoding(loop, session): response._post_init(loop, session) def side_effect(*args, **kwargs): - fut = helpers.create_future(loop) + fut = loop.create_future() fut.set_result('{"тест": "пройден"}'.encode('cp1251')) return fut diff --git a/tests/test_client_ws.py b/tests/test_client_ws.py index fb86cc8c039..d5b0d6c9c13 100644 --- a/tests/test_client_ws.py +++ b/tests/test_client_ws.py @@ -7,7 +7,7 @@ import pytest import aiohttp -from aiohttp import client, hdrs, helpers +from aiohttp import client, hdrs from aiohttp.http import WS_KEY from aiohttp.log import ws_logger @@ -39,7 +39,7 @@ async def test_ws_connect(ws_key, loop, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) res = await aiohttp.ClientSession(loop=loop).ws_connect( @@ -57,7 +57,7 @@ async def test_ws_connect_with_origin(key_data, loop): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) origin = 'https://example.org/page.html' @@ -85,7 +85,7 @@ def read(self, decode=False): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) res = await aiohttp.ClientSession( @@ -106,7 +106,7 @@ async def test_ws_connect_err_status(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) with pytest.raises(client.WSServerHandshakeError) as ctx: @@ -128,7 +128,7 @@ async def test_ws_connect_err_upgrade(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) with pytest.raises(client.WSServerHandshakeError) as ctx: @@ -150,7 +150,7 @@ async def test_ws_connect_err_conn(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) with pytest.raises(client.WSServerHandshakeError) as ctx: @@ -172,7 +172,7 @@ async def test_ws_connect_err_challenge(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) with pytest.raises(client.WSServerHandshakeError) as ctx: @@ -239,7 +239,7 @@ async def test_close(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) writer = WebSocketWriter.return_value = mock.Mock() @@ -277,7 +277,7 @@ async def test_close_exc(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) WebSocketWriter.return_value = mock.Mock() @@ -307,7 +307,7 @@ async def test_close_exc2(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) writer = WebSocketWriter.return_value = mock.Mock() @@ -339,7 +339,7 @@ async def test_send_data_after_close(ws_key, key_data, loop, mocker): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) resp = await aiohttp.ClientSession(loop=loop).ws_connect( @@ -370,7 +370,7 @@ async def test_send_data_type_errors(ws_key, key_data, loop): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) WebSocketWriter.return_value = mock.Mock() @@ -394,7 +394,7 @@ async def test_reader_read_exception(ws_key, key_data, loop): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(hresp) WebSocketWriter.return_value = mock.Mock() @@ -432,7 +432,7 @@ async def test_ws_connect_close_resp_on_err(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) with pytest.raises(client.WSServerHandshakeError): @@ -454,7 +454,7 @@ async def test_ws_connect_non_overlapped_protocols(ws_key, loop, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) res = await aiohttp.ClientSession(loop=loop).ws_connect( @@ -476,7 +476,7 @@ async def test_ws_connect_non_overlapped_protocols_2(ws_key, loop, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) connector = aiohttp.TCPConnector(loop=loop, force_close=True) @@ -501,7 +501,7 @@ async def test_ws_connect_deflate(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) res = await aiohttp.ClientSession(loop=loop).ws_connect( @@ -522,7 +522,7 @@ async def test_ws_connect_deflate_server_not_support(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) res = await aiohttp.ClientSession(loop=loop).ws_connect( @@ -545,7 +545,7 @@ async def test_ws_connect_deflate_notakeover(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) res = await aiohttp.ClientSession(loop=loop).ws_connect( @@ -568,7 +568,7 @@ async def test_ws_connect_deflate_client_wbits(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) res = await aiohttp.ClientSession(loop=loop).ws_connect( @@ -591,7 +591,7 @@ async def test_ws_connect_deflate_client_wbits_bad(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) with pytest.raises(client.WSServerHandshakeError): @@ -611,7 +611,7 @@ async def test_ws_connect_deflate_server_ext_bad(loop, ws_key, key_data): with mock.patch('aiohttp.client.os') as m_os: with mock.patch('aiohttp.client.ClientSession.get') as m_req: m_os.urandom.return_value = key_data - m_req.return_value = helpers.create_future(loop) + m_req.return_value = loop.create_future() m_req.return_value.set_result(resp) with pytest.raises(client.WSServerHandshakeError): diff --git a/tests/test_client_ws_functional.py b/tests/test_client_ws_functional.py index ae6c57d91b5..a05b940e75b 100644 --- a/tests/test_client_ws_functional.py +++ b/tests/test_client_ws_functional.py @@ -4,7 +4,7 @@ import pytest import aiohttp -from aiohttp import hdrs, helpers, web +from aiohttp import hdrs, web @pytest.fixture @@ -136,7 +136,7 @@ async def handler(request): async def test_ping_pong(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -172,7 +172,7 @@ async def handler(request): async def test_ping_pong_manual(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -273,7 +273,7 @@ async def handler(request): async def test_close_from_server(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -305,7 +305,7 @@ async def handler(request): async def test_close_manual(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -748,7 +748,7 @@ async def handler(request): async def test_closed_async_for(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() diff --git a/tests/test_connector.py b/tests/test_connector.py index 33938a4e59a..8edb1c0cd12 100644 --- a/tests/test_connector.py +++ b/tests/test_connector.py @@ -15,7 +15,7 @@ from yarl import URL import aiohttp -from aiohttp import client, helpers, web +from aiohttp import client, web from aiohttp.client import ClientRequest from aiohttp.connector import Connection, _DNSCacheTable from aiohttp.test_utils import unused_port @@ -566,7 +566,7 @@ async def test_connect(loop): key = ('host', 80, False) conn._conns[key] = [(proto, loop.time())] conn._create_connection = mock.Mock() - conn._create_connection.return_value = helpers.create_future(loop) + conn._create_connection.return_value = loop.create_future() conn._create_connection.return_value.set_result(proto) connection = await conn.connect(req) @@ -581,7 +581,7 @@ async def test_close_during_connect(loop): proto = mock.Mock() proto.is_connected.return_value = True - fut = helpers.create_future(loop) + fut = loop.create_future() req = ClientRequest('GET', URL('http://host:80'), loop=loop) conn = aiohttp.BaseConnector(loop=loop) @@ -836,7 +836,7 @@ async def test_connect_with_limit(loop, key): conn = aiohttp.BaseConnector(loop=loop, limit=1) conn._conns[key] = [(proto, loop.time())] conn._create_connection = mock.Mock() - conn._create_connection.return_value = helpers.create_future(loop) + conn._create_connection.return_value = loop.create_future() conn._create_connection.return_value.set_result(proto) connection1 = await conn.connect(req) @@ -877,7 +877,7 @@ async def test_connect_with_limit_and_limit_per_host(loop, key): conn = aiohttp.BaseConnector(loop=loop, limit=1000, limit_per_host=1) conn._conns[key] = [(proto, loop.time())] conn._create_connection = mock.Mock() - conn._create_connection.return_value = helpers.create_future(loop) + conn._create_connection.return_value = loop.create_future() conn._create_connection.return_value.set_result(proto) acquired = False @@ -911,7 +911,7 @@ async def test_connect_with_no_limit_and_limit_per_host(loop, key): conn = aiohttp.BaseConnector(loop=loop, limit=0, limit_per_host=1) conn._conns[key] = [(proto, loop.time())] conn._create_connection = mock.Mock() - conn._create_connection.return_value = helpers.create_future(loop) + conn._create_connection.return_value = loop.create_future() conn._create_connection.return_value.set_result(proto) acquired = False @@ -943,7 +943,7 @@ async def test_connect_with_no_limits(loop, key): conn = aiohttp.BaseConnector(loop=loop, limit=0, limit_per_host=0) conn._conns[key] = [(proto, loop.time())] conn._create_connection = mock.Mock() - conn._create_connection.return_value = helpers.create_future(loop) + conn._create_connection.return_value = loop.create_future() conn._create_connection.return_value.set_result(proto) acquired = False @@ -977,7 +977,7 @@ async def test_connect_with_limit_cancelled(loop): key = ('host', 80, False) conn._conns[key] = [(proto, loop.time())] conn._create_connection = mock.Mock() - conn._create_connection.return_value = helpers.create_future(loop) + conn._create_connection.return_value = loop.create_future() conn._create_connection.return_value.set_result(proto) connection = await conn.connect(req) @@ -998,7 +998,7 @@ def check_with_exc(err): conn = aiohttp.BaseConnector(limit=1, loop=loop) conn._create_connection = mock.Mock() conn._create_connection.return_value = \ - helpers.create_future(loop) + loop.create_future() conn._create_connection.return_value.set_exception(err) with pytest.raises(Exception): @@ -1083,7 +1083,7 @@ async def test_close_with_acquired_connection(loop): key = ('host', 80, False) conn._conns[key] = [(proto, loop.time())] conn._create_connection = mock.Mock() - conn._create_connection.return_value = helpers.create_future(loop) + conn._create_connection.return_value = loop.create_future() conn._create_connection.return_value.set_result(proto) connection = await conn.connect(req) @@ -1152,7 +1152,7 @@ async def test_error_on_connection(loop): proto = mock.Mock() i = 0 - fut = helpers.create_future(loop=loop) + fut = loop.create_future() exc = OSError() async def create_connection(req): @@ -1193,8 +1193,8 @@ async def test_error_on_connection_with_cancelled_waiter(loop): proto = mock.Mock() i = 0 - fut1 = helpers.create_future(loop=loop) - fut2 = helpers.create_future(loop=loop) + fut1 = loop.create_future() + fut2 = loop.create_future() exc = OSError() async def create_connection(req): diff --git a/tests/test_helpers.py b/tests/test_helpers.py index e0b7747e8e7..31c53dac003 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -2,7 +2,6 @@ import datetime import gc import os -import sys import tempfile from unittest import mock @@ -303,31 +302,6 @@ def prop(self): with pytest.raises(AttributeError): a.prop = 123 - -@pytest.mark.skipif(sys.version_info < (3, 5, 2), reason='old python') -def test_create_future_with_new_loop(): - # We should use the new create_future() if it's available. - mock_loop = mock.Mock() - expected = 'hello' - mock_loop.create_future.return_value = expected - assert expected == helpers.create_future(mock_loop) - - -@pytest.mark.skipif(sys.version_info >= (3, 5, 2), reason='new python') -def test_create_future_with_old_loop(mocker): - MockFuture = mocker.patch('asyncio.Future') - # The old loop (without create_future()) should just have a Future object - # wrapped around it. - mock_loop = mock.Mock() - del mock_loop.create_future - - expected = 'hello' - MockFuture.return_value = expected - - future = helpers.create_future(mock_loop) - MockFuture.assert_called_with(loop=mock_loop) - assert expected == future - # ----------------------------------- is_ip_address() ---------------------- diff --git a/tests/test_multipart.py b/tests/test_multipart.py index 374e256012c..d35ea4cf14e 100644 --- a/tests/test_multipart.py +++ b/tests/test_multipart.py @@ -9,7 +9,7 @@ import pytest import aiohttp.multipart -from aiohttp import helpers, payload +from aiohttp import payload from aiohttp.hdrs import (CONTENT_DISPOSITION, CONTENT_ENCODING, CONTENT_TRANSFER_ENCODING, CONTENT_TYPE) from aiohttp.helpers import parse_mimetype @@ -69,7 +69,7 @@ def tearDown(self): self.loop.close() def future(self, obj): - fut = helpers.create_future(self.loop) + fut = self.loop.create_future() fut.set_result(obj) return fut @@ -193,7 +193,7 @@ async def test_read_incomplete_chunk(self): stream = Stream(b'') def prepare(data): - f = helpers.create_future(self.loop) + f = self.loop.create_future() f.set_result(data) return f @@ -234,7 +234,7 @@ async def test_read_boundary_with_incomplete_chunk(self): stream = Stream(b'') def prepare(data): - f = helpers.create_future(self.loop) + f = self.loop.create_future() f.set_result(data) return f diff --git a/tests/test_streams.py b/tests/test_streams.py index a2780377c15..4b9ac7f29ca 100644 --- a/tests/test_streams.py +++ b/tests/test_streams.py @@ -6,7 +6,7 @@ import pytest -from aiohttp import helpers, streams, test_utils +from aiohttp import streams, test_utils DATA = b'line1\nline2\nline3\n' @@ -40,7 +40,7 @@ def _make_one(self, *args, **kwargs): def test_create_waiter(self): stream = self._make_one() - stream._waiter = helpers.create_future(self.loop) + stream._waiter = self.loop.create_future with self.assertRaises(RuntimeError): self.loop.run_until_complete(stream._wait('test')) @@ -567,7 +567,7 @@ def test_read_nowait_exception(self): def test_read_nowait_waiter(self): stream = self._make_one() stream.feed_data(b'line\n') - stream._waiter = helpers.create_future(self.loop) + stream._waiter = self.loop.create_future() self.assertRaises(RuntimeError, stream.read_nowait) @@ -729,7 +729,7 @@ def test___repr__exception(self): def test___repr__waiter(self): stream = self._make_one() - stream._waiter = helpers.create_future(self.loop) + stream._waiter = self.loop.create_future() self.assertRegex( repr(stream), ">") @@ -829,7 +829,7 @@ def test_read_cancelled(self): read_task = asyncio.Task(self.buffer.read(), loop=self.loop) test_utils.run_briefly(self.loop) waiter = self.buffer._waiter - self.assertTrue(helpers.isfuture(waiter)) + self.assertTrue(asyncio.isfuture(waiter)) read_task.cancel() self.assertRaises( @@ -883,7 +883,7 @@ def test_read_exception_with_data(self): def test_read_exception_on_wait(self): read_task = asyncio.Task(self.buffer.read(), loop=self.loop) test_utils.run_briefly(self.loop) - self.assertTrue(helpers.isfuture(self.buffer._waiter)) + self.assertTrue(asyncio.isfuture(self.buffer._waiter)) self.buffer.feed_eof() self.buffer.set_exception(ValueError()) @@ -960,8 +960,8 @@ def test_readany(self): def test_feed_data_waiters(loop): reader = streams.StreamReader(loop=loop) - waiter = reader._waiter = helpers.create_future(loop) - eof_waiter = reader._eof_waiter = helpers.create_future(loop) + waiter = reader._waiter = loop.create_future() + eof_waiter = reader._eof_waiter = loop.create_future() reader.feed_data(b'1') assert list(reader._buffer) == [b'1'] @@ -976,7 +976,7 @@ def test_feed_data_waiters(loop): def test_feed_data_completed_waiters(loop): reader = streams.StreamReader(loop=loop) - waiter = reader._waiter = helpers.create_future(loop) + waiter = reader._waiter = loop.create_future() waiter.set_result(1) reader.feed_data(b'1') @@ -986,8 +986,8 @@ def test_feed_data_completed_waiters(loop): def test_feed_eof_waiters(loop): reader = streams.StreamReader(loop=loop) - waiter = reader._waiter = helpers.create_future(loop) - eof_waiter = reader._eof_waiter = helpers.create_future(loop) + waiter = reader._waiter = loop.create_future() + eof_waiter = reader._eof_waiter = loop.create_future() reader.feed_eof() assert reader._eof @@ -1000,8 +1000,8 @@ def test_feed_eof_waiters(loop): def test_feed_eof_cancelled(loop): reader = streams.StreamReader(loop=loop) - waiter = reader._waiter = helpers.create_future(loop) - eof_waiter = reader._eof_waiter = helpers.create_future(loop) + waiter = reader._waiter = loop.create_future() + eof_waiter = reader._eof_waiter = loop.create_future() waiter.set_result(1) eof_waiter.set_result(1) @@ -1081,8 +1081,8 @@ def test_on_eof_eof_is_set_exception(loop): def test_set_exception(loop): reader = streams.StreamReader(loop=loop) - waiter = reader._waiter = helpers.create_future(loop) - eof_waiter = reader._eof_waiter = helpers.create_future(loop) + waiter = reader._waiter = loop.create_future() + eof_waiter = reader._eof_waiter = loop.create_future() exc = ValueError() reader.set_exception(exc) @@ -1095,8 +1095,8 @@ def test_set_exception(loop): def test_set_exception_cancelled(loop): reader = streams.StreamReader(loop=loop) - waiter = reader._waiter = helpers.create_future(loop) - eof_waiter = reader._eof_waiter = helpers.create_future(loop) + waiter = reader._waiter = loop.create_future() + eof_waiter = reader._eof_waiter = loop.create_future() waiter.set_result(1) eof_waiter.set_result(1) diff --git a/tests/test_web_application.py b/tests/test_web_application.py index 6e07641ffe0..b29381831be 100644 --- a/tests/test_web_application.py +++ b/tests/test_web_application.py @@ -3,7 +3,7 @@ import pytest -from aiohttp import helpers, log, web +from aiohttp import log, web from aiohttp.abc import AbstractAccessLogger, AbstractRouter @@ -117,7 +117,7 @@ async def test_app_register_on_finish(): async def test_app_register_coro(loop): app = web.Application() - fut = helpers.create_future(loop) + fut = loop.create_future() async def cb(app): await asyncio.sleep(0.001, loop=loop) diff --git a/tests/test_web_protocol.py b/tests/test_web_protocol.py index eb806779cc7..c0e3baeb55f 100644 --- a/tests/test_web_protocol.py +++ b/tests/test_web_protocol.py @@ -566,7 +566,7 @@ async def test_keep_alive(make_srv, loop, transport, ceil): srv.keep_alive(True) srv.handle_request = mock.Mock() - srv.handle_request.return_value = helpers.create_future(loop) + srv.handle_request.return_value = loop.create_future() srv.handle_request.return_value.set_result(1) srv.data_received( diff --git a/tests/test_web_sendfile.py b/tests/test_web_sendfile.py index b3e43456f1c..2bec965893b 100644 --- a/tests/test_web_sendfile.py +++ b/tests/test_web_sendfile.py @@ -1,6 +1,6 @@ from unittest import mock -from aiohttp import hdrs, helpers +from aiohttp import hdrs from aiohttp.test_utils import make_mocked_coro, make_mocked_request from aiohttp.web_fileresponse import FileResponse, SendfilePayloadWriter @@ -10,7 +10,7 @@ def test_static_handle_eof(loop): with mock.patch('aiohttp.web_fileresponse.os') as m_os: out_fd = 30 in_fd = 31 - fut = helpers.create_future(loop) + fut = loop.create_future() m_os.sendfile.return_value = 0 writer = SendfilePayloadWriter(fake_loop, mock.Mock()) writer._sendfile_cb(fut, out_fd, in_fd, 0, 100, fake_loop, False) @@ -26,7 +26,7 @@ def test_static_handle_again(loop): with mock.patch('aiohttp.web_fileresponse.os') as m_os: out_fd = 30 in_fd = 31 - fut = helpers.create_future(loop) + fut = loop.create_future() m_os.sendfile.side_effect = BlockingIOError() writer = SendfilePayloadWriter(fake_loop, mock.Mock()) writer._sendfile_cb(fut, out_fd, in_fd, 0, 100, fake_loop, False) @@ -44,7 +44,7 @@ def test_static_handle_exception(loop): with mock.patch('aiohttp.web_fileresponse.os') as m_os: out_fd = 30 in_fd = 31 - fut = helpers.create_future(loop) + fut = loop.create_future() exc = OSError() m_os.sendfile.side_effect = exc writer = SendfilePayloadWriter(fake_loop, mock.Mock()) @@ -61,7 +61,7 @@ def test__sendfile_cb_return_on_cancelling(loop): with mock.patch('aiohttp.web_fileresponse.os') as m_os: out_fd = 30 in_fd = 31 - fut = helpers.create_future(loop) + fut = loop.create_future() fut.cancel() writer = SendfilePayloadWriter(fake_loop, mock.Mock()) writer._sendfile_cb(fut, out_fd, in_fd, 0, 100, fake_loop, False) diff --git a/tests/test_web_websocket.py b/tests/test_web_websocket.py index df17b437b3b..763d7929cf5 100644 --- a/tests/test_web_websocket.py +++ b/tests/test_web_websocket.py @@ -4,7 +4,7 @@ import pytest from multidict import CIMultiDict -from aiohttp import WSMessage, WSMsgType, helpers, signals +from aiohttp import WSMessage, WSMsgType, signals from aiohttp.log import ws_logger from aiohttp.test_utils import make_mocked_coro, make_mocked_request from aiohttp.web import HTTPBadRequest, HTTPMethodNotAllowed, WebSocketResponse @@ -354,11 +354,11 @@ async def test_receive_exc_in_reader(make_request, loop): ws._reader = mock.Mock() exc = ValueError() - res = helpers.create_future(loop) + res = loop.create_future() res.set_exception(exc) ws._reader.read = make_mocked_coro(res) ws._payload_writer.drain = mock.Mock() - ws._payload_writer.drain.return_value = helpers.create_future(loop) + ws._payload_writer.drain.return_value = loop.create_future() ws._payload_writer.drain.return_value.set_result(True) msg = await ws.receive() @@ -373,7 +373,7 @@ async def test_receive_cancelled(make_request, loop): await ws.prepare(req) ws._reader = mock.Mock() - res = helpers.create_future(loop) + res = loop.create_future() res.set_exception(asyncio.CancelledError()) ws._reader.read = make_mocked_coro(res) @@ -387,7 +387,7 @@ async def test_receive_timeouterror(make_request, loop): await ws.prepare(req) ws._reader = mock.Mock() - res = helpers.create_future(loop) + res = loop.create_future() res.set_exception(asyncio.TimeoutError()) ws._reader.read = make_mocked_coro(res) @@ -429,10 +429,10 @@ async def test_close_exc(make_request, loop, mocker): ws._reader = mock.Mock() exc = ValueError() - ws._reader.read.return_value = helpers.create_future(loop) + ws._reader.read.return_value = loop.create_future() ws._reader.read.return_value.set_exception(exc) ws._payload_writer.drain = mock.Mock() - ws._payload_writer.drain.return_value = helpers.create_future(loop) + ws._payload_writer.drain.return_value = loop.create_future() ws._payload_writer.drain.return_value.set_result(True) await ws.close() @@ -440,7 +440,7 @@ async def test_close_exc(make_request, loop, mocker): assert ws.exception() is exc ws._closed = False - ws._reader.read.return_value = helpers.create_future(loop) + ws._reader.read.return_value = loop.create_future() ws._reader.read.return_value.set_exception(asyncio.CancelledError()) with pytest.raises(asyncio.CancelledError): await ws.close() diff --git a/tests/test_web_websocket_functional.py b/tests/test_web_websocket_functional.py index d28430b2f9b..d605cfdcd26 100644 --- a/tests/test_web_websocket_functional.py +++ b/tests/test_web_websocket_functional.py @@ -5,7 +5,7 @@ import pytest import aiohttp -from aiohttp import helpers, web +from aiohttp import web from aiohttp.http import WSMsgType @@ -171,7 +171,7 @@ async def handler(request): async def test_send_recv_text(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -205,7 +205,7 @@ async def handler(request): async def test_send_recv_bytes(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -239,7 +239,7 @@ async def handler(request): async def test_send_recv_json(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -273,7 +273,7 @@ async def handler(request): async def test_close_timeout(loop, test_client): - aborted = helpers.create_future(loop) + aborted = loop.create_future() async def handler(request): ws = web.WebSocketResponse(timeout=0.1) @@ -367,7 +367,7 @@ async def handler(request): async def test_auto_pong_with_closing_by_peer(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -397,7 +397,7 @@ async def handler(request): async def test_ping(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -424,7 +424,7 @@ async def handler(request): async def test_client_ping(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -450,7 +450,7 @@ async def handler(request): async def test_pong(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse(autoping=False) @@ -485,7 +485,7 @@ async def handler(request): async def test_change_status(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -510,7 +510,7 @@ async def handler(request): async def test_handle_protocol(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse(protocols=('foo', 'bar')) @@ -532,7 +532,7 @@ async def handler(request): async def test_server_close_handshake(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse(protocols=('foo', 'bar')) @@ -556,7 +556,7 @@ async def handler(request): async def test_client_close_handshake(loop, test_client, ceil): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse( @@ -592,7 +592,7 @@ async def handler(request): async def test_server_close_handshake_server_eats_client_messages( loop, test_client ): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse(protocols=('foo', 'bar')) @@ -721,7 +721,7 @@ async def handler(request): async def test_server_ws_async_for(loop, test_server): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() @@ -754,7 +754,7 @@ async def handler(request): async def test_closed_async_for(loop, test_client): - closed = helpers.create_future(loop) + closed = loop.create_future() async def handler(request): ws = web.WebSocketResponse() diff --git a/tests/test_worker.py b/tests/test_worker.py index e850ab396a4..1134eb66542 100644 --- a/tests/test_worker.py +++ b/tests/test_worker.py @@ -8,7 +8,6 @@ import pytest -from aiohttp import helpers from aiohttp.test_utils import make_mocked_coro @@ -282,7 +281,7 @@ async def test__run_exc(worker, loop): worker.cfg.max_requests = 100 with mock.patch('aiohttp.worker.asyncio.sleep') as m_sleep: - slp = helpers.create_future(loop) + slp = loop.create_future() slp.set_exception(KeyboardInterrupt) m_sleep.return_value = slp @@ -304,10 +303,10 @@ async def test_close(worker, loop): app = worker.wsgi = mock.Mock() app.cleanup = make_mocked_coro(None) handler.connections = [object()] - handler.shutdown.return_value = helpers.create_future(loop) + handler.shutdown.return_value = loop.create_future() handler.shutdown.return_value.set_result(1) - app.shutdown.return_value = helpers.create_future(loop) + app.shutdown.return_value = loop.create_future() app.shutdown.return_value.set_result(None) await worker.close() @@ -329,7 +328,7 @@ async def test_close_wsgi(worker, loop): worker.loop = loop worker.wsgi = lambda env, start_resp: start_resp() handler.connections = [object()] - handler.shutdown.return_value = helpers.create_future(loop) + handler.shutdown.return_value = loop.create_future() handler.shutdown.return_value.set_result(1) await worker.close() diff --git a/tools/check_changes.py b/tools/check_changes.py index a6a1715a818..a2041662477 100755 --- a/tools/check_changes.py +++ b/tools/check_changes.py @@ -3,6 +3,7 @@ import sys from pathlib import Path + ALLOWED_SUFFIXES = ['.feature', '.bugfix', '.doc',