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.

Reply via email to