dev-python/pytest-asyncio: Enable py3.8

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2020-04-20 15:29:39 +02:00
parent 58516405d2
commit e0ba901ae2
2 changed files with 192 additions and 1 deletions

View File

@@ -0,0 +1,187 @@
From ab2b14048a691479fa9f8811aaa558018c6db6e3 Mon Sep 17 00:00:00 2001
From: Andrew Svetlov <andrew.svetlov@gmail.com>
Date: Thu, 9 Apr 2020 08:44:46 +0200
Subject: [PATCH] Test on Python 3.8, drop 3.3 and 3.4
---
.travis.yml | 7 +++---
setup.py | 1 +
tests/conftest.py | 2 +-
tests/test_hypothesis_integration.py | 2 +-
tests/test_simple.py | 32 +++++++++++-----------------
tests/test_simple_35.py | 17 ++++++---------
tests/test_subprocess.py | 6 ++----
tox.ini | 5 +++--
8 files changed, 29 insertions(+), 43 deletions(-)
diff --git a/tests/conftest.py b/tests/conftest.py
index 6203cf8..cc2ec16 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -17,7 +17,7 @@ def dependent_fixture(event_loop):
async def just_a_sleep():
"""Just sleep a little while."""
nonlocal event_loop
- await asyncio.sleep(0.1, loop=event_loop)
+ await asyncio.sleep(0.1)
nonlocal counter
counter += 1
diff --git a/tests/test_simple.py b/tests/test_simple.py
index 1627139..00c07fc 100644
--- a/tests/test_simple.py
+++ b/tests/test_simple.py
@@ -1,28 +1,26 @@
"""Quick'n'dirty unit tests for provided fixtures and markers."""
import asyncio
-import os
import pytest
import pytest_asyncio.plugin
-async def async_coro(loop=None):
- """A very simple coroutine."""
- await asyncio.sleep(0, loop=loop)
+async def async_coro():
+ await asyncio.sleep(0)
return 'ok'
def test_event_loop_fixture(event_loop):
"""Test the injection of the event_loop fixture."""
assert event_loop
- ret = event_loop.run_until_complete(async_coro(event_loop))
+ ret = event_loop.run_until_complete(async_coro())
assert ret == 'ok'
@pytest.mark.asyncio
-def test_asyncio_marker():
+async def test_asyncio_marker():
"""Test the asyncio pytest marker."""
- yield # sleep(0)
+ await asyncio.sleep(0)
@pytest.mark.xfail(reason='need a failure', strict=True)
@@ -45,13 +43,11 @@ async def closer(_, writer):
writer.close()
server1 = await asyncio.start_server(closer, host='localhost',
- port=unused_tcp_port,
- loop=event_loop)
+ port=unused_tcp_port)
with pytest.raises(IOError):
await asyncio.start_server(closer, host='localhost',
- port=unused_tcp_port,
- loop=event_loop)
+ port=unused_tcp_port)
server1.close()
await server1.wait_closed()
@@ -68,20 +64,16 @@ async def closer(_, writer):
unused_tcp_port_factory())
server1 = await asyncio.start_server(closer, host='localhost',
- port=port1,
- loop=event_loop)
+ port=port1)
server2 = await asyncio.start_server(closer, host='localhost',
- port=port2,
- loop=event_loop)
+ port=port2)
server3 = await asyncio.start_server(closer, host='localhost',
- port=port3,
- loop=event_loop)
+ port=port3)
for port in port1, port2, port3:
with pytest.raises(IOError):
await asyncio.start_server(closer, host='localhost',
- port=port,
- loop=event_loop)
+ port=port)
server1.close()
await server1.wait_closed()
@@ -117,7 +109,7 @@ class Test:
@pytest.mark.asyncio
async def test_asyncio_marker_method(self, event_loop):
"""Test the asyncio pytest marker in a Test class."""
- ret = await async_coro(event_loop)
+ ret = await async_coro()
assert ret == 'ok'
diff --git a/tests/test_simple_35.py b/tests/test_simple_35.py
index 1e4d697..4141fb0 100644
--- a/tests/test_simple_35.py
+++ b/tests/test_simple_35.py
@@ -6,7 +6,7 @@
@pytest.mark.asyncio
async def async_coro(loop):
- await asyncio.sleep(0, loop=loop)
+ await asyncio.sleep(0)
return 'ok'
@@ -27,8 +27,7 @@ async def closer(_, writer):
writer.close()
server1 = await asyncio.start_server(closer, host='localhost',
- port=unused_tcp_port,
- loop=event_loop)
+ port=unused_tcp_port)
server1.close()
await server1.wait_closed()
@@ -45,20 +44,16 @@ async def closer(_, writer):
async def run_test():
server1 = await asyncio.start_server(closer, host='localhost',
- port=port1,
- loop=event_loop)
+ port=port1)
server2 = await asyncio.start_server(closer, host='localhost',
- port=port2,
- loop=event_loop)
+ port=port2)
server3 = await asyncio.start_server(closer, host='localhost',
- port=port3,
- loop=event_loop)
+ port=port3)
for port in port1, port2, port3:
with pytest.raises(IOError):
await asyncio.start_server(closer, host='localhost',
- port=port,
- loop=event_loop)
+ port=port)
server1.close()
await server1.wait_closed()
diff --git a/tests/test_subprocess.py b/tests/test_subprocess.py
index 83490e8..069c6c2 100644
--- a/tests/test_subprocess.py
+++ b/tests/test_subprocess.py
@@ -21,8 +21,7 @@ def event_loop():
async def test_subprocess(event_loop):
"""Starting a subprocess should be possible."""
proc = await asyncio.subprocess.create_subprocess_exec(
- sys.executable, '--version', stdout=asyncio.subprocess.PIPE,
- loop=event_loop)
+ sys.executable, '--version', stdout=asyncio.subprocess.PIPE)
await proc.communicate()
@@ -30,6 +29,5 @@ async def test_subprocess(event_loop):
async def test_subprocess_forbid(event_loop):
"""Starting a subprocess should be possible."""
proc = await asyncio.subprocess.create_subprocess_exec(
- sys.executable, '--version', stdout=asyncio.subprocess.PIPE,
- loop=event_loop)
+ sys.executable, '--version', stdout=asyncio.subprocess.PIPE)
await proc.communicate()

View File

@@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="Library for testing asyncio code with pytest"
@@ -27,6 +27,10 @@ DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
)"
PATCHES=(
"${FILESDIR}"/pytest-asyncio-0.10.0-py38.patch
)
python_test() {
distutils_install_for_testing
pytest -vv || die "Tests fail with ${EPYTHON}"