Accepting request 1154886 from devel:languages:python:pytest

OBS-URL: https://build.opensuse.org/request/show/1154886
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest-asyncio?expand=0&rev=18
This commit is contained in:
Dominique Leuenberger 2024-03-06 22:02:58 +00:00 committed by Git OBS Bridge
commit 615a458611
5 changed files with 75 additions and 60 deletions

View File

@ -1,46 +0,0 @@
From fd57e55db1170c029324a7a9c56f86f14468217e Mon Sep 17 00:00:00 2001
From: Michael Seifert <m.seifert@digitalernachschub.de>
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 <m.seifert@digitalernachschub.de>
---
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."""

BIN
pytest-asyncio-0.21.1.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed4e3123911d0b2682bc5b212e72e1f7441c7f09d280d9aa5d8c62459096ac57
size 43649

View File

@ -1,3 +1,68 @@
-------------------------------------------------------------------
Sat Mar 2 11:29:53 UTC 2024 - Ben Greiner <code@bnavigator.de>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file
# spec file for package python-pytest-asyncio
#
# 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,32 +26,28 @@
%endif
%{?sle15_python_module_pythons}
Name: python-pytest-asyncio%{psuffix}
Version: 0.21.1
Version: 0.23.5
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}
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 flaky >= 3.5.0}
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}}
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