Source: twine
Version: 4.0.0-2
Severity: serious
X-Debbugs-CC: [email protected]
Tags: sid bookworm
User: [email protected]
Usertags: needs-update
Control: affects -1 src:python-readme-renderer

Dear maintainer(s),

With a recent upload of python-readme-renderer the autopkgtest of twine fails in testing when that autopkgtest is run with the binary packages of python-readme-renderer from unstable. It passes when run with only packages from testing. In tabular form:

                       pass            fail
python-readme-renderer from testing    35.0-1
twine                  from testing    4.0.0-2
all others             from testing    from testing

I copied some of the output at the bottom of this report. After a very brief inspection, it seems the test captures an error message and expects it to remain unchanged.

Currently this regression is blocking the migration of python-readme-renderer to testing [1]. Of course, python-readme-renderer shouldn't just break your autopkgtest (or even worse, your package), but it seems to me that the change in python-readme-renderer was intended and your package needs to update to the new situation.

If this is a real problem in your package (and not only in your autopkgtest), the right binary package(s) from python-readme-renderer should really add a versioned Breaks on the unfixed version of (one of your) package(s). Note: the Breaks is nice even if the issue is only in the autopkgtest as it helps the migration software to figure out the right versions to combine in the tests.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=python-readme-renderer

https://ci.debian.net/data/autopkgtest/testing/amd64/t/twine/21263820/log.gz

__________________________ test_fails_rst_no_content ___________________________

tmp_path = PosixPath('/tmp/pytest-of-debci/pytest-0/test_fails_rst_no_content0')
capsys = <_pytest.capture.CaptureFixture object at 0x7fe0218f5210>
caplog = <_pytest.logging.LogCaptureFixture object at 0x7fe0218f7eb0>

    def test_fails_rst_no_content(tmp_path, capsys, caplog):
        sdist = build_sdist(
            tmp_path,
            {
                "setup.cfg": (
                    """
                    [metadata]
                    name = test-package
                    version = 0.0.1
                    long_description = file:README.rst
                    long_description_content_type = text/x-rst
                    """
                ),
                "README.rst": (
                    """
                    test-package
                    ============
                    """
                ),
            },
        )
            assert check.check([sdist])
            assert capsys.readouterr().out == f"Checking {sdist}: FAILED\n"
    >       assert caplog.record_tuples == [
            (
                "twine.commands.check",
                logging.ERROR,
                "`long_description` has syntax errors in markup "
                "and would not be rendered on PyPI.\n",
            ),
        ]
E AssertionError: assert [('twine.comm...RST source.')] == [('twine.comm... on PyPI.\n')] E At index 0 diff: ('twine.commands.check', 40, '`long_description` has syntax errors in markup and would not be rendered on PyPI.\nNo content rendered from RST source.') != ('twine.commands.check', 40, '`long_description` has syntax errors in markup and would not be rendered on PyPI.\n')
E         Use -v to get the full diff

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to