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.


Reply via email to