From 0220ff5e294ffbf2802c5db36f0150bb2eaba2ba80166551baa69405271a91c8 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 2 Jan 2024 12:15:19 +0000 Subject: [PATCH 1/3] - update to 0.23.3: * Fixes a bug that caused event loops to be closed prematurely when using async generator fixtures with class scope or wider in a function-scoped test #706 * Fixes various bugs that caused an internal pytest error during test collection #711 #713 #719 * Fixes a bug that caused an internal pytest error when collecting .txt files * Fixes a bug that caused an internal pytest error when using module-level skips #701 This release is backwards-compatible with v0.21. Changes are non-breaking, unless you upgrade from v0.22. * 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. - Introduces the event_loop_policy fixture which allows testing with non-default or multiple event loops * Introduces pytest_asyncio.is_async_test which returns whether a test item is managed by pytest-asyncio * Removes and pytest trio, mypy, and flaky from the test dependencies * Deprecate redefinition of the event_loop fixture. #587 Users requiring a class-scoped or module-scoped asyncio event loop for their tests should mark the corresponding class or module with asyncio_event_loop. * Test items based on asynchronous generators always exit with xfail status and emit a warning during the collection phase. This behavior is consistent with synchronous yield tests. #642 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest-asyncio?expand=0&rev=36 --- pytest-asyncio-0.21.1.tar.gz | 3 --- pytest-asyncio-0.23.3.tar.gz | 3 +++ python-pytest-asyncio.changes | 37 +++++++++++++++++++++++++++++++++++ python-pytest-asyncio.spec | 12 ++++-------- 4 files changed, 44 insertions(+), 11 deletions(-) delete mode 100644 pytest-asyncio-0.21.1.tar.gz create mode 100644 pytest-asyncio-0.23.3.tar.gz diff --git a/pytest-asyncio-0.21.1.tar.gz b/pytest-asyncio-0.21.1.tar.gz deleted file mode 100644 index 599e53f..0000000 --- a/pytest-asyncio-0.21.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:94ab6dc6daba9317682e912686e1570fc500ca6758093ee17d20808cae2a1dbc -size 29240 diff --git a/pytest-asyncio-0.23.3.tar.gz b/pytest-asyncio-0.23.3.tar.gz new file mode 100644 index 0000000..cdf3145 --- /dev/null +++ b/pytest-asyncio-0.23.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6d3ff22ea5ef19845a411898d8acf00459b2718228d53e04fe2fa8541c78cb2 +size 42685 diff --git a/python-pytest-asyncio.changes b/python-pytest-asyncio.changes index afcf690..05bc87e 100644 --- a/python-pytest-asyncio.changes +++ b/python-pytest-asyncio.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Tue Jan 2 12:01:57 UTC 2024 - Dirk Müller + +- update to 0.23.3: + * Fixes a bug that caused event loops to be closed prematurely + when using async generator fixtures with class scope or wider + in a function-scoped test #706 + * Fixes various bugs that caused an internal pytest error + during test collection #711 #713 #719 + * Fixes a bug that caused an internal pytest error when + collecting .txt files + * Fixes a bug that caused an internal pytest error when using + module-level skips #701 + This release is backwards-compatible with v0.21. Changes are + non-breaking, unless you upgrade from v0.22. + * 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. - + Introduces the event_loop_policy fixture which allows testing + with non-default or multiple event loops + * Introduces pytest_asyncio.is_async_test which returns whether + a test item is managed by pytest-asyncio + * Removes and pytest trio, mypy, and flaky from the test + dependencies + * Deprecate redefinition of the event_loop fixture. #587 Users + requiring a class-scoped or module-scoped asyncio event loop + for their tests should mark the corresponding class or module + with asyncio_event_loop. + * Test items based on asynchronous generators always exit with + xfail status and emit a warning during the collection phase. + This behavior is consistent with synchronous yield tests. + #642 + * Remove support for Python 3.7 + * Declare support for Python 3.12 +- drop hypothesis-health-check.patch (upstream) + ------------------------------------------------------------------- Tue Nov 7 19:34:40 UTC 2023 - Dirk Müller diff --git a/python-pytest-asyncio.spec b/python-pytest-asyncio.spec index 6f529e6..3113d87 100644 --- a/python-pytest-asyncio.spec +++ b/python-pytest-asyncio.spec @@ -1,7 +1,7 @@ # # spec file # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,15 +26,13 @@ %endif %{?sle15_python_module_pythons} Name: python-pytest-asyncio%{psuffix} -Version: 0.21.1 +Version: 0.23.3 Release: 0 Summary: Pytest support for asyncio License: Apache-2.0 URL: https://github.com/pytest-dev/pytest-asyncio Source: https://github.com/pytest-dev/pytest-asyncio/archive/v%{version}.tar.gz#/pytest-asyncio-%{version}.tar.gz -# PATCH-FIX-UPSTREAM https://github.com/pytest-dev/pytest-asyncio/commit/fd57e55db1170c029324a7a9c56f86f14468217e [test] Addresses a Hypothesis health check that leads to failing tests. -Patch: hypothesis-health-check.patch -BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module base >= 3.8} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} @@ -47,11 +45,9 @@ Requires: python-typing-extensions >= 3.7.2 %endif BuildArch: noarch %if %{with test} -BuildRequires: %{python_module flaky >= 3.5.0} BuildRequires: %{python_module hypothesis >= 5.7.1} BuildRequires: %{python_module pytest >= 7.0.0} BuildRequires: %{python_module pytest-asyncio = %{version}} -BuildRequires: %{python_module pytest-trio >= 0.7} %endif %python_subpackages @@ -86,7 +82,7 @@ export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} %doc README.rst %license LICENSE %{python_sitelib}/pytest_asyncio -%{python_sitelib}/pytest_asyncio-%{version}*-info +%{python_sitelib}/pytest_asyncio-%{version}.dist-info %endif %changelog From bd5ea9179959f279a690e4cb5ed677cb6f428bddd3fdb49590d853db69bca7ab Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 2 Jan 2024 12:15:24 +0000 Subject: [PATCH 2/3] OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest-asyncio?expand=0&rev=37 --- hypothesis-health-check.patch | 46 ----------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 hypothesis-health-check.patch diff --git a/hypothesis-health-check.patch b/hypothesis-health-check.patch deleted file mode 100644 index 8c435dd..0000000 --- a/hypothesis-health-check.patch +++ /dev/null @@ -1,46 +0,0 @@ -From fd57e55db1170c029324a7a9c56f86f14468217e Mon Sep 17 00:00:00 2001 -From: Michael Seifert -Date: Mon, 18 Sep 2023 09:50:47 +0200 -Subject: [PATCH] [test] Addresses a Hypothesis health check that leads to - failing tests. - -Class-based tests that inherit a Hypothesis test case emit a Hypothesis health check warning starting from hypothesis-6.83.2 [0][1]. This is due to inherited tests being run by different Hypothesis executors and may cause issues when replaying examples [2]. - -Inheriting Hypothesis tests in subclasses is clearly not wanted, so it makes sense to remove the pytest-asyncio test that tests for this feature. - -[0] https://hypothesis.readthedocs.io/en/latest/changes.html#v6-83-2 -[1] https://github.com/HypothesisWorks/hypothesis/pull/3720 -[2] https://github.com/HypothesisWorks/hypothesis/issues/3446 - -Signed-off-by: Michael Seifert ---- - tests/hypothesis/test_inherited_test.py | 20 -------------------- - 1 file changed, 20 deletions(-) - delete mode 100644 tests/hypothesis/test_inherited_test.py - -diff --git a/tests/hypothesis/test_inherited_test.py b/tests/hypothesis/test_inherited_test.py -deleted file mode 100644 -index a7762264..00000000 ---- a/tests/hypothesis/test_inherited_test.py -+++ /dev/null -@@ -1,20 +0,0 @@ --import hypothesis.strategies as st --import pytest --from hypothesis import given -- -- --class BaseClass: -- @pytest.mark.asyncio -- @given(value=st.integers()) -- async def test_hypothesis(self, value: int) -> None: -- pass -- -- --class TestOne(BaseClass): -- """During the first execution the Hypothesis test -- is wrapped in a synchronous function.""" -- -- --class TestTwo(BaseClass): -- """Execute the test a second time to ensure that -- the test receives a fresh event loop.""" From a237baeb449c2c2daef2ac364bf397ba1efc06ceee77448284f23c990605fdf0 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 4 Mar 2024 16:48:18 +0000 Subject: [PATCH 3/3] Accepting request 1154291 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.23.5 * Declare compatibility with pytest 8 #737 * Fix typing errors with recent versions of mypy #769 * Prevent DeprecationWarning about internal use of asyncio.get_event_loop() from affecting test cases #757 ## Known issues * As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved. - Release 0.23.4 * pytest-asyncio no longer imports additional, unrelated packages during test collection #729 * Addresses further issues that caused an internal pytest error during test collection * Declares incompatibility with pytest 8 #737 OBS-URL: https://build.opensuse.org/request/show/1154291 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest-asyncio?expand=0&rev=38 --- pytest-asyncio-0.23.3.tar.gz | 3 --- pytest-asyncio-0.23.5.tar.gz | 3 +++ python-pytest-asyncio.changes | 28 ++++++++++++++++++++++++++++ python-pytest-asyncio.spec | 8 ++++---- 4 files changed, 35 insertions(+), 7 deletions(-) delete mode 100644 pytest-asyncio-0.23.3.tar.gz create mode 100644 pytest-asyncio-0.23.5.tar.gz diff --git a/pytest-asyncio-0.23.3.tar.gz b/pytest-asyncio-0.23.3.tar.gz deleted file mode 100644 index cdf3145..0000000 --- a/pytest-asyncio-0.23.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6d3ff22ea5ef19845a411898d8acf00459b2718228d53e04fe2fa8541c78cb2 -size 42685 diff --git a/pytest-asyncio-0.23.5.tar.gz b/pytest-asyncio-0.23.5.tar.gz new file mode 100644 index 0000000..95ca739 --- /dev/null +++ b/pytest-asyncio-0.23.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed4e3123911d0b2682bc5b212e72e1f7441c7f09d280d9aa5d8c62459096ac57 +size 43649 diff --git a/python-pytest-asyncio.changes b/python-pytest-asyncio.changes index 05bc87e..c5c163f 100644 --- a/python-pytest-asyncio.changes +++ b/python-pytest-asyncio.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Sat Mar 2 11:29:53 UTC 2024 - Ben Greiner + +- Update to 0.23.5 + * Declare compatibility with pytest 8 #737 + * Fix typing errors with recent versions of mypy #769 + * Prevent DeprecationWarning about internal use of + asyncio.get_event_loop() from affecting test cases #757 + ## Known issues + * As of v0.23, pytest-asyncio attaches an asyncio event loop to + each item of the test suite (i.e. session, packages, modules, + classes, functions) and allows tests to be run in those loops + when marked accordingly. Pytest-asyncio currently assumes that + async fixture scope is correlated with the new event loop + scope. This prevents fixtures from being evaluated + independently from the event loop scope and breaks some + existing test suites (see #706). For example, a test suite may + require all fixtures and tests to run in the same event loop, + but have async fixtures that are set up and torn down for each + module. If you're affected by this issue, please continue using + the v0.21 release, until it is resolved. +- Release 0.23.4 + * pytest-asyncio no longer imports additional, unrelated packages + during test collection #729 + * Addresses further issues that caused an internal pytest error + during test collection + * Declares incompatibility with pytest 8 #737 + ------------------------------------------------------------------- Tue Jan 2 12:01:57 UTC 2024 - Dirk Müller diff --git a/python-pytest-asyncio.spec b/python-pytest-asyncio.spec index 3113d87..c4c498d 100644 --- a/python-pytest-asyncio.spec +++ b/python-pytest-asyncio.spec @@ -1,5 +1,5 @@ # -# spec file +# spec file for package python-pytest-asyncio # # Copyright (c) 2024 SUSE LLC # @@ -26,7 +26,7 @@ %endif %{?sle15_python_module_pythons} Name: python-pytest-asyncio%{psuffix} -Version: 0.23.3 +Version: 0.23.5 Release: 0 Summary: Pytest support for asyncio License: Apache-2.0 @@ -39,14 +39,14 @@ BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-pytest >= 7.0.0 +Requires: (python-pytest >= 7.0.0 with python-pytest < 9) %if 0%{?python_version_nodots} < 38 Requires: python-typing-extensions >= 3.7.2 %endif BuildArch: noarch %if %{with test} BuildRequires: %{python_module hypothesis >= 5.7.1} -BuildRequires: %{python_module pytest >= 7.0.0} +BuildRequires: %{python_module pytest >= 7.0.0 with %python-pytest < 9} BuildRequires: %{python_module pytest-asyncio = %{version}} %endif %python_subpackages