Your message dated Tue, 13 Jan 2026 09:33:24 +0000
with message-id <[email protected]>
and subject line Bug#1123256: fixed in python-inject 5.3.0-2
has caused the Debian Bug report #1123256,
regarding python-inject: FTBFS: dh_auto_test: error: pybuild --test
--test-pytest -i python{version} -p "3.14 3.13" 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 [email protected]
immediately.)
--
1123256: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1123256
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:python-inject
Version: 5.3.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-inject, 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
* Building wheel...
Successfully built inject-5.3.0-py2.py3-none-any.whl
I: pybuild plugin_pyproject:155: Unpacking wheel built for python3.14 with
"installer" module
I: pybuild plugin_pyproject:131: Building wheel for python3.13 with "build"
module
I: pybuild base:317: python3.13 -m build --skip-dependency-check --no-isolation
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13
* Building wheel...
Successfully built inject-5.3.0-py2.py3-none-any.whl
I: pybuild plugin_pyproject:155: Unpacking wheel built for python3.13 with
"installer" module
dh_auto_test -O--buildsystem=pybuild
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build;
python3.14 -m pytest test
============================= test session starts ==============================
platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build
configfile: pyproject.toml
plugins: typeguard-4.4.4
collected 66 items
test/test_attr.py ... [ 4%]
test/test_autoparams.py ................... [ 33%]
test/test_binder.py ........ [ 45%]
test/test_context_manager.py F. [ 48%]
test/test_dataclass.py ... [ 53%]
test/test_functional.py .... [ 59%]
test/test_inject_configuration.py .......... [ 74%]
test/test_injector.py ...... [ 83%]
test/test_instance.py . [ 84%]
test/test_param.py F.. [ 89%]
test/test_params.py F......
[100%]/usr/lib/python3/dist-packages/_pytest/unraisableexception.py:33:
RuntimeWarning: coroutine
'TestContextManagerFunctional.test_provider_as_context_manager_async.<locals>.mock_func'
was never awaited
gc.collect()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/usr/lib/python3/dist-packages/_pytest/unraisableexception.py:33:
RuntimeWarning: coroutine
'TestInjectParams.test_async_param.<locals>.test_func' was never awaited
gc.collect()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/usr/lib/python3/dist-packages/_pytest/unraisableexception.py:33:
RuntimeWarning: coroutine
'TestInjectParams.test_async_params.<locals>.test_func' was never awaited
gc.collect()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
=================================== FAILURES ===================================
_____ TestContextManagerFunctional.test_provider_as_context_manager_async ______
self = <test.test_context_manager.TestContextManagerFunctional
testMethod=test_provider_as_context_manager_async>
def test_provider_as_context_manager_async(self):
def config(binder):
binder.bind_to_provider(MockFile, get_file_async)
binder.bind(int, 100)
binder.bind_to_provider(str, lambda: "Hello")
binder.bind_to_provider(MockConnection, get_conn_async)
binder.bind_to_provider(MockFoo, get_foo_sync)
inject.configure(config)
@inject.autoparams()
async def mock_func(conn: MockConnection, name: str, f: MockFile,
number: int, foo: MockFoo):
assert f.started
assert conn.started
assert foo.started
assert name == "Hello"
assert number == 100
return f, conn, foo
> f_, conn_, foo_ = self.run_async(mock_func())
^^^^^^^^^^^^^^^^^^^^^^^^^^^
test/test_context_manager.py:104:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <test.test_context_manager.TestContextManagerFunctional
testMethod=test_provider_as_context_manager_async>
awaitable = <coroutine object
TestContextManagerFunctional.test_provider_as_context_manager_async.<locals>.mock_func
at 0x7ff0e9c9a980>
def run_async(self, awaitable):
> loop = asyncio.get_event_loop()
^^^^^^^^^^^^^^^^^^^^^^^^
test/__init__.py:11:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at
0x7ff0e9ba8050>
def get_event_loop(self):
"""Get the event loop for the current context.
Returns an instance of EventLoop or raises an exception.
"""
if self._local._loop is None:
> raise RuntimeError('There is no current event loop in thread %r.'
% threading.current_thread().name)
E RuntimeError: There is no current event loop in thread 'MainThread'.
/usr/lib/python3.14/asyncio/events.py:715: RuntimeError
______________________ TestInjectParams.test_async_param _______________________
self = <test.test_param.TestInjectParams testMethod=test_async_param>
def test_async_param(self):
@inject.param('val')
async def test_func(val):
return val
inject.configure(lambda binder: binder.bind('val', 123))
assert inspect.iscoroutinefunction(test_func)
> assert self.run_async(test_func()) == 123
^^^^^^^^^^^^^^^^^^^^^^^^^^^
test/test_param.py:34:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <test.test_param.TestInjectParams testMethod=test_async_param>
awaitable = <coroutine object
TestInjectParams.test_async_param.<locals>.test_func at 0x7ff0e9bd3c40>
def run_async(self, awaitable):
> loop = asyncio.get_event_loop()
^^^^^^^^^^^^^^^^^^^^^^^^
test/__init__.py:11:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at
0x7ff0e9ba8050>
def get_event_loop(self):
"""Get the event loop for the current context.
Returns an instance of EventLoop or raises an exception.
"""
if self._local._loop is None:
> raise RuntimeError('There is no current event loop in thread %r.'
% threading.current_thread().name)
E RuntimeError: There is no current event loop in thread 'MainThread'.
/usr/lib/python3.14/asyncio/events.py:715: RuntimeError
______________________ TestInjectParams.test_async_params ______________________
self = <test.test_params.TestInjectParams testMethod=test_async_params>
def test_async_params(self):
@inject.params(val=int)
async def test_func(val):
return val
inject.configure(lambda binder: binder.bind(int, 123))
assert inspect.iscoroutinefunction(test_func)
> assert self.run_async(test_func()) == 123
^^^^^^^^^^^^^^^^^^^^^^^^^^^
test/test_params.py:147:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <test.test_params.TestInjectParams testMethod=test_async_params>
awaitable = <coroutine object
TestInjectParams.test_async_params.<locals>.test_func at 0x7ff0e9c9ac40>
def run_async(self, awaitable):
> loop = asyncio.get_event_loop()
^^^^^^^^^^^^^^^^^^^^^^^^
test/__init__.py:11:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at
0x7ff0e9ba8050>
def get_event_loop(self):
"""Get the event loop for the current context.
Returns an instance of EventLoop or raises an exception.
"""
if self._local._loop is None:
> raise RuntimeError('There is no current event loop in thread %r.'
% threading.current_thread().name)
E RuntimeError: There is no current event loop in thread 'MainThread'.
/usr/lib/python3.14/asyncio/events.py:715: RuntimeError
=========================== short test summary info ============================
FAILED
test/test_context_manager.py::TestContextManagerFunctional::test_provider_as_context_manager_async
FAILED test/test_param.py::TestInjectParams::test_async_param - RuntimeError:...
FAILED test/test_params.py::TestInjectParams::test_async_params - RuntimeErro...
========================= 3 failed, 63 passed in 0.13s =========================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; python3.14 -m pytest test
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build;
python3.13 -m pytest test
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build
configfile: pyproject.toml
plugins: typeguard-4.4.4
collected 66 items
test/test_attr.py ... [ 4%]
test/test_autoparams.py ................... [ 33%]
test/test_binder.py ........ [ 45%]
test/test_context_manager.py .. [ 48%]
test/test_dataclass.py ... [ 53%]
test/test_functional.py .... [ 59%]
test/test_inject_configuration.py .......... [ 74%]
test/test_injector.py ...... [ 83%]
test/test_instance.py . [ 84%]
test/test_param.py ... [ 89%]
test/test_params.py ....... [100%]
=============================== warnings summary ===============================
test/test_context_manager.py::TestContextManagerFunctional::test_provider_as_context_manager_async
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/test/__init__.py:11:
DeprecationWarning: There is no current event loop
loop = asyncio.get_event_loop()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================== 66 passed, 1 warning in 0.11s =========================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14
3.13" returned exit code 13
make: *** [debian/rules:3: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
--- End Message ---
--- Begin Message ---
Source: python-inject
Source-Version: 5.3.0-2
Done: Manuel Traut <[email protected]>
We believe that the bug you reported is fixed in the latest version of
python-inject, 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 [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Manuel Traut <[email protected]> (supplier of updated python-inject 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 [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Tue, 13 Jan 2026 09:10:24 +0000
Source: python-inject
Built-For-Profiles: noudeb
Architecture: source
Version: 5.3.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Manuel Traut <[email protected]>
Closes: 1123256
Changes:
python-inject (5.3.0-2) unstable; urgency=medium
.
* Team upload.
.
[ Manuel Traut ]
* d/patches: pytest: Fix deprecated asyncio loop retrieval (Closes: #1123256)
.
[ Jeroen Ploemen ]
* CI: add d/salsa-ci.yml.
Checksums-Sha1:
8056b7c4097ca1124523c0b9eb943e54999c4334 2241 python-inject_5.3.0-2.dsc
782bc0309bf67df8e69777331a394e4dd7a47940 3096
python-inject_5.3.0-2.debian.tar.xz
a4e416976bae7d6f1d98e28a2e1c1d2c115bac3b 15081
python-inject_5.3.0-2_source.buildinfo
Checksums-Sha256:
ea6a2212068c30fc0d7f3ba82287dabfc0efc4ed4fac952ca24127307ac8a027 2241
python-inject_5.3.0-2.dsc
eeac8970ae4c730a8d1ef78a9a05157c6a9950391fd0fa14543e107172dbcb57 3096
python-inject_5.3.0-2.debian.tar.xz
512391727444ff378fabf26a55025a36c9ecd580b5fed18c9a0021e16013e278 15081
python-inject_5.3.0-2_source.buildinfo
Files:
0b6b14209aa3142447cecc923c20795c 2241 python optional python-inject_5.3.0-2.dsc
8ef82f6cf32ccd2bfcd47750c3aa0a6a 3096 python optional
python-inject_5.3.0-2.debian.tar.xz
971ec64da0b809cb0b421e57ab5a9663 15081 python optional
python-inject_5.3.0-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEd8lhnEnWos3N8v+qQoMEoXSNzHoFAmlmDJIACgkQQoMEoXSN
zHoLhg//RdmVO4OSTUXHxkb9GRa58lxF5J7dYex0pFGm68pOjSDRzyZbSjiRYQKr
toRCrQ89cLDn5Ozkrz26Ba8E1+6bOQjQMYipIW7BfE1qqjtS7A11fYkIUZZZs7qP
ulYewdxmdgoXMpFf+kDcDP+GDmIJDYDJKSvip1Bl9a1D0t//zu7qHeC+XeuIqrno
hIQHSpgWV4p6Zy2zpANOg4/SadLQi+VOWu274ySetmVye6xSeb/TYQMmzXqQf3yc
N4ZHTE8d7BWA9ZGutoVDVffoMAojrDraRIZdemoOoDdzSb8K63AK9hLjOCj23gYl
Ufbwq+RIuKPc4GHFyUCxQF93ak4mj9H2nrp6GK6T5AcogAaCgllL72G/tKs7DEO2
CNrxMsFCdJpXxHUdenjtZl8w7ErpvwaLAgwxMS33LxYN4nhEhjgFlCyylRG94EY4
qlXFncd8jhA2MzZfo0Qy0220BiOXfkRvsdQO29RWv862EEjbW6yLzeyt5qcFRrIh
BkzuSGD6JPqni0hYusIc9+9A/PaT9f6YUsuY/IfKVtwZETlq2dEczBu8mvPOL8xx
F+l5RZ6eqS5WZ0plXV5nQattGSj/parzRvpUyqvwWQ8A9RFaCi08oiWzd4Bli5ue
qAk3r29J0IQV8u1Tp9K4gbI7gQNAn1XhXTK87JBNm91u1yjSMCw=
=bZJq
-----END PGP SIGNATURE-----
pgpwkm7vULDKk.pgp
Description: PGP signature
--- End Message ---