Jelle van der Waa pushed to branch main at Arch Linux / Packaging / Packages /
python-pytest-rerunfailures
Commits:
86c7d052 by Jelle van der Waa at 2024-11-18T10:46:27+01:00
upgpkg: 14.0-3: Rebuild for Python 3.13
- - - - -
3 changed files:
- .SRCINFO
- PKGBUILD
- + pytest-8.2-compat.patch
Changes:
=====================================
.SRCINFO
=====================================
@@ -1,7 +1,7 @@
pkgbase = python-pytest-rerunfailures
pkgdesc = A plugin for py.test that re-runs failed tests to eliminate
intermittent failures
pkgver = 14.0
- pkgrel = 2
+ pkgrel = 3
url = https://github.com/pytest-dev/pytest-rerunfailures/
arch = any
license = MPL-2.0
@@ -15,7 +15,10 @@ pkgbase = python-pytest-rerunfailures
depends = python-pytest
optdepends = python-pytest-xdist: for recovering from crashes
source =
pytest-rerunfailures-14.0.tar.gz::https://github.com/pytest-dev/pytest-rerunfailures//archive/refs/tags/14.0.tar.gz
+ source = pytest-8.2-compat.patch
sha512sums =
eee59c6008ec3fe8d5f9d9a7978383d58e36d3a8fa2fffdfc9dbad6264dc34902834fd96b7e909ec6ef9a276b0a5c628b8bdac03d7fcaf8459339ef38b5b1033
+ sha512sums =
504c8d53c7391911d681c53e90f1d008c30bea1d2b08c50dfbb15ce7d8dff7c51f86b942113e88e53b27163df9f019e9311fe55e5f32cc6d6bdacce19b9420db
b2sums =
ae320b3125e7deda3e11937f253349e46f81b60509f6ef142192b2741fb73249d9db9aa9f4a59a56c5cdcf25bad22c9943b72b92f086760cfc6b164bdf3299a6
+ b2sums =
63ede510271b9cf96a61b04bed8c3b34605d69fa5a02ad51a2376ade33afd922cd7235d1fe2abdfe31a24a343437d1cb74cf6c32089e5108e43706ca7dd73a0a
pkgname = python-pytest-rerunfailures
=====================================
PKGBUILD
=====================================
@@ -3,7 +3,7 @@
_name=pytest-rerunfailures
pkgname=python-pytest-rerunfailures
pkgver=14.0
-pkgrel=2
+pkgrel=3
pkgdesc="A plugin for py.test that re-runs failed tests to eliminate
intermittent failures"
arch=(any)
url="https://github.com/pytest-dev/pytest-rerunfailures/"
@@ -25,9 +25,17 @@ checkdepends=(
optdepends=(
'python-pytest-xdist: for recovering from crashes'
)
-source=($_name-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz)
-sha512sums=('eee59c6008ec3fe8d5f9d9a7978383d58e36d3a8fa2fffdfc9dbad6264dc34902834fd96b7e909ec6ef9a276b0a5c628b8bdac03d7fcaf8459339ef38b5b1033')
-b2sums=('ae320b3125e7deda3e11937f253349e46f81b60509f6ef142192b2741fb73249d9db9aa9f4a59a56c5cdcf25bad22c9943b72b92f086760cfc6b164bdf3299a6')
+source=($_name-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz
+ pytest-8.2-compat.patch)
+sha512sums=('eee59c6008ec3fe8d5f9d9a7978383d58e36d3a8fa2fffdfc9dbad6264dc34902834fd96b7e909ec6ef9a276b0a5c628b8bdac03d7fcaf8459339ef38b5b1033'
+
'504c8d53c7391911d681c53e90f1d008c30bea1d2b08c50dfbb15ce7d8dff7c51f86b942113e88e53b27163df9f019e9311fe55e5f32cc6d6bdacce19b9420db')
+b2sums=('ae320b3125e7deda3e11937f253349e46f81b60509f6ef142192b2741fb73249d9db9aa9f4a59a56c5cdcf25bad22c9943b72b92f086760cfc6b164bdf3299a6'
+
'63ede510271b9cf96a61b04bed8c3b34605d69fa5a02ad51a2376ade33afd922cd7235d1fe2abdfe31a24a343437d1cb74cf6c32089e5108e43706ca7dd73a0a')
+
+prepare() {
+ cd $_name-$pkgver
+ patch -Np1 -i ${srcdir}/pytest-8.2-compat.patch
+}
build() {
cd $_name-$pkgver
=====================================
pytest-8.2-compat.patch
=====================================
@@ -0,0 +1,47 @@
+From 17e7b23618fa90fe2a514798c332b97a6ff785b4 Mon Sep 17 00:00:00 2001
+From: John Litborn <[email protected]>
+Date: Tue, 5 Nov 2024 16:23:36 +0100
+Subject: [PATCH] fix compatibility with pytest 8.2 by restoring deleted
+ finalizers (#278)
+
+Co-authored-by: Michael Howitz <[email protected]>
+---
+ src/pytest_rerunfailures.py | 12 +++++++++++-
+ 2 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/pytest_rerunfailures.py b/src/pytest_rerunfailures.py
+index 75afc48..d11e1bc 100644
+--- a/src/pytest_rerunfailures.py
++++ b/src/pytest_rerunfailures.py
+@@ -468,6 +468,9 @@ def _get(self, i: str, k: str) -> int:
+ return int(self._sock_recv(self.sock))
+
+
++suspended_finalizers = {}
++
++
+ def pytest_runtest_teardown(item, nextitem):
+ reruns = get_reruns_count(item)
+ if reruns is None:
+@@ -490,13 +493,20 @@ def pytest_runtest_teardown(item, nextitem):
+ and any(_test_failed_statuses.values())
+ and not any(item._terminal_errors.values())
+ ):
+- # clean cashed results from any level of setups
++ # clean cached results from any level of setups
+ _remove_cached_results_from_failed_fixtures(item)
+
+ if item in item.session._setupstate.stack:
+ for key in list(item.session._setupstate.stack.keys()):
+ if key != item:
++ # only the first finalizer contains the correct teardowns
++ if key not in suspended_finalizers:
++ suspended_finalizers[key] =
item.session._setupstate.stack[key]
+ del item.session._setupstate.stack[key]
++ else:
++ # restore suspended finalizers
++ item.session._setupstate.stack.update(suspended_finalizers)
++ suspended_finalizers.clear()
+
+
+ @pytest.hookimpl(hookwrapper=True)
View it on GitLab:
https://gitlab.archlinux.org/archlinux/packaging/packages/python-pytest-rerunfailures/-/commit/86c7d052aa7953f7f6a1397df9f4256bc52a86d6
--
View it on GitLab:
https://gitlab.archlinux.org/archlinux/packaging/packages/python-pytest-rerunfailures/-/commit/86c7d052aa7953f7f6a1397df9f4256bc52a86d6
You're receiving this email because of your account on gitlab.archlinux.org.