Debian Bug report logs - #1123149
markdown-callouts: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" --system=custom --test-args="{interpreter} -m pytest -v" returned exit code 13

version graph

Package: src:markdown-callouts; Maintainer for src:markdown-callouts is Debian Python Team <team+python@tracker.debian.org>;

Reported by: Santiago Vila <sanvila@debian.org>

Date: Tue, 16 Dec 2025 19:45:01 UTC

Severity: serious

Tags: forky, ftbfs, sid

Found in version markdown-callouts/0.4.0-2

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Python Team <team+python@tracker.debian.org> (src:markdown-callouts for {1123149}), sanvila@debian.org (additional cc recipient for {1123149}):
Bug#1123149; Package src:markdown-callouts. (Tue, 16 Dec 2025 19:45:02 GMT) (full text, mbox, link).


Acknowledgement sent to Santiago Vila <sanvila@debian.org>:
New Bug report received and forwarded. Copy sent to sanvila@debian.org, team+python@tracker.debian.org. (Tue, 16 Dec 2025 19:45:02 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Santiago Vila <sanvila@debian.org>
To: Debian BTS <submit@bugs.debian.org>
Subject: markdown-callouts: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" --system=custom --test-args="{interpreter} -m pytest -v" returned exit code 13
Date: Tue, 16 Dec 2025 19:43:51 +0000
Package: src:markdown-callouts
Version: 0.4.0-2
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:markdown-callouts, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with mkdocs --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   debian/rules override_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf html .pytest_cache
dh_clean
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
 debian/rules binary
dh binary --with mkdocs --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   debian/rules override_dh_auto_build

[... snipped ...]

  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 166, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/<<PKGBUILDDIR>>/tests/test_extension.py", line 29, in test_extension
    assert html == golden.out["output"]
AssertionError: assert '<blockquote>...</blockquote>' == '<div class="... </p>\n</div>'
  
  - <div class="admonition note">
  -   <p class="admonition-title">
  + <blockquote>
  +   <p>
  -     Note
  +     [!Note]...
  
  ...Full output truncated (18 lines hidden), use '-vv' to show
______________________ test_extension[adjacent-nope.yml1] ______________________
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 353, in from_call
    result: TResult | None = func()
                             ~~~~^^
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 245, in <lambda>
    lambda: runtest_hook(item=item, **kwds),
            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 850, in pytest_runtest_call
    yield
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 900, in pytest_runtest_call
    return (yield)
            ^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 268, in pytest_runtest_call
    return (yield)
            ^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 179, in pytest_runtest_call
    item.runtest()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1720, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 166, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/<<PKGBUILDDIR>>/tests/test_extension.py", line 29, in test_extension
    assert html == golden.out["output"]
AssertionError: assert '<blockquote>...</blockquote>' == '<div class="... </p>\n</div>'
  
  + <blockquote>
  - <div class="admonition note">
  -   <p class="admonition-title">
  -     Note
  -   </p>
      <p>...
  
  ...Full output truncated (8 lines hidden), use '-vv' to show
_______________________ test_extension[extra-space.yml1] _______________________
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 353, in from_call
    result: TResult | None = func()
                             ~~~~^^
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 245, in <lambda>
    lambda: runtest_hook(item=item, **kwds),
            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 850, in pytest_runtest_call
    yield
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 900, in pytest_runtest_call
    return (yield)
            ^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 268, in pytest_runtest_call
    return (yield)
            ^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 179, in pytest_runtest_call
    item.runtest()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1720, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 166, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/<<PKGBUILDDIR>>/tests/test_extension.py", line 29, in test_extension
    assert html == golden.out["output"]
AssertionError: assert '<blockquote>...</blockquote>' == '<div class="... </p>\n</div>'
  
  - <div class="admonition note">
  -   <p class="admonition-title">
  + <blockquote>
  +   <p>
  -     Note
  +     [!Note] ...
  
  ...Full output truncated (22 lines hidden), use '-vv' to show
________________________ test_extension[adjacent.yml1] _________________________
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 353, in from_call
    result: TResult | None = func()
                             ~~~~^^
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 245, in <lambda>
    lambda: runtest_hook(item=item, **kwds),
            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 850, in pytest_runtest_call
    yield
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 900, in pytest_runtest_call
    return (yield)
            ^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
    teardown.throw(exception)
    ~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 268, in pytest_runtest_call
    return (yield)
            ^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 179, in pytest_runtest_call
    item.runtest()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1720, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
    raise exception
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 166, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/<<PKGBUILDDIR>>/tests/test_extension.py", line 29, in test_extension
    assert html == golden.out["output"]
AssertionError: assert '<blockquote>...TE: bar\n</p>' == '<div class="... </p>\n</div>'
  
  - <div class="admonition note">
  -   <p class="admonition-title">
  + <blockquote>
  +   <p>
  -     Note
  +     [!Note]...
  
  ...Full output truncated (20 lines hidden), use '-vv' to show
=========================== short test summary info ============================
FAILED tests/test_extension.py::test_extension[basic.yml0] - assert '<p>\n  N...
FAILED tests/test_extension.py::test_extension[adjacent-3.yml] - assert '<blo...
FAILED tests/test_extension.py::test_extension[blockquotes-many-joined.yml0]
FAILED tests/test_extension.py::test_extension[blockquotes-together.yml0] - a...
FAILED tests/test_extension.py::test_extension[newline-first.yml] - assert '<...
FAILED tests/test_extension.py::test_extension[adjacent-text-block.yml0] - as...
FAILED tests/test_extension.py::test_extension[with-list.yml0] - assert '<ul>...
FAILED tests/test_extension.py::test_extension[nested-block.yml] - assert '<b...
FAILED tests/test_extension.py::test_extension[blockquotes-split-by-comments.yml0]
FAILED tests/test_extension.py::test_extension[adjacent-2.yml] - assert '<p>\...
FAILED tests/test_extension.py::test_extension[linebreak-after.yml0] - assert...
FAILED tests/test_extension.py::test_extension[just-callout.yml] - AssertionE...
FAILED tests/test_extension.py::test_extension[adjacent-1.yml] - assert '<p>\...
FAILED tests/test_extension.py::test_extension[adjacent-nope.yml0] - assert '...
FAILED tests/test_extension.py::test_extension[extra-space.yml0] - assert '<p...
FAILED tests/test_extension.py::test_extension[title/basic.yml] - assert '<p>...
FAILED tests/test_extension.py::test_extension[title/multiline-title.yml] - a...
FAILED tests/test_extension.py::test_extension[title/preserve-dot-double.yml]
FAILED tests/test_extension.py::test_extension[title/link-ref-as-title.yml]
FAILED tests/test_extension.py::test_extension[title/blockstyle-interrupted.yml]
FAILED tests/test_extension.py::test_extension[title/no-strip-period.yml] - a...
FAILED tests/test_extension.py::test_extension[title/nested-block.yml] - asse...
FAILED tests/test_extension.py::test_extension[title/blockstyle.yml] - assert...
FAILED tests/test_extension.py::test_extension[title/text-after.yml] - assert...
FAILED tests/test_extension.py::test_extension[title/no-dot.yml] - assert '<p...
FAILED tests/test_extension.py::test_extension[title/avoid-bold-after-text.yml]
FAILED tests/test_extension.py::test_extension[title/inline-formatting.yml]
FAILED tests/test_extension.py::test_extension[title/preserve-dot-format.yml]
FAILED tests/test_extension.py::test_extension[title/preserve-dot-escape.yml]
FAILED tests/test_extension.py::test_extension[title/no-body.yml] - assert '<...
FAILED tests/test_extension.py::test_extension[title/avoid-title.yml] - asser...
FAILED tests/test_extension.py::test_extension[title/linebreak-after-title.yml]
FAILED tests/test_extension.py::test_extension[details/basic.yml] - assert '<...
FAILED tests/test_extension.py::test_extension[details/no-space.yml] - assert...
FAILED tests/test_extension.py::test_extension[details/nested.yml] - assert '...
FAILED tests/test_extension.py::test_extension[details/basic-open.yml] - asse...
FAILED tests/test_extension.py::test_extension[basic.yml1] - assert '<blockqu...
FAILED tests/test_extension.py::test_extension[varied-case.yml] - assert '<bl...
FAILED tests/test_extension.py::test_extension[blockquotes-many-joined.yml1]
FAILED tests/test_extension.py::test_extension[blockquotes-together.yml1] - a...
FAILED tests/test_extension.py::test_extension[adjacent-text-block.yml1] - as...
FAILED tests/test_extension.py::test_extension[with-list.yml1] - assert '<ul>...
FAILED tests/test_extension.py::test_extension[blockquotes-split-by-comments.yml1]
FAILED tests/test_extension.py::test_extension[barely-callout.yml] - assert '...
FAILED tests/test_extension.py::test_extension[nested-block-nope.yml] - asser...
FAILED tests/test_extension.py::test_extension[linebreak-after.yml1] - assert...
FAILED tests/test_extension.py::test_extension[classes.yml] - assert '<blockq...
FAILED tests/test_extension.py::test_extension[adjacent.yml0] - assert '<bloc...
FAILED tests/test_extension.py::test_extension[adjacent-nope.yml1] - assert '...
FAILED tests/test_extension.py::test_extension[extra-space.yml1] - assert '<b...
FAILED tests/test_extension.py::test_extension[adjacent.yml1] - assert '<bloc...
======================== 51 failed, 10 passed in 0.26s =========================
E: pybuild pybuild:389: test: plugin custom failed with: exit code=1: python3.13 -m pytest -v
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" --system=custom --test-args="{interpreter} -m pytest -v" returned exit code 13
make[1]: *** [debian/rules:24: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:9: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------




Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Fri Jan 2 09:34:39 2026; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.