Package: src:python-pytest-subtests
Version: 0.15.0-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-pytest-subtests, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 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:131: Building wheel for python3.14 with "build" 
module
I: pybuild base:317: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pytest-subtests  
* Building wheel...
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.

[... snipped ...]

    def test_foo(self):
        for i in range(10):
            with self.subTest("custom message", i=i):
                if i < 4:
                    self.skipTest(f"skip subtest i={i}")
>               assert i < 4
E               AssertionError: assert 7 < 4

test_skip_with_failure_and_non_subskip.py:10: AssertionError
__________________________________________________________________________________
 T.test_foo [custom message] (i=8) 
___________________________________________________________________________________

self = <test_skip_with_failure_and_non_subskip.T testMethod=test_foo>

    def test_foo(self):
        for i in range(10):
            with self.subTest("custom message", i=i):
                if i < 4:
                    self.skipTest(f"skip subtest i={i}")
>               assert i < 4
E               AssertionError: assert 8 < 4

test_skip_with_failure_and_non_subskip.py:10: AssertionError
__________________________________________________________________________________
 T.test_foo [custom message] (i=9) 
___________________________________________________________________________________

self = <test_skip_with_failure_and_non_subskip.T testMethod=test_foo>

    def test_foo(self):
        for i in range(10):
            with self.subTest("custom message", i=i):
                if i < 4:
                    self.skipTest(f"skip subtest i={i}")
>               assert i < 4
E               AssertionError: assert 9 < 4

test_skip_with_failure_and_non_subskip.py:10: AssertionError
=======================================================================================
 short test summary info 
========================================================================================
SUBSKIPPED[custom message] (i=0) [1] 
test_skip_with_failure_and_non_subskip.py:5: skip subtest i=0
SUBSKIPPED[custom message] (i=0) [1] 
test_skip_with_failure_and_non_subskip.py:5: skip subtest i=1
SUBSKIPPED[custom message] (i=0) [1] 
test_skip_with_failure_and_non_subskip.py:5: skip subtest i=2
SUBSKIPPED[custom message] (i=0) [1] 
test_skip_with_failure_and_non_subskip.py:5: skip subtest i=3
SUBSKIPPED[custom message] (i=0) [1] 
test_skip_with_failure_and_non_subskip.py:5: skip the test
SUBFAILED[custom message] (i=4) 
test_skip_with_failure_and_non_subskip.py::T::test_foo - AssertionError: assert 
4 < 4
SUBFAILED[custom message] (i=5) 
test_skip_with_failure_and_non_subskip.py::T::test_foo - AssertionError: assert 
5 < 4
SUBFAILED[custom message] (i=6) 
test_skip_with_failure_and_non_subskip.py::T::test_foo - AssertionError: assert 
6 < 4
SUBFAILED[custom message] (i=7) 
test_skip_with_failure_and_non_subskip.py::T::test_foo - AssertionError: assert 
7 < 4
SUBFAILED[custom message] (i=8) 
test_skip_with_failure_and_non_subskip.py::T::test_foo - AssertionError: assert 
8 < 4
SUBFAILED[custom message] (i=9) 
test_skip_with_failure_and_non_subskip.py::T::test_foo - AssertionError: assert 
9 < 4
=====================================================================================
 6 failed, 5 skipped in 0.01s 
=====================================================================================
_________________________ TestLogging.test_no_logging __________________________

self = <test_subtests.TestLogging object at 0x7f8e4be76060>
pytester = <Pytester 
PosixPath('/tmp/pytest-of-sbuild/pytest-1/test_no_logging0')>

    def test_no_logging(self, pytester: pytest.Pytester) -> None:
        pytester.makepyfile(
            """
            import logging
    
            def test(subtests):
                logging.info("start log line")
    
                with subtests.test("sub passing"):
                    logging.info("inside %s", "passing log line")
    
                with subtests.test("sub failing"):
                    logging.info("inside %s", "failing log line")
                    assert False
    
                logging.info("end log line")
            """
        )
        result = pytester.runpytest("-p no:logging")
>       result.stdout.fnmatch_lines(
            [
                "*1 passed*",
            ]
        )
E       Failed: nomatch: '*1 passed*'
E           and: '============================= test session starts 
=============================='
E           and: 'platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0'
E           and: 'rootdir: /tmp/pytest-of-sbuild/pytest-1/test_no_logging0'
E           and: 'plugins: typeguard-4.4.4, xdist-3.8.0'
E           and: 'collected 1 item'
E           and: ''
E           and: 'test_no_logging.py uF                                         
           [100%]'
E           and: ''
E           and: '=================================== FAILURES 
==================================='
E           and: '______________________________ test [sub failing] 
______________________________'
E           and: ''
E           and: 'subtests = <_pytest.subtests.Subtests object at 
0x7f8e4a102cf0>'
E           and: ''
E           and: '    def test(subtests):'
E           and: '        logging.info("start log line")'
E           and: '    '
E           and: '        with subtests.test("sub passing"):'
E           and: '            logging.info("inside %s", "passing log line")'
E           and: '    '
E           and: '        with subtests.test("sub failing"):'
E           and: '            logging.info("inside %s", "failing log line")'
E           and: '>           assert False'
E           and: 'E           assert False'
E           and: ''
E           and: 'test_no_logging.py:11: AssertionError'
E           and: '_____________________________________ test 
_____________________________________'
E           and: 'contains 1 failed subtest'
E           and: '=========================== short test summary info 
============================'
E           and: 'SUBFAILED[sub failing] test_no_logging.py::test - assert 
False'
E           and: 'FAILED test_no_logging.py::test - contains 1 failed subtest'
E           and: '============================== 2 failed in 0.00s 
==============================='
E       remains unmatched: '*1 passed*'

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pytest-subtests/build/tests/test_subtests.py:738:
 Failed
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /tmp/pytest-of-sbuild/pytest-1/test_no_logging0
plugins: typeguard-4.4.4, xdist-3.8.0
collected 1 item

test_no_logging.py uF                                                    [100%]

=================================== FAILURES ===================================
______________________________ test [sub failing] ______________________________

subtests = <_pytest.subtests.Subtests object at 0x7f8e4a102cf0>

    def test(subtests):
        logging.info("start log line")
    
        with subtests.test("sub passing"):
            logging.info("inside %s", "passing log line")
    
        with subtests.test("sub failing"):
            logging.info("inside %s", "failing log line")
>           assert False
E           assert False

test_no_logging.py:11: AssertionError
_____________________________________ test _____________________________________
contains 1 failed subtest
=========================== short test summary info ============================
SUBFAILED[sub failing] test_no_logging.py::test - assert False
FAILED test_no_logging.py::test - contains 1 failed subtest
============================== 2 failed in 0.00s ===============================
________________________________ test_exitfirst ________________________________

pytester = <Pytester 
PosixPath('/tmp/pytest-of-sbuild/pytest-1/test_exitfirst0')>

    def test_exitfirst(pytester: pytest.Pytester) -> None:
        """
        Validate that when passing --exitfirst the test exits after the first 
failed subtest.
        """
        pytester.makepyfile(
            """
            def test_foo(subtests):
                with subtests.test("sub1"):
                    assert False
    
                with subtests.test("sub2"):
                    assert False
            """
        )
        result = pytester.runpytest("--exitfirst")
        assert result.parseoutcomes()["failed"] == 2
>       result.stdout.fnmatch_lines(
            [
                "*[[]sub1[]] SUBFAIL test_exitfirst.py::test_foo - assert 
False*",
                "FAILED test_exitfirst.py::test_foo - assert False",
                "* stopping after 2 failures*",
            ],
            consecutive=True,
        )
E       Failed: nomatch: '*[[]sub1[]] SUBFAIL test_exitfirst.py::test_foo - 
assert False*'
E           and: '============================= test session starts 
=============================='
E           and: 'platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0'
E           and: 'rootdir: /tmp/pytest-of-sbuild/pytest-1/test_exitfirst0'
E           and: 'plugins: typeguard-4.4.4, xdist-3.8.0'
E           and: 'collected 1 item'
E           and: ''
E           and: 'test_exitfirst.py uF'
E           and: ''
E           and: '=================================== FAILURES 
==================================='
E           and: '_______________________________ test_foo [sub1] 
________________________________'
E           and: ''
E           and: 'subtests = <_pytest.subtests.Subtests object at 
0x7f8e49f28d10>'
E           and: ''
E           and: '    def test_foo(subtests):'
E           and: '        with subtests.test("sub1"):'
E           and: '>           assert False'
E           and: 'E           assert False'
E           and: ''
E           and: 'test_exitfirst.py:3: AssertionError'
E           and: '___________________________________ test_foo 
___________________________________'
E           and: ''
E           and: 'subtests = <_pytest.subtests.Subtests object at 
0x7f8e49f28d10>'
E           and: ''
E           and: '    def test_foo(subtests):'
E           and: '        with subtests.test("sub1"):'
E           and: '>           assert False'
E           and: 'E           assert False'
E           and: ''
E           and: 'test_exitfirst.py:3: AssertionError'
E           and: '=========================== short test summary info 
============================'
E           and: 'SUBFAILED[sub1] test_exitfirst.py::test_foo - assert False'
E           and: 'FAILED test_exitfirst.py::test_foo - assert False'
E           and: '!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 2 failures 
!!!!!!!!!!!!!!!!!!!!!!!!!!!'
E           and: '============================== 2 failed in 0.01s 
==============================='
E       remains unmatched: '*[[]sub1[]] SUBFAIL test_exitfirst.py::test_foo - 
assert False*'

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pytest-subtests/build/tests/test_subtests.py:828:
 Failed
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /tmp/pytest-of-sbuild/pytest-1/test_exitfirst0
plugins: typeguard-4.4.4, xdist-3.8.0
collected 1 item

test_exitfirst.py uF

=================================== FAILURES ===================================
_______________________________ test_foo [sub1] ________________________________

subtests = <_pytest.subtests.Subtests object at 0x7f8e49f28d10>

    def test_foo(subtests):
        with subtests.test("sub1"):
>           assert False
E           assert False

test_exitfirst.py:3: AssertionError
___________________________________ test_foo ___________________________________

subtests = <_pytest.subtests.Subtests object at 0x7f8e49f28d10>

    def test_foo(subtests):
        with subtests.test("sub1"):
>           assert False
E           assert False

test_exitfirst.py:3: AssertionError
=========================== short test summary info ============================
SUBFAILED[sub1] test_exitfirst.py::test_foo - assert False
FAILED test_exitfirst.py::test_foo - assert False
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 2 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
============================== 2 failed in 0.01s ===============================
=========================== short test summary info ============================
XFAIL tests/test_subtests.py::TestSubTest::test_skip[pytest-normal] - Not 
producing the expected results (#5)
XFAIL tests/test_subtests.py::TestSubTest::test_skip[pytest-xdist] - Not 
producing the expected results (#5)
XFAIL tests/test_subtests.py::TestSubTest::test_xfail[unittest] - Not producing 
the expected results (#5)
XFAIL tests/test_subtests.py::TestSubTest::test_xfail[pytest-normal] - Not 
producing the expected results (#5)
XFAIL tests/test_subtests.py::TestSubTest::test_xfail[pytest-xdist] - Not 
producing the expected results (#5)
XFAIL tests/test_subtests.py::TestSubTest::test_skip_with_failure[pytest-xdist] 
- Not producing the expected results (#5)
XFAIL 
tests/test_subtests.py::TestSubTest::test_skip_with_failure_and_non_subskip[pytest-xdist]
 - Not producing the expected results (#5)
FAILED tests/test_subtests.py::TestFixture::test_simple_terminal_normal[normal]
FAILED tests/test_subtests.py::TestFixture::test_simple_terminal_normal[xdist]
FAILED tests/test_subtests.py::TestFixture::test_simple_terminal_verbose[normal]
FAILED tests/test_subtests.py::TestFixture::test_simple_terminal_verbose[xdist]
FAILED tests/test_subtests.py::TestFixture::test_skip[normal] - Failed: nomat...
FAILED tests/test_subtests.py::TestFixture::test_skip[xdist] - Failed: nomatc...
FAILED tests/test_subtests.py::TestFixture::test_xfail[normal] - Failed: noma...
FAILED tests/test_subtests.py::TestFixture::test_xfail[xdist] - Failed: nomat...
FAILED tests/test_subtests.py::TestFixture::test_typing_exported[normal] - Fa...
FAILED tests/test_subtests.py::TestFixture::test_typing_exported[xdist] - Fai...
FAILED tests/test_subtests.py::TestFixture::test_no_subtests_reports[normal]
FAILED tests/test_subtests.py::TestFixture::test_no_subtests_reports[xdist]
FAILED 
tests/test_subtests.py::TestSubTest::test_simple_terminal_normal[pytest-normal]
FAILED 
tests/test_subtests.py::TestSubTest::test_simple_terminal_normal[pytest-xdist]
FAILED 
tests/test_subtests.py::TestSubTest::test_simple_terminal_verbose[pytest-normal]
FAILED 
tests/test_subtests.py::TestSubTest::test_simple_terminal_verbose[pytest-xdist]
FAILED 
tests/test_subtests.py::TestSubTest::test_skip_with_failure[pytest-normal]
FAILED 
tests/test_subtests.py::TestSubTest::test_skip_with_failure_and_non_subskip[pytest-normal]
FAILED tests/test_subtests.py::TestLogging::test_no_logging - Failed: nomatch...
FAILED tests/test_subtests.py::test_exitfirst - Failed: nomatch: '*[[]sub1[]]...
=================== 20 failed, 14 passed, 7 xfailed in 2.60s ===================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pytest-subtests/build; python3.13 -m 
pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to