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
--------------------------------------------------------------------------------

Reply via email to