pytest-asyncio 1.2.0__tar.gz → 1.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/PKG-INFO +3 -4
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/constraints.txt +17 -17
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/migrate_from_0_23.rst +2 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/changelog.rst +30 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pyproject.toml +2 -3
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pytest_asyncio/plugin.py +3 -8
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pytest_asyncio.egg-info/PKG-INFO +3 -4
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pytest_asyncio.egg-info/requires.txt +1 -1
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/hypothesis/test_base.py +1 -1
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/markers/test_class_scope.py +21 -6
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/markers/test_function_scope.py +20 -5
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/markers/test_invalid_arguments.py +8 -4
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/markers/test_module_scope.py +21 -6
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/markers/test_package_scope.py +20 -5
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/markers/test_session_scope.py +21 -6
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/modes/test_strict_mode.py +4 -4
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_asyncio_mark.py +14 -7
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_event_loop_fixture.py +3 -53
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_fixture_loop_scopes.py +6 -5
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_set_event_loop.py +3 -3
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tox.ini +2 -3
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/.readthedocs.yaml +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/LICENSE +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/MANIFEST.in +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/Makefile +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/README.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/SECURITY.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/changelog.d/.gitkeep +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/dependencies/docs/constraints.txt +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/dependencies/pytest-min/constraints.txt +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/dependencies/pytest-min/requirements.txt +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/concepts.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/concepts_concurrent_execution_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/concepts_function_scope_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/concepts_module_scope_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/conf.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/change_default_fixture_loop.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/change_default_test_loop.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/change_fixture_loop.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/change_fixture_loop_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/class_scoped_loop_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/index.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/migrate_from_0_21.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/module_scoped_loop_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/multiple_loops.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/multiple_loops_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/package_scoped_loop_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/parametrize_with_asyncio.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/parametrize_with_asyncio_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/run_class_tests_in_same_loop.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/run_module_tests_in_same_loop.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/run_package_tests_in_same_loop.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/test_item_is_async.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/test_item_is_async_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/how-to-guides/uvloop.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/index.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/configuration.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/decorators/index.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/decorators/pytest_asyncio_fixture_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/fixtures/event_loop_policy_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/fixtures/event_loop_policy_parametrized_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/fixtures/index.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/functions.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/index.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/markers/class_scoped_loop_custom_policies_strict_mode_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/markers/class_scoped_loop_strict_mode_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/markers/class_scoped_loop_with_fixture_strict_mode_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/markers/function_scoped_loop_pytestmark_strict_mode_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/markers/function_scoped_loop_strict_mode_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/markers/index.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/reference/markers/module_scoped_loop_strict_mode_example.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/docs/support.rst +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pytest_asyncio/__init__.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pytest_asyncio/py.typed +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pytest_asyncio.egg-info/SOURCES.txt +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pytest_asyncio.egg-info/dependency_links.txt +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pytest_asyncio.egg-info/entry_points.txt +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/pytest_asyncio.egg-info/top_level.txt +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/setup.cfg +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/__init__.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/async_fixtures/__init__.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/async_fixtures/test_async_fixtures.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/async_fixtures/test_async_fixtures_contextvars.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/async_fixtures/test_nested.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/async_fixtures/test_shared_module_fixture.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/conftest.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/hypothesis/__init__.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/markers/__init__.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/markers/test_mixed_scope.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/modes/__init__.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/modes/test_auto_mode.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_asyncio_debug.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_asyncio_fixture.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_doctest.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_import.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_is_async_test.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_package.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_port_factories.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_simple.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_skips.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_subprocess.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tests/test_task_cleanup.py +0 -0
- {pytest_asyncio-1.2.0 → pytest_asyncio-1.3.0}/tools/get-version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pytest-asyncio
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: Pytest support for asyncio
|
|
5
5
|
Author-email: Tin Tvrtković <tinchester@gmail.com>
|
|
6
6
|
Maintainer-email: Michael Seifert <m.seifert@digitalernachschub.de>
|
|
@@ -15,7 +15,6 @@ Classifier: Framework :: AsyncIO
|
|
|
15
15
|
Classifier: Framework :: Pytest
|
|
16
16
|
Classifier: Intended Audience :: Developers
|
|
17
17
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -23,11 +22,11 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.14
|
|
24
23
|
Classifier: Topic :: Software Development :: Testing
|
|
25
24
|
Classifier: Typing :: Typed
|
|
26
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.10
|
|
27
26
|
Description-Content-Type: text/x-rst
|
|
28
27
|
License-File: LICENSE
|
|
29
28
|
Requires-Dist: backports-asyncio-runner<2,>=1.1; python_version < "3.11"
|
|
30
|
-
Requires-Dist: pytest<
|
|
29
|
+
Requires-Dist: pytest<10,>=8.2
|
|
31
30
|
Requires-Dist: typing-extensions>=4.12; python_version < "3.13"
|
|
32
31
|
Provides-Extra: docs
|
|
33
32
|
Requires-Dist: sphinx>=5.3; extra == "docs"
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
alabaster==0.7.16
|
|
2
2
|
annotated-types-0.7.0
|
|
3
|
-
attrs==25.
|
|
3
|
+
attrs==25.4.0
|
|
4
4
|
babel==2.17.0
|
|
5
5
|
backports.asyncio.runner==1.2.0
|
|
6
6
|
backports.tarfile==1.2.0
|
|
7
|
-
certifi==2025.
|
|
8
|
-
charset-normalizer==3.4.
|
|
7
|
+
certifi==2025.10.5
|
|
8
|
+
charset-normalizer==3.4.4
|
|
9
9
|
check-wheel-contents==0.6.1
|
|
10
|
-
cffi==
|
|
10
|
+
cffi==2.0.0
|
|
11
11
|
click==8.1.8
|
|
12
|
-
coverage==7.10.
|
|
13
|
-
cryptography==
|
|
12
|
+
coverage==7.10.7
|
|
13
|
+
cryptography==46.0.3
|
|
14
14
|
docutils==0.21.2
|
|
15
15
|
exceptiongroup==1.3.0
|
|
16
|
-
hypothesis==6.
|
|
16
|
+
hypothesis==6.141.1
|
|
17
17
|
iniconfig==2.1.0
|
|
18
18
|
id==1.5.0
|
|
19
|
-
idna==3.
|
|
19
|
+
idna==3.11
|
|
20
20
|
imagesize==1.4.1
|
|
21
21
|
importlib_metadata==8.7.0
|
|
22
22
|
iniconfig==2.1.0
|
|
@@ -27,25 +27,25 @@ jeepney==0.9.0
|
|
|
27
27
|
Jinja2==3.1.6
|
|
28
28
|
keyring==25.6.0
|
|
29
29
|
markdown-it-py==3.0.0
|
|
30
|
-
MarkupSafe==3.0.
|
|
30
|
+
MarkupSafe==3.0.3
|
|
31
31
|
mdurl==0.1.2
|
|
32
32
|
more-itertools==10.8.0
|
|
33
|
-
nh3==0.3.
|
|
33
|
+
nh3==0.3.2
|
|
34
34
|
packaging==25.0
|
|
35
35
|
pluggy==1.6.0
|
|
36
36
|
Pygments==2.19.2
|
|
37
|
-
pycparser==2.
|
|
38
|
-
pydantic==2.11.
|
|
37
|
+
pycparser==2.23
|
|
38
|
+
pydantic==2.11.10
|
|
39
39
|
pydantic-core==2.33.2
|
|
40
|
-
pytest==
|
|
40
|
+
pytest==9.0.0
|
|
41
41
|
readme-renderer==44.0
|
|
42
42
|
requests==2.32.5
|
|
43
43
|
requests-toolbelt==1.0.0
|
|
44
44
|
rfc3986==2.0.0
|
|
45
|
-
rich==14.
|
|
45
|
+
rich==14.2.0
|
|
46
46
|
SecretStorage==3.3.3
|
|
47
47
|
setuptools==80.9.0
|
|
48
|
-
setuptools-scm==9.2.
|
|
48
|
+
setuptools-scm==9.2.2
|
|
49
49
|
snowballstemmer==3.0.1
|
|
50
50
|
sortedcontainers==2.4.0
|
|
51
51
|
Sphinx==8.0.2
|
|
@@ -57,10 +57,10 @@ sphinxcontrib-jquery==4.1
|
|
|
57
57
|
sphinxcontrib-jsmath==1.0.1
|
|
58
58
|
sphinxcontrib-qthelp==2.0.0
|
|
59
59
|
sphinxcontrib-serializinghtml==2.0.0
|
|
60
|
-
tomli==2.
|
|
60
|
+
tomli==2.3.0
|
|
61
61
|
twine==6.2.0
|
|
62
62
|
typing_extensions==4.15.0
|
|
63
|
-
typing-inspection==0.4.
|
|
63
|
+
typing-inspection==0.4.2
|
|
64
64
|
urllib3==2.5.0
|
|
65
65
|
wheel-filename==1.4.2
|
|
66
66
|
zipp==3.23.0
|
|
@@ -10,6 +10,28 @@ This project uses `towncrier <https://towncrier.readthedocs.io/>`__ for changlog
|
|
|
10
10
|
|
|
11
11
|
.. towncrier release notes start
|
|
12
12
|
|
|
13
|
+
`1.3.0 <https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0>`_ - 2025-11-10
|
|
14
|
+
===============================================================================
|
|
15
|
+
|
|
16
|
+
Removed
|
|
17
|
+
-------
|
|
18
|
+
|
|
19
|
+
- Support for Python 3.9 (`#1278 <https://github.com/pytest-dev/pytest-asyncio/issues/1278>`_)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
Added
|
|
23
|
+
-----
|
|
24
|
+
|
|
25
|
+
- Support for pytest 9 (`#1279 <https://github.com/pytest-dev/pytest-asyncio/issues/1279>`_)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
Notes for Downstream Packagers
|
|
29
|
+
------------------------------
|
|
30
|
+
|
|
31
|
+
- Tested Python versions include free threaded Python 3.14t (`#1274 <https://github.com/pytest-dev/pytest-asyncio/issues/1274>`_)
|
|
32
|
+
- Tests are run in the same pytest process, instead of spawning a subprocess with `pytest.Pytester.runpytest_subprocess`. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (`#1275 <https://github.com/pytest-dev/pytest-asyncio/issues/1275>`_)
|
|
33
|
+
|
|
34
|
+
|
|
13
35
|
`1.2.0 <https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0>`_ - 2025-09-12
|
|
14
36
|
===============================================================================
|
|
15
37
|
|
|
@@ -62,6 +84,10 @@ Notes for Downstream Packagers
|
|
|
62
84
|
`1.0.0 <https://github.com/pytest-dev/pytest-asyncio/tree/1.0.0>`_ - 2025-05-26
|
|
63
85
|
===============================================================================
|
|
64
86
|
|
|
87
|
+
.. seealso::
|
|
88
|
+
|
|
89
|
+
:ref:`How to migrate from pytest-asyncio v0.23 <how_to_guides/migrate_from_0_23>`
|
|
90
|
+
|
|
65
91
|
Removed
|
|
66
92
|
-------
|
|
67
93
|
|
|
@@ -211,6 +237,10 @@ As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the t
|
|
|
211
237
|
This release is backwards-compatible with v0.21.
|
|
212
238
|
Changes are non-breaking, unless you upgrade from v0.22.
|
|
213
239
|
|
|
240
|
+
.. seealso::
|
|
241
|
+
|
|
242
|
+
:ref:`How to migrate from pytest-asyncio v0.21 <how_to_guides/migrate_from_0_21>`
|
|
243
|
+
|
|
214
244
|
- BREAKING: The *asyncio_event_loop* mark has been removed. Event loops with class, module, package, and session scopes can be requested via the *scope* keyword argument to the _asyncio_ mark.
|
|
215
245
|
- Introduces the *event_loop_policy* fixture which allows testing with non-default or multiple event loops `#662 <https://github.com/pytest-dev/pytest-asyncio/pull/662>`_
|
|
216
246
|
- Introduces ``pytest_asyncio.is_async_test`` which returns whether a test item is managed by pytest-asyncio `#376 <https://github.com/pytest-dev/pytest-asyncio/issues/376>`_
|
|
@@ -20,14 +20,13 @@ maintainers = [
|
|
|
20
20
|
authors = [
|
|
21
21
|
{ name = "Tin Tvrtković", email = "tinchester@gmail.com" },
|
|
22
22
|
]
|
|
23
|
-
requires-python = ">=3.
|
|
23
|
+
requires-python = ">=3.10"
|
|
24
24
|
classifiers = [
|
|
25
25
|
"Development Status :: 5 - Production/Stable",
|
|
26
26
|
"Framework :: AsyncIO",
|
|
27
27
|
"Framework :: Pytest",
|
|
28
28
|
"Intended Audience :: Developers",
|
|
29
29
|
"Programming Language :: Python :: 3 :: Only",
|
|
30
|
-
"Programming Language :: Python :: 3.9",
|
|
31
30
|
"Programming Language :: Python :: 3.10",
|
|
32
31
|
"Programming Language :: Python :: 3.11",
|
|
33
32
|
"Programming Language :: Python :: 3.12",
|
|
@@ -42,7 +41,7 @@ dynamic = [
|
|
|
42
41
|
|
|
43
42
|
dependencies = [
|
|
44
43
|
"backports-asyncio-runner>=1.1,<2; python_version<'3.11'",
|
|
45
|
-
"pytest>=8.2,<
|
|
44
|
+
"pytest>=8.2,<10",
|
|
46
45
|
"typing-extensions>=4.12; python_version<'3.13'",
|
|
47
46
|
]
|
|
48
47
|
optional-dependencies.docs = [
|
|
@@ -16,6 +16,7 @@ from asyncio import AbstractEventLoop, AbstractEventLoopPolicy
|
|
|
16
16
|
from collections.abc import (
|
|
17
17
|
AsyncIterator,
|
|
18
18
|
Awaitable,
|
|
19
|
+
Callable,
|
|
19
20
|
Generator,
|
|
20
21
|
Iterable,
|
|
21
22
|
Iterator,
|
|
@@ -24,10 +25,9 @@ from collections.abc import (
|
|
|
24
25
|
from types import AsyncGeneratorType, CoroutineType
|
|
25
26
|
from typing import (
|
|
26
27
|
Any,
|
|
27
|
-
Callable,
|
|
28
28
|
Literal,
|
|
29
|
+
ParamSpec,
|
|
29
30
|
TypeVar,
|
|
30
|
-
Union,
|
|
31
31
|
overload,
|
|
32
32
|
)
|
|
33
33
|
|
|
@@ -49,11 +49,6 @@ from pytest import (
|
|
|
49
49
|
PytestPluginManager,
|
|
50
50
|
)
|
|
51
51
|
|
|
52
|
-
if sys.version_info >= (3, 10):
|
|
53
|
-
from typing import ParamSpec
|
|
54
|
-
else:
|
|
55
|
-
from typing_extensions import ParamSpec
|
|
56
|
-
|
|
57
52
|
if sys.version_info >= (3, 11):
|
|
58
53
|
from asyncio import Runner
|
|
59
54
|
else:
|
|
@@ -65,7 +60,7 @@ else:
|
|
|
65
60
|
from typing_extensions import TypeIs
|
|
66
61
|
|
|
67
62
|
_ScopeName = Literal["session", "package", "module", "class", "function"]
|
|
68
|
-
_R = TypeVar("_R", bound=
|
|
63
|
+
_R = TypeVar("_R", bound=Awaitable[Any] | AsyncIterator[Any])
|
|
69
64
|
_P = ParamSpec("_P")
|
|
70
65
|
FixtureFunction = Callable[_P, _R]
|
|
71
66
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pytest-asyncio
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: Pytest support for asyncio
|
|
5
5
|
Author-email: Tin Tvrtković <tinchester@gmail.com>
|
|
6
6
|
Maintainer-email: Michael Seifert <m.seifert@digitalernachschub.de>
|
|
@@ -15,7 +15,6 @@ Classifier: Framework :: AsyncIO
|
|
|
15
15
|
Classifier: Framework :: Pytest
|
|
16
16
|
Classifier: Intended Audience :: Developers
|
|
17
17
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -23,11 +22,11 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.14
|
|
24
23
|
Classifier: Topic :: Software Development :: Testing
|
|
25
24
|
Classifier: Typing :: Typed
|
|
26
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.10
|
|
27
26
|
Description-Content-Type: text/x-rst
|
|
28
27
|
License-File: LICENSE
|
|
29
28
|
Requires-Dist: backports-asyncio-runner<2,>=1.1; python_version < "3.11"
|
|
30
|
-
Requires-Dist: pytest<
|
|
29
|
+
Requires-Dist: pytest<10,>=8.2
|
|
31
30
|
Requires-Dist: typing-extensions>=4.12; python_version < "3.13"
|
|
32
31
|
Provides-Extra: docs
|
|
33
32
|
Requires-Dist: sphinx>=5.3; extra == "docs"
|
|
@@ -27,7 +27,7 @@ def test_hypothesis_given_decorator_before_asyncio_mark(pytester: Pytester):
|
|
|
27
27
|
"""
|
|
28
28
|
)
|
|
29
29
|
)
|
|
30
|
-
result = pytester.
|
|
30
|
+
result = pytester.runpytest("--asyncio-mode=strict", "-W default")
|
|
31
31
|
result.assert_outcomes(passed=1)
|
|
32
32
|
|
|
33
33
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import asyncio
|
|
6
|
+
import sys
|
|
6
7
|
from textwrap import dedent
|
|
7
8
|
|
|
8
9
|
import pytest
|
|
@@ -143,8 +144,15 @@ def test_asyncio_mark_respects_the_loop_policy(
|
|
|
143
144
|
"""
|
|
144
145
|
)
|
|
145
146
|
)
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
148
|
+
if sys.version_info >= (3, 14):
|
|
149
|
+
pytest_args.extend(["-W", "default"])
|
|
150
|
+
result = pytester.runpytest(*pytest_args)
|
|
151
|
+
if sys.version_info >= (3, 14):
|
|
152
|
+
result.assert_outcomes(passed=2, warnings=3)
|
|
153
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
154
|
+
else:
|
|
155
|
+
result.assert_outcomes(passed=2)
|
|
148
156
|
|
|
149
157
|
|
|
150
158
|
def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
@@ -175,8 +183,15 @@ def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
|
175
183
|
"""
|
|
176
184
|
)
|
|
177
185
|
)
|
|
178
|
-
|
|
179
|
-
|
|
186
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
187
|
+
if sys.version_info >= (3, 14):
|
|
188
|
+
pytest_args.extend(["-W", "default"])
|
|
189
|
+
result = pytester.runpytest(*pytest_args)
|
|
190
|
+
if sys.version_info >= (3, 14):
|
|
191
|
+
result.assert_outcomes(passed=2, warnings=2)
|
|
192
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
193
|
+
else:
|
|
194
|
+
result.assert_outcomes(passed=2)
|
|
180
195
|
|
|
181
196
|
|
|
182
197
|
def test_asyncio_mark_provides_class_scoped_loop_to_fixtures(
|
|
@@ -205,7 +220,7 @@ def test_asyncio_mark_provides_class_scoped_loop_to_fixtures(
|
|
|
205
220
|
"""
|
|
206
221
|
)
|
|
207
222
|
)
|
|
208
|
-
result = pytester.
|
|
223
|
+
result = pytester.runpytest("--asyncio-mode=strict")
|
|
209
224
|
result.assert_outcomes(passed=1)
|
|
210
225
|
|
|
211
226
|
|
|
@@ -293,5 +308,5 @@ def test_standalone_test_does_not_trigger_warning_about_no_current_event_loop_be
|
|
|
293
308
|
"""
|
|
294
309
|
)
|
|
295
310
|
)
|
|
296
|
-
result = pytester.
|
|
311
|
+
result = pytester.runpytest("--asyncio-mode=strict")
|
|
297
312
|
result.assert_outcomes(warnings=0, passed=1)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
3
4
|
from textwrap import dedent
|
|
4
5
|
|
|
5
6
|
from pytest import Pytester
|
|
@@ -87,7 +88,7 @@ def test_warns_when_scope_argument_is_present(pytester: Pytester):
|
|
|
87
88
|
"""
|
|
88
89
|
)
|
|
89
90
|
)
|
|
90
|
-
result = pytester.runpytest("--asyncio-mode=strict", "
|
|
91
|
+
result = pytester.runpytest("--asyncio-mode=strict", "-W", "default")
|
|
91
92
|
result.assert_outcomes(passed=1, warnings=1)
|
|
92
93
|
result.stdout.fnmatch_lines("*DeprecationWarning*")
|
|
93
94
|
|
|
@@ -119,8 +120,15 @@ def test_asyncio_mark_respects_the_loop_policy(
|
|
|
119
120
|
"""
|
|
120
121
|
),
|
|
121
122
|
)
|
|
122
|
-
|
|
123
|
-
|
|
123
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
124
|
+
if sys.version_info >= (3, 14):
|
|
125
|
+
pytest_args.extend(["-W", "default"])
|
|
126
|
+
result = pytester.runpytest(*pytest_args)
|
|
127
|
+
if sys.version_info >= (3, 14):
|
|
128
|
+
result.assert_outcomes(passed=1, warnings=2)
|
|
129
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
130
|
+
else:
|
|
131
|
+
result.assert_outcomes(passed=1)
|
|
124
132
|
|
|
125
133
|
|
|
126
134
|
def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
@@ -157,8 +165,15 @@ def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
|
157
165
|
"""
|
|
158
166
|
)
|
|
159
167
|
)
|
|
160
|
-
|
|
161
|
-
|
|
168
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
169
|
+
if sys.version_info >= (3, 14):
|
|
170
|
+
pytest_args.extend(["-W", "default"])
|
|
171
|
+
result = pytester.runpytest(*pytest_args)
|
|
172
|
+
if sys.version_info >= (3, 14):
|
|
173
|
+
result.assert_outcomes(passed=2, warnings=3)
|
|
174
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
175
|
+
else:
|
|
176
|
+
result.assert_outcomes(passed=2)
|
|
162
177
|
|
|
163
178
|
|
|
164
179
|
def test_asyncio_mark_provides_function_scoped_loop_to_fixtures(
|
|
@@ -8,6 +8,7 @@ import pytest
|
|
|
8
8
|
def test_no_error_when_scope_passed_as_sole_keyword_argument(
|
|
9
9
|
pytester: pytest.Pytester,
|
|
10
10
|
):
|
|
11
|
+
pytester.makeini("[pytest]\nasyncio_default_fixture_loop_scope = function")
|
|
11
12
|
pytester.makepyfile(
|
|
12
13
|
dedent(
|
|
13
14
|
"""\
|
|
@@ -19,7 +20,7 @@ def test_no_error_when_scope_passed_as_sole_keyword_argument(
|
|
|
19
20
|
"""
|
|
20
21
|
)
|
|
21
22
|
)
|
|
22
|
-
result = pytester.
|
|
23
|
+
result = pytester.runpytest("--assert=plain")
|
|
23
24
|
result.assert_outcomes(passed=1)
|
|
24
25
|
result.stdout.no_fnmatch_line("*ValueError*")
|
|
25
26
|
|
|
@@ -27,6 +28,7 @@ def test_no_error_when_scope_passed_as_sole_keyword_argument(
|
|
|
27
28
|
def test_error_when_scope_passed_as_positional_argument(
|
|
28
29
|
pytester: pytest.Pytester,
|
|
29
30
|
):
|
|
31
|
+
pytester.makeini("[pytest]\nasyncio_default_fixture_loop_scope = function")
|
|
30
32
|
pytester.makepyfile(
|
|
31
33
|
dedent(
|
|
32
34
|
"""\
|
|
@@ -38,7 +40,7 @@ def test_error_when_scope_passed_as_positional_argument(
|
|
|
38
40
|
"""
|
|
39
41
|
)
|
|
40
42
|
)
|
|
41
|
-
result = pytester.
|
|
43
|
+
result = pytester.runpytest("--assert=plain")
|
|
42
44
|
result.assert_outcomes(errors=1)
|
|
43
45
|
result.stdout.fnmatch_lines(
|
|
44
46
|
["*ValueError: mark.asyncio accepts only a keyword argument*"]
|
|
@@ -48,6 +50,7 @@ def test_error_when_scope_passed_as_positional_argument(
|
|
|
48
50
|
def test_error_when_wrong_keyword_argument_is_passed(
|
|
49
51
|
pytester: pytest.Pytester,
|
|
50
52
|
):
|
|
53
|
+
pytester.makeini("[pytest]\nasyncio_default_fixture_loop_scope = function")
|
|
51
54
|
pytester.makepyfile(
|
|
52
55
|
dedent(
|
|
53
56
|
"""\
|
|
@@ -59,7 +62,7 @@ def test_error_when_wrong_keyword_argument_is_passed(
|
|
|
59
62
|
"""
|
|
60
63
|
)
|
|
61
64
|
)
|
|
62
|
-
result = pytester.
|
|
65
|
+
result = pytester.runpytest("--assert=plain")
|
|
63
66
|
result.assert_outcomes(errors=1)
|
|
64
67
|
result.stdout.fnmatch_lines(
|
|
65
68
|
["*ValueError: mark.asyncio accepts only a keyword argument 'loop_scope'*"]
|
|
@@ -69,6 +72,7 @@ def test_error_when_wrong_keyword_argument_is_passed(
|
|
|
69
72
|
def test_error_when_additional_keyword_arguments_are_passed(
|
|
70
73
|
pytester: pytest.Pytester,
|
|
71
74
|
):
|
|
75
|
+
pytester.makeini("[pytest]\nasyncio_default_fixture_loop_scope = function")
|
|
72
76
|
pytester.makepyfile(
|
|
73
77
|
dedent(
|
|
74
78
|
"""\
|
|
@@ -80,7 +84,7 @@ def test_error_when_additional_keyword_arguments_are_passed(
|
|
|
80
84
|
"""
|
|
81
85
|
)
|
|
82
86
|
)
|
|
83
|
-
result = pytester.
|
|
87
|
+
result = pytester.runpytest("--assert=plain")
|
|
84
88
|
result.assert_outcomes(errors=1)
|
|
85
89
|
result.stdout.fnmatch_lines(
|
|
86
90
|
["*ValueError: mark.asyncio accepts only a keyword argument*"]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
3
4
|
from textwrap import dedent
|
|
4
5
|
|
|
5
6
|
from pytest import Pytester
|
|
@@ -87,8 +88,15 @@ def test_asyncio_mark_respects_the_loop_policy(
|
|
|
87
88
|
"""
|
|
88
89
|
),
|
|
89
90
|
)
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
92
|
+
if sys.version_info >= (3, 14):
|
|
93
|
+
pytest_args.extend(["-W", "default"])
|
|
94
|
+
result = pytester.runpytest(*pytest_args)
|
|
95
|
+
if sys.version_info >= (3, 14):
|
|
96
|
+
result.assert_outcomes(passed=2, warnings=3)
|
|
97
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
98
|
+
else:
|
|
99
|
+
result.assert_outcomes(passed=2)
|
|
92
100
|
|
|
93
101
|
|
|
94
102
|
def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
@@ -119,8 +127,15 @@ def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
|
119
127
|
"""
|
|
120
128
|
)
|
|
121
129
|
)
|
|
122
|
-
|
|
123
|
-
|
|
130
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
131
|
+
if sys.version_info >= (3, 14):
|
|
132
|
+
pytest_args.extend(["-W", "default"])
|
|
133
|
+
result = pytester.runpytest(*pytest_args)
|
|
134
|
+
if sys.version_info >= (3, 14):
|
|
135
|
+
result.assert_outcomes(passed=2, warnings=2)
|
|
136
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
137
|
+
else:
|
|
138
|
+
result.assert_outcomes(passed=2)
|
|
124
139
|
|
|
125
140
|
|
|
126
141
|
def test_asyncio_mark_provides_module_scoped_loop_to_fixtures(
|
|
@@ -150,7 +165,7 @@ def test_asyncio_mark_provides_module_scoped_loop_to_fixtures(
|
|
|
150
165
|
"""
|
|
151
166
|
)
|
|
152
167
|
)
|
|
153
|
-
result = pytester.
|
|
168
|
+
result = pytester.runpytest("--asyncio-mode=strict")
|
|
154
169
|
result.assert_outcomes(passed=1)
|
|
155
170
|
|
|
156
171
|
|
|
@@ -298,5 +313,5 @@ def test_standalone_test_does_not_trigger_warning_about_no_current_event_loop_be
|
|
|
298
313
|
"""
|
|
299
314
|
)
|
|
300
315
|
)
|
|
301
|
-
result = pytester.
|
|
316
|
+
result = pytester.runpytest("--asyncio-mode=strict")
|
|
302
317
|
result.assert_outcomes(warnings=0, passed=1)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
3
4
|
from textwrap import dedent
|
|
4
5
|
|
|
5
6
|
from pytest import Pytester
|
|
@@ -127,8 +128,15 @@ def test_asyncio_mark_respects_the_loop_policy(
|
|
|
127
128
|
"""
|
|
128
129
|
),
|
|
129
130
|
)
|
|
130
|
-
|
|
131
|
-
|
|
131
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
132
|
+
if sys.version_info >= (3, 14):
|
|
133
|
+
pytest_args.extend(["-W", "default"])
|
|
134
|
+
result = pytester.runpytest(*pytest_args)
|
|
135
|
+
if sys.version_info >= (3, 14):
|
|
136
|
+
result.assert_outcomes(passed=2, warnings=3)
|
|
137
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
138
|
+
else:
|
|
139
|
+
result.assert_outcomes(passed=2)
|
|
132
140
|
|
|
133
141
|
|
|
134
142
|
def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
@@ -160,8 +168,15 @@ def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
|
160
168
|
"""
|
|
161
169
|
),
|
|
162
170
|
)
|
|
163
|
-
|
|
164
|
-
|
|
171
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
172
|
+
if sys.version_info >= (3, 14):
|
|
173
|
+
pytest_args.extend(["-W", "default"])
|
|
174
|
+
result = pytester.runpytest(*pytest_args)
|
|
175
|
+
if sys.version_info >= (3, 14):
|
|
176
|
+
result.assert_outcomes(passed=2, warnings=2)
|
|
177
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
178
|
+
else:
|
|
179
|
+
result.assert_outcomes(passed=2)
|
|
165
180
|
|
|
166
181
|
|
|
167
182
|
def test_asyncio_mark_provides_package_scoped_loop_to_fixtures(
|
|
@@ -207,7 +222,7 @@ def test_asyncio_mark_provides_package_scoped_loop_to_fixtures(
|
|
|
207
222
|
"""
|
|
208
223
|
),
|
|
209
224
|
)
|
|
210
|
-
result = pytester.
|
|
225
|
+
result = pytester.runpytest("--asyncio-mode=strict")
|
|
211
226
|
result.assert_outcomes(passed=1)
|
|
212
227
|
|
|
213
228
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import sys
|
|
3
4
|
from textwrap import dedent
|
|
4
5
|
|
|
5
6
|
from pytest import Pytester
|
|
@@ -128,8 +129,15 @@ def test_asyncio_mark_respects_the_loop_policy(
|
|
|
128
129
|
"""
|
|
129
130
|
),
|
|
130
131
|
)
|
|
131
|
-
|
|
132
|
-
|
|
132
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
133
|
+
if sys.version_info >= (3, 14):
|
|
134
|
+
pytest_args.extend(["-W", "default"])
|
|
135
|
+
result = pytester.runpytest(*pytest_args)
|
|
136
|
+
if sys.version_info >= (3, 14):
|
|
137
|
+
result.assert_outcomes(passed=2, warnings=3)
|
|
138
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
139
|
+
else:
|
|
140
|
+
result.assert_outcomes(passed=2)
|
|
133
141
|
|
|
134
142
|
|
|
135
143
|
def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
@@ -161,8 +169,15 @@ def test_asyncio_mark_respects_parametrized_loop_policies(
|
|
|
161
169
|
"""
|
|
162
170
|
),
|
|
163
171
|
)
|
|
164
|
-
|
|
165
|
-
|
|
172
|
+
pytest_args = ["--asyncio-mode=strict"]
|
|
173
|
+
if sys.version_info >= (3, 14):
|
|
174
|
+
pytest_args.extend(["-W", "default"])
|
|
175
|
+
result = pytester.runpytest(*pytest_args)
|
|
176
|
+
if sys.version_info >= (3, 14):
|
|
177
|
+
result.assert_outcomes(passed=2, warnings=2)
|
|
178
|
+
result.stdout.fnmatch_lines("*DefaultEventLoopPolicy*")
|
|
179
|
+
else:
|
|
180
|
+
result.assert_outcomes(passed=2)
|
|
166
181
|
|
|
167
182
|
|
|
168
183
|
def test_asyncio_mark_provides_session_scoped_loop_to_fixtures(
|
|
@@ -212,7 +227,7 @@ def test_asyncio_mark_provides_session_scoped_loop_to_fixtures(
|
|
|
212
227
|
"""
|
|
213
228
|
)
|
|
214
229
|
)
|
|
215
|
-
result = pytester.
|
|
230
|
+
result = pytester.runpytest("--asyncio-mode=strict")
|
|
216
231
|
result.assert_outcomes(passed=1)
|
|
217
232
|
|
|
218
233
|
|
|
@@ -423,5 +438,5 @@ def test_standalone_test_does_not_trigger_warning_about_no_current_event_loop_be
|
|
|
423
438
|
"""
|
|
424
439
|
)
|
|
425
440
|
)
|
|
426
|
-
result = pytester.
|
|
441
|
+
result = pytester.runpytest("--asyncio-mode=strict")
|
|
427
442
|
result.assert_outcomes(warnings=0, passed=1)
|
|
@@ -94,7 +94,7 @@ def test_strict_mode_ignores_unmarked_coroutine(pytester: Pytester):
|
|
|
94
94
|
"""
|
|
95
95
|
)
|
|
96
96
|
)
|
|
97
|
-
result = pytester.
|
|
97
|
+
result = pytester.runpytest("--asyncio-mode=strict", "-W default", "--assert=plain")
|
|
98
98
|
if pytest_version >= (8, 4, 0):
|
|
99
99
|
result.assert_outcomes(failed=1, skipped=0, warnings=0)
|
|
100
100
|
else:
|
|
@@ -119,7 +119,7 @@ def test_strict_mode_ignores_unmarked_fixture(pytester: Pytester):
|
|
|
119
119
|
"""
|
|
120
120
|
)
|
|
121
121
|
)
|
|
122
|
-
result = pytester.
|
|
122
|
+
result = pytester.runpytest("--asyncio-mode=strict", "-W default", "--assert=plain")
|
|
123
123
|
|
|
124
124
|
if pytest_version >= (8, 4, 0):
|
|
125
125
|
result.assert_outcomes(failed=1, skipped=0, warnings=2)
|
|
@@ -155,7 +155,7 @@ def test_strict_mode_marked_test_unmarked_fixture_warning(pytester: Pytester):
|
|
|
155
155
|
"""
|
|
156
156
|
)
|
|
157
157
|
)
|
|
158
|
-
result = pytester.
|
|
158
|
+
result = pytester.runpytest("--asyncio-mode=strict", "-W default", "--assert=plain")
|
|
159
159
|
if pytest_version >= (8, 4, 0):
|
|
160
160
|
result.assert_outcomes(passed=1, failed=0, skipped=0, warnings=2)
|
|
161
161
|
else:
|
|
@@ -202,7 +202,7 @@ def test_strict_mode_marked_test_unmarked_autouse_fixture_warning(pytester: Pyte
|
|
|
202
202
|
"""
|
|
203
203
|
)
|
|
204
204
|
)
|
|
205
|
-
result = pytester.
|
|
205
|
+
result = pytester.runpytest("--asyncio-mode=strict", "-W default", "--assert=plain")
|
|
206
206
|
if pytest_version >= (8, 4, 0):
|
|
207
207
|
result.assert_outcomes(passed=1, warnings=2)
|
|
208
208
|
else:
|