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-----pgpOyu9R9mR_C.pgp
Description: PGP signature
--- End Message ---