Your message dated Tue, 05 Nov 2024 16:20:04 +0000
with message-id <e1t8mhk-007p5h...@fasolo.debian.org>
and subject line Bug#1073443: fixed in pytest-rerunfailures 14.0-2
has caused the Debian Bug report #1073443,
regarding pytest-rerunfailures: FTBFS: dh_auto_test: error: pybuild --test 
--test-pytest -i python{version} -p "3.12 3.11" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1073443: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1073443
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: pytest-rerunfailures
Version: 12.0-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240615 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" 
> module
> I: pybuild base:311: python3.12 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-rerunfailures  
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> creating build
> creating build/lib
> copying pytest_rerunfailures.py -> build/lib
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64
> creating build/bdist.linux-x86_64/wheel
> copying build/lib/pytest_rerunfailures.py -> build/bdist.linux-x86_64/wheel
> running install_egg_info
> running egg_info
> creating pytest_rerunfailures.egg-info
> writing pytest_rerunfailures.egg-info/PKG-INFO
> writing dependency_links to pytest_rerunfailures.egg-info/dependency_links.txt
> writing entry points to pytest_rerunfailures.egg-info/entry_points.txt
> writing requirements to pytest_rerunfailures.egg-info/requires.txt
> writing top-level names to pytest_rerunfailures.egg-info/top_level.txt
> writing manifest file 'pytest_rerunfailures.egg-info/SOURCES.txt'
> reading manifest file 'pytest_rerunfailures.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'pytest_rerunfailures.egg-info/SOURCES.txt'
> Copying pytest_rerunfailures.egg-info to 
> build/bdist.linux-x86_64/wheel/pytest_rerunfailures-12.0.egg-info
> running install_scripts
> creating 
> build/bdist.linux-x86_64/wheel/pytest_rerunfailures-12.0.dist-info/WHEEL
> creating 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-rerunfailures/.tmp-ref1teng/pytest_rerunfailures-12.0-py3-none-any.whl'
>  and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'pytest_rerunfailures.py'
> adding 'pytest_rerunfailures-12.0.dist-info/LICENSE'
> adding 'pytest_rerunfailures-12.0.dist-info/METADATA'
> adding 'pytest_rerunfailures-12.0.dist-info/WHEEL'
> adding 'pytest_rerunfailures-12.0.dist-info/entry_points.txt'
> adding 'pytest_rerunfailures-12.0.dist-info/top_level.txt'
> adding 'pytest_rerunfailures-12.0.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built pytest_rerunfailures-12.0-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with 
> "installer" module
> I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build" 
> module
> I: pybuild base:311: python3.11 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-rerunfailures  
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64/wheel
> copying build/lib/pytest_rerunfailures.py -> build/bdist.linux-x86_64/wheel
> running install_egg_info
> running egg_info
> writing pytest_rerunfailures.egg-info/PKG-INFO
> writing dependency_links to pytest_rerunfailures.egg-info/dependency_links.txt
> writing entry points to pytest_rerunfailures.egg-info/entry_points.txt
> writing requirements to pytest_rerunfailures.egg-info/requires.txt
> writing top-level names to pytest_rerunfailures.egg-info/top_level.txt
> reading manifest file 'pytest_rerunfailures.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'pytest_rerunfailures.egg-info/SOURCES.txt'
> Copying pytest_rerunfailures.egg-info to 
> build/bdist.linux-x86_64/wheel/pytest_rerunfailures-12.0.egg-info
> running install_scripts
> creating 
> build/bdist.linux-x86_64/wheel/pytest_rerunfailures-12.0.dist-info/WHEEL
> creating 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-rerunfailures/.tmp-r22l5e9l/pytest_rerunfailures-12.0-py3-none-any.whl'
>  and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'pytest_rerunfailures.py'
> adding 'pytest_rerunfailures-12.0.dist-info/LICENSE'
> adding 'pytest_rerunfailures-12.0.dist-info/METADATA'
> adding 'pytest_rerunfailures-12.0.dist-info/WHEEL'
> adding 'pytest_rerunfailures-12.0.dist-info/entry_points.txt'
> adding 'pytest_rerunfailures-12.0.dist-info/top_level.txt'
> adding 'pytest_rerunfailures-12.0.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built pytest_rerunfailures-12.0-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with 
> "installer" module
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:311: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-rerunfailures/build; 
> python3.12 -m pytest 
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: pyproject.toml
> plugins: rerunfailures-12.0
> collected 101 items
> 
> test_pytest_rerunfailures.py ...........s........s...................... [ 
> 42%]
> .........................................................F               
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _________________ test_run_session_teardown_once_after_reruns 
> __________________
> 
> testdir = <Testdir 
> local('/tmp/pytest-of-user42/pytest-0/test_run_session_teardown_once_after_reruns0')>
> 
>     def test_run_session_teardown_once_after_reruns(testdir):
>         testdir.makepyfile(
>             """
>             import logging
>             import pytest
>     
>             from unittest import TestCase
>     
>             @pytest.fixture(scope='session', autouse=True)
>             def session_fixture():
>                 logging.info('session setup')
>                 yield
>                 logging.info('session teardown')
>     
>             @pytest.fixture(scope='class', autouse=True)
>             def class_fixture():
>                 logging.info('class setup')
>                 yield
>                 logging.info('class teardown')
>     
>             @pytest.fixture(scope='function', autouse=True)
>             def function_fixture():
>                 logging.info('function setup')
>                 yield
>                 logging.info('function teardown')
>     
>             @pytest.fixture(scope='function')
>             def function_skip_fixture():
>                 logging.info('skip fixture setup')
>                 pytest.skip('some reason')
>                 yield
>                 logging.info('skip fixture teardown')
>     
>             @pytest.fixture(scope='function')
>             def function_setup_fail_fixture():
>                 logging.info('fail fixture setup')
>                 assert False
>                 yield
>                 logging.info('fail fixture teardown')
>     
>             class TestFirstPassLastFail:
>     
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestFirstPassLastFail 1")
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestFirstPassLastFail 2")
>                     assert False
>     
>             class TestFirstFailLastPass:
>     
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestFirstFailLastPass 1")
>                     assert False
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestFirstFailLastPass 2")
>     
>             class TestSkipFirst:
>                 @staticmethod
>                 @pytest.mark.skipif(True, reason='Some reason')
>                 def test_1():
>                     logging.info("TestSkipFirst 1")
>                     assert False
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestSkipFirst 2")
>                     assert False
>     
>             class TestSkipLast:
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestSkipLast 1")
>                     assert False
>     
>                 @staticmethod
>                 @pytest.mark.skipif(True, reason='Some reason')
>                 def test_2():
>                     logging.info("TestSkipLast 2")
>                     assert False
>     
>             class TestSkipFixture:
>                 @staticmethod
>                 def test_1(function_skip_fixture):
>                     logging.info("TestSkipFixture 1")
>     
>             class TestSetupFailed:
>                 @staticmethod
>                 def test_1(function_setup_fail_fixture):
>                     logging.info("TestSetupFailed 1")
>     
>             class TestTestCaseFailFirstFailLast(TestCase):
>     
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestTestCaseFailFirstFailLast 1")
>                     assert False
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestTestCaseFailFirstFailLast 2")
>                     assert False
>     
>             class TestTestCaseSkipFirst(TestCase):
>     
>                 @staticmethod
>                 @pytest.mark.skipif(True, reason='Some reason')
>                 def test_1():
>                     logging.info("TestTestCaseSkipFirst 1")
>                     assert False
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestTestCaseSkipFirst 2")
>                     assert False
>     
>             class TestTestCaseSkipLast(TestCase):
>     
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestTestCaseSkipLast 1")
>                     assert False
>     
>                 @staticmethod
>                 @pytest.mark.skipif(True, reason="Some reason")
>                 def test_2():
>                     logging.info("TestTestCaseSkipLast 2")
>                     assert False"""
>         )
>         import logging
>     
>         logging.info = mock.MagicMock()
>     
>         result = testdir.runpytest("--reruns", "2")
>         expected_calls = [
>             mock.call("session setup"),
>             # TestFirstPassLastFail
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestFirstPassLastFail 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstPassLastFail 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstPassLastFail 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstPassLastFail 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestFirstFailLastPass
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestFirstFailLastPass 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstFailLastPass 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstFailLastPass 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstFailLastPass 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestSkipFirst
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestSkipLast
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestSkipFixture
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("skip fixture setup"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestSetupFailed
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("fail fixture setup"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("fail fixture setup"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("fail fixture setup"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestTestCaseFailFirstFailLast
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestTestCaseSkipFirst
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestTestCaseSkipLast
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             mock.call("session teardown"),
>         ]
>     
> >       logging.info.assert_has_calls(expected_calls, any_order=False)
> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-rerunfailures/build/test_pytest_rerunfailures.py:1076:
>  
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <MagicMock id='139854400045904'>
> calls = [call('session setup'), call('class setup'), call('function setup'), 
> call('TestFirstPassLastFail 1'), call('function teardown'), call('function 
> setup'), ...]
> any_order = False
> 
>     def assert_has_calls(self, calls, any_order=False):
>         """assert the mock has been called with the specified calls.
>         The `mock_calls` list is checked for the calls.
>     
>         If `any_order` is False (the default) then the calls must be
>         sequential. There can be extra calls before or after the
>         specified calls.
>     
>         If `any_order` is True then the calls can be in any order, but
>         they must all appear in `mock_calls`."""
>         expected = [self._call_matcher(c) for c in calls]
>         cause = next((e for e in expected if isinstance(e, Exception)), None)
>         all_calls = _CallList(self._call_matcher(c) for c in self.mock_calls)
>         if not any_order:
>             if expected not in all_calls:
>                 if cause is None:
>                     problem = 'Calls not found.'
>                 else:
>                     problem = ('Error processing expected calls.\n'
>                                'Errors: {}').format(
>                                    [e if isinstance(e, Exception) else None
>                                     for e in expected])
> >               raise AssertionError(
>                     f'{problem}\n'
>                     f'Expected: {_CallList(calls)}'
>                     f'{self._calls_repr(prefix="  Actual").rstrip(".")}'
>                 ) from cause
> E               AssertionError: Calls not found.
> E               Expected: [call('session setup'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('skip fixture setup'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('session teardown')]
> E                 Actual: [call('session setup'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('skip fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown')]
> 
> /usr/lib/python3.12/unittest/mock.py:981: AssertionError
> ----------------------------- Captured stdout call 
> -----------------------------
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0
> rootdir: 
> /tmp/pytest-of-user42/pytest-0/test_run_session_teardown_once_after_reruns0
> plugins: rerunfailures-12.0
> collected 16 items
> 
> test_run_session_teardown_once_after_reruns.py .RRFRRF.sRRFRRFssRRERRFRR [ 
> 75%]
> FsRRFRRFs                                                                
> [100%]
> 
> ==================================== ERRORS 
> ====================================
> ___________________ ERROR at setup of TestSetupFailed.test_1 
> ___________________
> 
>     @pytest.fixture(scope='function')
>     def function_setup_fail_fixture():
>         logging.info('fail fixture setup')
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:34: AssertionError
> =================================== FAILURES 
> ===================================
> _________________________ TestFirstPassLastFail.test_2 
> _________________________
> 
>     @staticmethod
>     def test_2():
>         logging.info("TestFirstPassLastFail 2")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:47: AssertionError
> _________________________ TestFirstFailLastPass.test_1 
> _________________________
> 
>     @staticmethod
>     def test_1():
>         logging.info("TestFirstFailLastPass 1")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:54: AssertionError
> _____________________________ TestSkipFirst.test_2 
> _____________________________
> 
>     @staticmethod
>     def test_2():
>         logging.info("TestSkipFirst 2")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:70: AssertionError
> _____________________________ TestSkipLast.test_1 
> ______________________________
> 
>     @staticmethod
>     def test_1():
>         logging.info("TestSkipLast 1")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:76: AssertionError
> _____________________ TestTestCaseFailFirstFailLast.test_1 
> _____________________
> 
>     @staticmethod
>     def test_1():
>         logging.info("TestTestCaseFailFirstFailLast 1")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:99: AssertionError
> _____________________ TestTestCaseFailFirstFailLast.test_2 
> _____________________
> 
>     @staticmethod
>     def test_2():
>         logging.info("TestTestCaseFailFirstFailLast 2")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:104: AssertionError
> _________________________ TestTestCaseSkipFirst.test_2 
> _________________________
> 
>     @staticmethod
>     def test_2():
>         logging.info("TestTestCaseSkipFirst 2")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:117: AssertionError
> _________________________ TestTestCaseSkipLast.test_1 
> __________________________
> 
>     @staticmethod
>     def test_1():
>         logging.info("TestTestCaseSkipLast 1")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:124: AssertionError
> =========================== short test summary info 
> ============================
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestFirstPassLastFail::test_2
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestFirstFailLastPass::test_1
> FAILED test_run_session_teardown_once_after_reruns.py::TestSkipFirst::test_2
> FAILED test_run_session_teardown_once_after_reruns.py::TestSkipLast::test_1
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestTestCaseFailFirstFailLast::test_1
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestTestCaseFailFirstFailLast::test_2
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestTestCaseSkipFirst::test_2
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestTestCaseSkipLast::test_1
> ERROR test_run_session_teardown_once_after_reruns.py::TestSetupFailed::test_1
> ========== 8 failed, 2 passed, 5 skipped, 1 error, 18 rerun in 0.15s 
> ===========
> =========================== short test summary info 
> ============================
> FAILED 
> test_pytest_rerunfailures.py::test_run_session_teardown_once_after_reruns
> =================== 1 failed, 98 passed, 2 skipped in 4.54s 
> ====================
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-rerunfailures/build; 
> python3.12 -m pytest 
> I: pybuild base:311: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-rerunfailures/build; 
> python3.11 -m pytest 
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.9, pytest-8.2.2, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: pyproject.toml
> plugins: rerunfailures-12.0
> collected 101 items
> 
> test_pytest_rerunfailures.py ...........s........s...................... [ 
> 42%]
> .........................................................F               
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _________________ test_run_session_teardown_once_after_reruns 
> __________________
> 
> testdir = <Testdir 
> local('/tmp/pytest-of-user42/pytest-1/test_run_session_teardown_once_after_reruns0')>
> 
>     def test_run_session_teardown_once_after_reruns(testdir):
>         testdir.makepyfile(
>             """
>             import logging
>             import pytest
>     
>             from unittest import TestCase
>     
>             @pytest.fixture(scope='session', autouse=True)
>             def session_fixture():
>                 logging.info('session setup')
>                 yield
>                 logging.info('session teardown')
>     
>             @pytest.fixture(scope='class', autouse=True)
>             def class_fixture():
>                 logging.info('class setup')
>                 yield
>                 logging.info('class teardown')
>     
>             @pytest.fixture(scope='function', autouse=True)
>             def function_fixture():
>                 logging.info('function setup')
>                 yield
>                 logging.info('function teardown')
>     
>             @pytest.fixture(scope='function')
>             def function_skip_fixture():
>                 logging.info('skip fixture setup')
>                 pytest.skip('some reason')
>                 yield
>                 logging.info('skip fixture teardown')
>     
>             @pytest.fixture(scope='function')
>             def function_setup_fail_fixture():
>                 logging.info('fail fixture setup')
>                 assert False
>                 yield
>                 logging.info('fail fixture teardown')
>     
>             class TestFirstPassLastFail:
>     
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestFirstPassLastFail 1")
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestFirstPassLastFail 2")
>                     assert False
>     
>             class TestFirstFailLastPass:
>     
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestFirstFailLastPass 1")
>                     assert False
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestFirstFailLastPass 2")
>     
>             class TestSkipFirst:
>                 @staticmethod
>                 @pytest.mark.skipif(True, reason='Some reason')
>                 def test_1():
>                     logging.info("TestSkipFirst 1")
>                     assert False
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestSkipFirst 2")
>                     assert False
>     
>             class TestSkipLast:
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestSkipLast 1")
>                     assert False
>     
>                 @staticmethod
>                 @pytest.mark.skipif(True, reason='Some reason')
>                 def test_2():
>                     logging.info("TestSkipLast 2")
>                     assert False
>     
>             class TestSkipFixture:
>                 @staticmethod
>                 def test_1(function_skip_fixture):
>                     logging.info("TestSkipFixture 1")
>     
>             class TestSetupFailed:
>                 @staticmethod
>                 def test_1(function_setup_fail_fixture):
>                     logging.info("TestSetupFailed 1")
>     
>             class TestTestCaseFailFirstFailLast(TestCase):
>     
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestTestCaseFailFirstFailLast 1")
>                     assert False
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestTestCaseFailFirstFailLast 2")
>                     assert False
>     
>             class TestTestCaseSkipFirst(TestCase):
>     
>                 @staticmethod
>                 @pytest.mark.skipif(True, reason='Some reason')
>                 def test_1():
>                     logging.info("TestTestCaseSkipFirst 1")
>                     assert False
>     
>                 @staticmethod
>                 def test_2():
>                     logging.info("TestTestCaseSkipFirst 2")
>                     assert False
>     
>             class TestTestCaseSkipLast(TestCase):
>     
>                 @staticmethod
>                 def test_1():
>                     logging.info("TestTestCaseSkipLast 1")
>                     assert False
>     
>                 @staticmethod
>                 @pytest.mark.skipif(True, reason="Some reason")
>                 def test_2():
>                     logging.info("TestTestCaseSkipLast 2")
>                     assert False"""
>         )
>         import logging
>     
>         logging.info = mock.MagicMock()
>     
>         result = testdir.runpytest("--reruns", "2")
>         expected_calls = [
>             mock.call("session setup"),
>             # TestFirstPassLastFail
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestFirstPassLastFail 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstPassLastFail 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstPassLastFail 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstPassLastFail 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestFirstFailLastPass
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestFirstFailLastPass 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstFailLastPass 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstFailLastPass 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestFirstFailLastPass 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestSkipFirst
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestSkipLast
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestSkipFixture
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("skip fixture setup"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestSetupFailed
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("fail fixture setup"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("fail fixture setup"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("fail fixture setup"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestTestCaseFailFirstFailLast
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseFailFirstFailLast 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestTestCaseSkipFirst
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipFirst 2"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             # TestTestCaseSkipLast
>             mock.call("class setup"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("function setup"),
>             mock.call("TestTestCaseSkipLast 1"),
>             mock.call("function teardown"),
>             mock.call("class teardown"),
>             mock.call("session teardown"),
>         ]
>     
> >       logging.info.assert_has_calls(expected_calls, any_order=False)
> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-rerunfailures/build/test_pytest_rerunfailures.py:1076:
>  
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <MagicMock id='139634796037456'>
> calls = [call('session setup'), call('class setup'), call('function setup'), 
> call('TestFirstPassLastFail 1'), call('function teardown'), call('function 
> setup'), ...]
> any_order = False
> 
>     def assert_has_calls(self, calls, any_order=False):
>         """assert the mock has been called with the specified calls.
>         The `mock_calls` list is checked for the calls.
>     
>         If `any_order` is False (the default) then the calls must be
>         sequential. There can be extra calls before or after the
>         specified calls.
>     
>         If `any_order` is True then the calls can be in any order, but
>         they must all appear in `mock_calls`."""
>         expected = [self._call_matcher(c) for c in calls]
>         cause = next((e for e in expected if isinstance(e, Exception)), None)
>         all_calls = _CallList(self._call_matcher(c) for c in self.mock_calls)
>         if not any_order:
>             if expected not in all_calls:
>                 if cause is None:
>                     problem = 'Calls not found.'
>                 else:
>                     problem = ('Error processing expected calls.\n'
>                                'Errors: {}').format(
>                                    [e if isinstance(e, Exception) else None
>                                     for e in expected])
> >               raise AssertionError(
>                     f'{problem}\n'
>                     f'Expected: {_CallList(calls)}'
>                     f'{self._calls_repr(prefix="  Actual").rstrip(".")}'
>                 ) from cause
> E               AssertionError: Calls not found.
> E               Expected: [call('session setup'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('skip fixture setup'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('class teardown'),
> E                call('session teardown')]
> E                 Actual: [call('session setup'),
> E                call('class setup'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstPassLastFail 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestFirstFailLastPass 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('skip fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('fail fixture setup'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseFailFirstFailLast 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipFirst 2'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown'),
> E                call('function setup'),
> E                call('TestTestCaseSkipLast 1'),
> E                call('function teardown')]
> 
> /usr/lib/python3.11/unittest/mock.py:976: AssertionError
> ----------------------------- Captured stdout call 
> -----------------------------
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.9, pytest-8.2.2, pluggy-1.5.0
> rootdir: 
> /tmp/pytest-of-user42/pytest-1/test_run_session_teardown_once_after_reruns0
> plugins: rerunfailures-12.0
> collected 16 items
> 
> test_run_session_teardown_once_after_reruns.py .RRFRRF.sRRFRRFssRRERRFRR [ 
> 75%]
> FsRRFRRFs                                                                
> [100%]
> 
> ==================================== ERRORS 
> ====================================
> ___________________ ERROR at setup of TestSetupFailed.test_1 
> ___________________
> 
>     @pytest.fixture(scope='function')
>     def function_setup_fail_fixture():
>         logging.info('fail fixture setup')
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:34: AssertionError
> =================================== FAILURES 
> ===================================
> _________________________ TestFirstPassLastFail.test_2 
> _________________________
> 
>     @staticmethod
>     def test_2():
>         logging.info("TestFirstPassLastFail 2")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:47: AssertionError
> _________________________ TestFirstFailLastPass.test_1 
> _________________________
> 
>     @staticmethod
>     def test_1():
>         logging.info("TestFirstFailLastPass 1")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:54: AssertionError
> _____________________________ TestSkipFirst.test_2 
> _____________________________
> 
>     @staticmethod
>     def test_2():
>         logging.info("TestSkipFirst 2")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:70: AssertionError
> _____________________________ TestSkipLast.test_1 
> ______________________________
> 
>     @staticmethod
>     def test_1():
>         logging.info("TestSkipLast 1")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:76: AssertionError
> _____________________ TestTestCaseFailFirstFailLast.test_1 
> _____________________
> 
>     @staticmethod
>     def test_1():
>         logging.info("TestTestCaseFailFirstFailLast 1")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:99: AssertionError
> _____________________ TestTestCaseFailFirstFailLast.test_2 
> _____________________
> 
>     @staticmethod
>     def test_2():
>         logging.info("TestTestCaseFailFirstFailLast 2")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:104: AssertionError
> _________________________ TestTestCaseSkipFirst.test_2 
> _________________________
> 
>     @staticmethod
>     def test_2():
>         logging.info("TestTestCaseSkipFirst 2")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:117: AssertionError
> _________________________ TestTestCaseSkipLast.test_1 
> __________________________
> 
>     @staticmethod
>     def test_1():
>         logging.info("TestTestCaseSkipLast 1")
> >       assert False
> E       assert False
> 
> test_run_session_teardown_once_after_reruns.py:124: AssertionError
> =========================== short test summary info 
> ============================
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestFirstPassLastFail::test_2
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestFirstFailLastPass::test_1
> FAILED test_run_session_teardown_once_after_reruns.py::TestSkipFirst::test_2
> FAILED test_run_session_teardown_once_after_reruns.py::TestSkipLast::test_1
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestTestCaseFailFirstFailLast::test_1
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestTestCaseFailFirstFailLast::test_2
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestTestCaseSkipFirst::test_2
> FAILED 
> test_run_session_teardown_once_after_reruns.py::TestTestCaseSkipLast::test_1
> ERROR test_run_session_teardown_once_after_reruns.py::TestSetupFailed::test_1
> ========== 8 failed, 2 passed, 5 skipped, 1 error, 18 rerun in 0.14s 
> ===========
> =========================== short test summary info 
> ============================
> FAILED 
> test_pytest_rerunfailures.py::test_run_session_teardown_once_after_reruns
> =================== 1 failed, 98 passed, 2 skipped in 4.97s 
> ====================
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-rerunfailures/build; 
> python3.11 -m pytest 
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
> 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/06/15/pytest-rerunfailures_12.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240615;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240615&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: pytest-rerunfailures
Source-Version: 14.0-2
Done: Jochen Sprickerhof <jspri...@debian.org>

We believe that the bug you reported is fixed in the latest version of
pytest-rerunfailures, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1073...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jochen Sprickerhof <jspri...@debian.org> (supplier of updated 
pytest-rerunfailures package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 05 Nov 2024 16:54:28 +0100
Source: pytest-rerunfailures
Architecture: source
Version: 14.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Jochen Sprickerhof <jspri...@debian.org>
Closes: 1073443
Changes:
 pytest-rerunfailures (14.0-2) unstable; urgency=medium
 .
   * Team upload.
 .
   [ Alexandre Detiste ]
   * New upstream version
   * Standards-Version: 4.7.0 (routine-update)
   * remove Python2 crumb
   * add python3-pytest-xdist build dep
   * load tests
 .
   [ Jochen Sprickerhof ]
   * fix compatibility with pytest 8.2 (Closes: #1073443)
   * Fix tests
Checksums-Sha1:
 e102c9f963476c0e32dca42b0442169d2000cf2a 2363 pytest-rerunfailures_14.0-2.dsc
 7680afb79736b1b34bc12f3ef3d586b0b05bdffe 17208 
pytest-rerunfailures_14.0.orig.tar.xz
 81660ef4049796d85b548c32340fcc0399642cd8 3012 
pytest-rerunfailures_14.0-2.debian.tar.xz
Checksums-Sha256:
 6fb3fffc33fc202eec9c33df85b44b92467379ae44f0a186b4d45e8059fd6461 2363 
pytest-rerunfailures_14.0-2.dsc
 eb4e4c26fe2c31e31668932bd387501512284dbd25fd59352bd8161bb40cb0d6 17208 
pytest-rerunfailures_14.0.orig.tar.xz
 f75f8187f7905ef495410be0c2d06f8050d03799aec940728720de401307379a 3012 
pytest-rerunfailures_14.0-2.debian.tar.xz
Files:
 a00454310c5cf4cdcfb973b52ef5ba93 2363 python optional 
pytest-rerunfailures_14.0-2.dsc
 e531741387a3b3c069ddf61ceba2dbf3 17208 python optional 
pytest-rerunfailures_14.0.orig.tar.xz
 d82e11b64b6608113e4c18c3661248a5 3012 python optional 
pytest-rerunfailures_14.0-2.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEc7KZy9TurdzAF+h6W//cwljmlDMFAmcqQB4ACgkQW//cwljm
lDOSDw/+MNsVN2x9bgyXregxegD16eDhrF14p9gCSvbFuEbt0AKC0a0Qbf+U8NnN
D3b9EfVBP1p2BgW+83XYCLnEOZ3KwR83vrqwiDT4MOwgXjE2iA2XcjYU/um15UwY
9i2prrQyKGnnFpg0S3TbR3fHjyA32ah4afr+6mbxUnqjQ/cgXhB65EbQY31AsNrB
5i457Y+70JTTnmaU/kHOK5HWWD8itAqF9jfwdZB2Nv8e+7q51knJqvpP63PT93ca
jwXQAJGQLsqjlHV6bgLzffydYbC2QJNJHg3Yh3RIPcxzITgNb9lNEKLzD4OBZ770
nAb+J8wAyhBIPCu/6jBpJB2vHdZVtn0OGl04K99Qw5Caci9gLq4RBAv9dObqWVf0
JTdZvsqT2iSyRWGyE86N6kkBjdNB7699BTDhFlxbvLO8GaSgfA6Ia7TObFNEIUbv
/4KMcfrFIETuW+daQPIzze2MiCWeGCHO4wcTE8Yn2EdAdR+7lxpmIInuelukglAp
aVXjABcIerSWqaFUQ2mEkHH1OlVeBwVBTiZ5N7zF8qZeYTqBpecUiANVCX2bWyLd
0wOc/dALFWYfR9Koa7ux2pxUeOu3N1jTwIuCZa8RDxruvVKNzIDI1QN95G6Uwlk+
NAwv1ctHGI4pof6gXkJs+Aa2R45kKuiLss7rVsZrB+TiiG2jR+8=
=+WiG
-----END PGP SIGNATURE-----

Attachment: pgpOyu9R9mR_C.pgp
Description: PGP signature


--- End Message ---

Reply via email to