Package: src:aiotankerkoenig
Version: 0.5.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:aiotankerkoenig, 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 aiotankerkoenig-0.0.0-py3-none-any.whl

[... snipped ...]

    def get(self, spec: ValueSpec) -> Expression:
        if is_annotated(spec.type):
            spec.annotated_type = spec.builder.get_real_type(
                spec.field_ctx.name, spec.type
            )
            spec.type = get_type_origin(spec.type)
        spec.type = spec.builder.get_real_type(spec.field_ctx.name, spec.type)
        spec.builder.add_type_modules(spec.type)
        for packer in self._registry:
            expr = packer(spec)
            if expr is not None:
                return expr
>       raise UnserializableField(
            spec.field_ctx.name, spec.type, spec.builder.cls
        )
E       mashumaro.exceptions.UnserializableField: Field "brand" of type 
Optional[str] in Station is not serializable

/usr/lib/python3/dist-packages/mashumaro/core/meta/types/common.py:225: 
UnserializableField
_____________________________ test_station_details _____________________________

responses = <aioresponses.core.aioresponses object at 0x7ff44930cd50>
tankerkoenig_client = Tankerkoenig(api_key='abc123', 
session=<aiohttp.client.ClientSession object at 0x7ff4492ba900>, 
_close_session=False)
snapshot = SnapshotAssertion(name='snapshot', num_executions=0)

    async def test_station_details(
        responses: aioresponses,
        tankerkoenig_client: Tankerkoenig,
        snapshot: SnapshotAssertion,
    ) -> None:
        """Test retrieving station details."""
        responses.get(
            f"{TANKERKOENIG_ENDPOINT}/json/detail.php?apikey=abc123&id=1",
            status=200,
            body=load_fixture("detail.json"),
        )
>       assert await tankerkoenig_client.station_details(station_id="1") == 
> snapshot
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_aiotankerkoenig.py:150: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
aiotankerkoenig/aiotankerkoenig.py:121: in station_details
    return StationDetailResponse.from_json(result).station
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<string>:3: in __mashumaro_from_json__
    ???
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:584: in 
add_unpack_method
    self._add_unpack_method_lines(method_name)
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:489: in 
_add_unpack_method_lines
    ).build(
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:1330: in 
build
    unpacked_value = UnpackerRegistry.get(
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/common.py:222: in get
    expr = packer(spec)
           ^^^^^^^^^^^^
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/unpack.py:731: in 
unpack_dataclass
    builder.add_unpack_method()
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:584: in 
add_unpack_method
    self._add_unpack_method_lines(method_name)
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:489: in 
_add_unpack_method_lines
    ).build(
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:1330: in 
build
    unpacked_value = UnpackerRegistry.get(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Registry(_registry=[<function 
unpack_type_with_overridden_deserialization at 0x7ff4494f2980>, <function 
unpack_seriali...ck_pathlike at 0x7ff4494f49e0>, <function unpack_enum at 
0x7ff4494f4b40>, <function unpack_pattern at 0x7ff4494f4ca0>])
spec = ValueSpec(type=str | None, origin_type=<class 'typing.Union'>, 
expression='value', builder=<mashumaro.core.meta.code.b...ngproxy({}), 
packer=None, unpacker=None), could_be_none=False, annotated_type=None, 
owner=None, no_copy_collections=())

    def get(self, spec: ValueSpec) -> Expression:
        if is_annotated(spec.type):
            spec.annotated_type = spec.builder.get_real_type(
                spec.field_ctx.name, spec.type
            )
            spec.type = get_type_origin(spec.type)
        spec.type = spec.builder.get_real_type(spec.field_ctx.name, spec.type)
        spec.builder.add_type_modules(spec.type)
        for packer in self._registry:
            expr = packer(spec)
            if expr is not None:
                return expr
>       raise UnserializableField(
            spec.field_ctx.name, spec.type, spec.builder.cls
        )
E       mashumaro.exceptions.UnserializableField: Field "brand" of type 
Optional[str] in Station is not serializable

/usr/lib/python3/dist-packages/mashumaro/core/meta/types/common.py:225: 
UnserializableField
_____________________________ test_nearby_stations _____________________________

responses = <aioresponses.core.aioresponses object at 0x7ff44930cc50>
tankerkoenig_client = Tankerkoenig(api_key='abc123', 
session=<aiohttp.client.ClientSession object at 0x7ff4492bb8c0>, 
_close_session=False)
snapshot = SnapshotAssertion(name='snapshot', num_executions=0)

    async def test_nearby_stations(
        responses: aioresponses,
        tankerkoenig_client: Tankerkoenig,
        snapshot: SnapshotAssertion,
    ) -> None:
        """Test retrieving nearby stations."""
        responses.get(
            
f"{TANKERKOENIG_ENDPOINT}/json/list.php?apikey=abc123&lat=53.1&lng=7.8&rad=5&sort=dist&type=all",
            status=200,
            body=load_fixture("list.json"),
        )
        assert (
>           await tankerkoenig_client.nearby_stations(
                coordinates=(53.1, 7.8),
                radius=5,
                gas_type=GasType.ALL,
                sort=Sort.DISTANCE,
            )
            == snapshot
        )

tests/test_aiotankerkoenig.py:165: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
aiotankerkoenig/aiotankerkoenig.py:108: in nearby_stations
    return StationListResponse.from_json(result).stations
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<string>:3: in __mashumaro_from_json__
    ???
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:584: in 
add_unpack_method
    self._add_unpack_method_lines(method_name)
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:489: in 
_add_unpack_method_lines
    ).build(
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:1330: in 
build
    unpacked_value = UnpackerRegistry.get(
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/common.py:222: in get
    expr = packer(spec)
           ^^^^^^^^^^^^
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/unpack.py:1253: in 
unpack_collection
    return f"[{inner_expr()} for value in {spec.expression}]"
               ^^^^^^^^^^^^
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/unpack.py:1234: in 
inner_expr
    return UnpackerRegistry.get(
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/common.py:222: in get
    expr = packer(spec)
           ^^^^^^^^^^^^
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/unpack.py:731: in 
unpack_dataclass
    builder.add_unpack_method()
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:584: in 
add_unpack_method
    self._add_unpack_method_lines(method_name)
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:489: in 
_add_unpack_method_lines
    ).build(
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:1330: in 
build
    unpacked_value = UnpackerRegistry.get(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Registry(_registry=[<function 
unpack_type_with_overridden_deserialization at 0x7ff4494f2980>, <function 
unpack_seriali...ck_pathlike at 0x7ff4494f49e0>, <function unpack_enum at 
0x7ff4494f4b40>, <function unpack_pattern at 0x7ff4494f4ca0>])
spec = ValueSpec(type=str | None, origin_type=<class 'typing.Union'>, 
expression='value', builder=<mashumaro.core.meta.code.b...ngproxy({}), 
packer=None, unpacker=None), could_be_none=False, annotated_type=None, 
owner=None, no_copy_collections=())

    def get(self, spec: ValueSpec) -> Expression:
        if is_annotated(spec.type):
            spec.annotated_type = spec.builder.get_real_type(
                spec.field_ctx.name, spec.type
            )
            spec.type = get_type_origin(spec.type)
        spec.type = spec.builder.get_real_type(spec.field_ctx.name, spec.type)
        spec.builder.add_type_modules(spec.type)
        for packer in self._registry:
            expr = packer(spec)
            if expr is not None:
                return expr
>       raise UnserializableField(
            spec.field_ctx.name, spec.type, spec.builder.cls
        )
E       mashumaro.exceptions.UnserializableField: Field "brand" of type 
Optional[str] in Station is not serializable

/usr/lib/python3/dist-packages/mashumaro/core/meta/types/common.py:225: 
UnserializableField
_________________________________ test_prices __________________________________

responses = <aioresponses.core.aioresponses object at 0x7ff449317b60>
tankerkoenig_client = Tankerkoenig(api_key='abc123', 
session=<aiohttp.client.ClientSession object at 0x7ff449592f90>, 
_close_session=False)
snapshot = SnapshotAssertion(name='snapshot', num_executions=0)

    async def test_prices(
        responses: aioresponses,
        tankerkoenig_client: Tankerkoenig,
        snapshot: SnapshotAssertion,
    ) -> None:
        """Test retrieving nearby stations."""
        responses.get(
            
f"{TANKERKOENIG_ENDPOINT}/json/prices.php?apikey=abc123&ids=4fd02fd5-0a4c-46b3-a9b9-a488a62454be",
            status=200,
            body=load_fixture("prices.json"),
        )
        assert (
>           await tankerkoenig_client.prices(
                station_ids=["4fd02fd5-0a4c-46b3-a9b9-a488a62454be"],
            )
            == snapshot
        )

tests/test_aiotankerkoenig.py:187: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
aiotankerkoenig/aiotankerkoenig.py:134: in prices
    return PriceInfoResponse.from_json(result).prices
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<string>:3: in __mashumaro_from_json__
    ???
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:584: in 
add_unpack_method
    self._add_unpack_method_lines(method_name)
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:489: in 
_add_unpack_method_lines
    ).build(
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:1330: in 
build
    unpacked_value = UnpackerRegistry.get(
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/common.py:222: in get
    expr = packer(spec)
           ^^^^^^^^^^^^
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/unpack.py:1306: in 
unpack_collection
    f'{{{inner_expr(0, "key")}: {inner_expr(1)} '
                                 ^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/unpack.py:1234: in 
inner_expr
    return UnpackerRegistry.get(
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/common.py:222: in get
    expr = packer(spec)
           ^^^^^^^^^^^^
/usr/lib/python3/dist-packages/mashumaro/core/meta/types/unpack.py:731: in 
unpack_dataclass
    builder.add_unpack_method()
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:584: in 
add_unpack_method
    self._add_unpack_method_lines(method_name)
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:489: in 
_add_unpack_method_lines
    ).build(
/usr/lib/python3/dist-packages/mashumaro/core/meta/code/builder.py:1330: in 
build
    unpacked_value = UnpackerRegistry.get(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Registry(_registry=[<function 
unpack_type_with_overridden_deserialization at 0x7ff4494f2980>, <function 
unpack_seriali...ck_pathlike at 0x7ff4494f49e0>, <function unpack_enum at 
0x7ff4494f4b40>, <function unpack_pattern at 0x7ff4494f4ca0>])
spec = ValueSpec(type=float | None, origin_type=<class 'typing.Union'>, 
expression='value', builder=<mashumaro.core.meta.code...ngproxy({}), 
packer=None, unpacker=None), could_be_none=False, annotated_type=None, 
owner=None, no_copy_collections=())

    def get(self, spec: ValueSpec) -> Expression:
        if is_annotated(spec.type):
            spec.annotated_type = spec.builder.get_real_type(
                spec.field_ctx.name, spec.type
            )
            spec.type = get_type_origin(spec.type)
        spec.type = spec.builder.get_real_type(spec.field_ctx.name, spec.type)
        spec.builder.add_type_modules(spec.type)
        for packer in self._registry:
            expr = packer(spec)
            if expr is not None:
                return expr
>       raise UnserializableField(
            spec.field_ctx.name, spec.type, spec.builder.cls
        )
E       mashumaro.exceptions.UnserializableField: Field "e5" of type 
Optional[float] in PriceInfo is not serializable

/usr/lib/python3/dist-packages/mashumaro/core/meta/types/common.py:225: 
UnserializableField
--------------------------- snapshot report summary ----------------------------
3 snapshots unused.

Re-run pytest with --snapshot-update to delete unused snapshots.
=========================== short test summary info ============================
FAILED tests/test_aiotankerkoenig.py::test_invalid_apikey_response[API-Key 
existiert nicht]
FAILED tests/test_aiotankerkoenig.py::test_invalid_apikey_response[APIKey 
existiert nicht.]
FAILED tests/test_aiotankerkoenig.py::test_general_error_response - mashumaro...
FAILED tests/test_aiotankerkoenig.py::test_putting_in_own_session - mashumaro...
FAILED tests/test_aiotankerkoenig.py::test_creating_own_session - mashumaro.e...
FAILED tests/test_aiotankerkoenig.py::test_station_details - mashumaro.except...
FAILED tests/test_aiotankerkoenig.py::test_nearby_stations - mashumaro.except...
FAILED tests/test_aiotankerkoenig.py::test_prices - mashumaro.exceptions.Unse...
========================= 8 failed, 4 passed in 0.59s ==========================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; python3.14 -m pytest --no-cov
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; 
python3.13 -m pytest --no-cov
============================= 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: cov-5.0.0, asyncio-1.2.0, syrupy-5.0.0
asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, 
asyncio_default_test_loop_scope=function
collected 12 items

tests/test_aiotankerkoenig.py ............                               [100%]

--------------------------- snapshot report summary ----------------------------
3 snapshots passed.
============================== 12 passed in 0.05s ==============================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:5: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to