--- Begin Message ---
Package: src:strawberry-graphql-django
Version: 0.67.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/202601/
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:strawberry-graphql-django, 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
debian/rules override_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_clean
find -type d -name .mypy_cache | xargs rm -rf {} \;
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
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
[... snipped ...]
}
"""
# ContentType, base table, two subtables = 4 queries
> with assert_num_queries(4):
^^^^^^^^^^^^^^^^^^^^^
tests/polymorphism/test_optimizer.py:466:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.13/contextlib.py:148: in __exit__
next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
n = 4
@contextlib.contextmanager
def assert_num_queries(n: int, *, using=DEFAULT_DB_ALIAS):
is_async = (gql_client := _client.get(None)) is not None and
gql_client.is_async
if is_async:
ctx_manager = AsyncCaptureQueriesContext(using)
else:
ctx_manager = CaptureQueriesContext(connection=connections[using])
with ctx_manager as ctx:
yield ctx
executed = len(ctx)
> assert executed == n, (
^^^^^^^^^^^^^
"{} queries executed, {} expected\nCaptured queries
were:\n{}".format(
executed,
n,
"\n".join(
f"{i}. {q['sql']}" for i, q in
enumerate(ctx.captured_queries, start=1)
),
)
)
E AssertionError: 2 queries executed, 4 expected
E Captured queries were:
E 1. SELECT "polymorphism_project"."id",
"polymorphism_project"."polymorphic_ctype_id", "polymorphism_project"."topic"
FROM "polymorphism_project" ORDER BY "polymorphism_project"."id" ASC
E 2. SELECT "django_content_type"."id",
"django_content_type"."app_label", "django_content_type"."model" FROM
"django_content_type" WHERE ("django_content_type"."app_label" = 'polymorphism'
AND "django_content_type"."model" = 'project') LIMIT 21
tests/utils.py:128: AssertionError
----------------------------- Captured stderr call -----------------------------
ERROR polymorphism.ArtProject is not derived from polymorphism.ResearchProject
GraphQL request:2:7
1 | query {
2 | projects {
| ^
3 | __typename
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/graphql/execution/execute.py", line 523,
in execute_field
result = resolve_fn(source, info, **args)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/optimizer.py",
line 1625, in resolve
ret = next_(root, info, *args, **kwargs)
File "/usr/lib/python3/dist-packages/strawberry/schema/schema_converter.py",
line 776, in _resolver
return _get_result_with_extensions(
_source,
strawberry_info,
**kwargs,
)
File "/usr/lib/python3/dist-packages/strawberry/schema/schema_converter.py",
line 763, in extension_resolver
return reduce(
~~~~~~~
...<2 lines>...
wrapped_get_result,
~~~~~~~~~~~~~~~~~~~
)(_source, info, **field_kwargs)
~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/strawberry/schema/schema_converter.py",
line 758, in wrapped_get_result
return _get_result(
_source, info, field_args=field_args, field_kwargs=kwargs
)
File "/usr/lib/python3/dist-packages/strawberry/schema/schema_converter.py",
line 715, in _get_result
return field.get_result(
~~~~~~~~~~~~~~~~^
_source, info=info, args=field_args, kwargs=field_kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/fields/field.py",
line 280, in get_result
result = django_resolver(
self.get_queryset_hook(**kwargs),
qs_hook=lambda qs: qs,
)(result)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/resolvers.py",
line 118, in inner_wrapper
return f(*args, **kwargs)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/resolvers.py",
line 85, in sync_resolver
retval = resolver(*args, **kwargs)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/fields/field.py",
line 298, in qs_hook
qs = default_qs_hook(qs)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/resolvers.py",
line 42, in default_qs_hook
qs._fetch_all() # type: ignore
~~~~~~~~~~~~~^^
File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 1886,
in _fetch_all
self._result_cache = list(self._iterable_class(self))
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/polymorphic/query.py", line 91, in
_polymorphic_iterator
yield from self.queryset._get_real_instances(base_result_objects)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/polymorphic/query.py", line 467, in
_get_real_instances
translated_field_name = translate_polymorphic_field_path(
real_concrete_class, field
)
File "/usr/lib/python3/dist-packages/polymorphic/query_translate.py", line
159, in translate_polymorphic_field_path
raise FieldError(
f"{model._meta.label} is not derived from {queryset_model._meta.label}"
)
django.core.exceptions.FieldError: polymorphism.ArtProject is not derived from
polymorphism.ResearchProject
------------------------------ Captured log call -------------------------------
ERROR strawberry.execution:logging.py:25 polymorphism.ArtProject is not
derived from polymorphism.ResearchProject
GraphQL request:2:7
1 | query {
2 | projects {
| ^
3 | __typename
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/graphql/execution/execute.py", line 523,
in execute_field
result = resolve_fn(source, info, **args)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/optimizer.py",
line 1625, in resolve
ret = next_(root, info, *args, **kwargs)
File "/usr/lib/python3/dist-packages/strawberry/schema/schema_converter.py",
line 776, in _resolver
return _get_result_with_extensions(
_source,
strawberry_info,
**kwargs,
)
File "/usr/lib/python3/dist-packages/strawberry/schema/schema_converter.py",
line 763, in extension_resolver
return reduce(
~~~~~~~
...<2 lines>...
wrapped_get_result,
~~~~~~~~~~~~~~~~~~~
)(_source, info, **field_kwargs)
~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/strawberry/schema/schema_converter.py",
line 758, in wrapped_get_result
return _get_result(
_source, info, field_args=field_args, field_kwargs=kwargs
)
File "/usr/lib/python3/dist-packages/strawberry/schema/schema_converter.py",
line 715, in _get_result
return field.get_result(
~~~~~~~~~~~~~~~~^
_source, info=info, args=field_args, kwargs=field_kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/fields/field.py",
line 280, in get_result
result = django_resolver(
self.get_queryset_hook(**kwargs),
qs_hook=lambda qs: qs,
)(result)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/resolvers.py",
line 118, in inner_wrapper
return f(*args, **kwargs)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/resolvers.py",
line 85, in sync_resolver
retval = resolver(*args, **kwargs)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/fields/field.py",
line 298, in qs_hook
qs = default_qs_hook(qs)
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build/strawberry_django/resolvers.py",
line 42, in default_qs_hook
qs._fetch_all() # type: ignore
~~~~~~~~~~~~~^^
File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 1886,
in _fetch_all
self._result_cache = list(self._iterable_class(self))
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/polymorphic/query.py", line 91, in
_polymorphic_iterator
yield from self.queryset._get_real_instances(base_result_objects)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/polymorphic/query.py", line 467, in
_get_real_instances
translated_field_name = translate_polymorphic_field_path(
real_concrete_class, field
)
File "/usr/lib/python3/dist-packages/polymorphic/query_translate.py", line
159, in translate_polymorphic_field_path
raise FieldError(
f"{model._meta.label} is not derived from {queryset_model._meta.label}"
)
django.core.exceptions.FieldError: polymorphism.ArtProject is not derived from
polymorphism.ResearchProject
=============================== warnings summary ===============================
tests/test_legacy_order.py::test_order_type
tests/test_ordering.py::test_order_type
/usr/lib/python3/dist-packages/strawberry/utils/deprecations.py:26:
UserWarning: _enum_definition is deprecated, use __strawberry_definition__
instead
self.warn()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
---------- coverage: platform linux, python 3.13.11-final-0 ----------
Name Stmts Miss Cover
Missing
--------------------------------------------------------------------------------------
strawberry_django/__init__.py 20 3 85%
35, 85-90
strawberry_django/auth/mutations.py 62 17 73%
23-24, 27-28, 41-53, 66-73
strawberry_django/auth/queries.py 15 2 87%
12-14
strawberry_django/auth/utils.py 28 6 79%
24-30, 33
strawberry_django/descriptors.py 63 13 79%
17-19, 79-85, 89-91, 97, 207
strawberry_django/exceptions.py 32 4 88%
10-12, 61-62
strawberry_django/fields/base.py 132 12 91%
33-40, 45, 109-112, 120, 247, 261
strawberry_django/fields/field.py 267 17 94%
74-86, 402, 431, 506, 548, 974, 1157
strawberry_django/fields/filter_order.py 125 8 94%
22-26, 100, 116, 144-145
strawberry_django/fields/types.py 240 58 76%
45, 51-53, 108-111, 114, 124, 143-145, 152-155, 158, 161, 197-200, 208,
220-223, 226, 271, 284-355, 424, 446-456, 467-504, 507-508, 606
strawberry_django/filters.py 199 12 94%
46-51, 71, 230, 297, 320, 416, 423-428
strawberry_django/integrations/guardian.py 22 2 91%
33-34
strawberry_django/management/commands/export_schema.py 22 1 95%
36
strawberry_django/middlewares/debug_toolbar.py 56 37 34%
26-48, 63-101
strawberry_django/mutations/fields.py 202 33 84%
34-47, 54, 61, 64-67, 79-92, 105, 125-127, 138, 214-217, 235-236, 324-325
strawberry_django/mutations/mutations.py 41 2 95%
131, 236
strawberry_django/mutations/resolvers.py 299 29 90%
47-52, 66, 69, 76-77, 117, 204, 223, 260, 394, 576, 584, 589, 607-618, 650,
652, 740-753
strawberry_django/optimizer.py 539 51 91%
81-89, 248-249, 252, 263-266, 336-337, 349-359, 366, 449-450, 480, 533, 627,
698, 888-889, 897, 948-949, 955-957, 960-962, 1054, 1172, 1318, 1472, 1476,
1492, 1630, 1633-1643
strawberry_django/ordering.py 223 9 96%
41-45, 200, 211, 298, 300, 335
strawberry_django/pagination.py 143 7 95%
44, 103, 134, 194-195, 283-284
strawberry_django/permissions.py 349 54 85%
47-49, 109, 113-114, 119-120, 124, 217, 223-233, 365, 376-395, 544, 558-561,
668, 671, 757, 767-768, 774, 804, 826, 834, 855-872
strawberry_django/queryset.py 36 2 94%
10-12
strawberry_django/relay/__init__.py 13 5 62%
20, 37-44
strawberry_django/relay/list_connection.py 113 6 95%
103-104, 274-277, 282-287
strawberry_django/relay/utils.py 115 9 92%
40, 137, 159, 193-196, 257, 264, 274
strawberry_django/resolvers.py 89 7 92%
16-18, 34, 81, 91, 130, 187
strawberry_django/routers.py 17 17 0%
1-53
strawberry_django/test/client.py 53 21 60%
13, 33-39, 53, 60, 72-96, 100-102
strawberry_django/type.py 204 8 96%
290, 304-311, 317, 349, 351
strawberry_django/utils/inspect.py 201 86 57%
35-46, 65, 108, 110, 112-114, 123, 127, 151, 164-167, 183-193, 257-258,
262-264, 268-269, 273-275, 279-280, 284-286, 290, 294, 298, 302, 306, 310, 314,
318, 322, 325-387
strawberry_django/utils/patches.py 38 10 74%
25, 33-46
strawberry_django/utils/query.py 86 16 81%
12-14, 37-38, 47-50, 69, 72, 77-78, 81, 132, 179, 200
strawberry_django/utils/requests.py 8 2 75%
14-15
strawberry_django/utils/typing.py 77 7 91%
33-39, 97, 155
tests/conftest.py 82 9 89%
103-114, 177, 181-185
tests/django_settings.py 30 4 87%
102-107
tests/exceptions.py 10 10 0%
1-18
tests/fields/test_attributes.py 77 3 96%
14, 39, 47
tests/fields/test_relations.py 60 1 98%
15
tests/fields/test_types.py 255 19 93%
29, 147-151, 232, 379-393
tests/filters/test_filters.py 303 2 99%
63, 78
tests/filters/test_filters_v2.py 285 19 93%
103, 152, 162, 173, 181-184, 195, 206, 217, 227, 235, 239, 247-250, 279, 342,
348
tests/models.py 72 10 86%
9, 127-136
tests/mutations/conftest.py 54 6 89%
90-97
tests/mutations/test_mutations.py 168 70 58%
284-385, 399-523
tests/node_polymorphism/test_optimizer.py 13 2 85%
36-37
tests/polymorphism/models.py 34 1 97%
32
tests/polymorphism/schema.py 51 2 96%
27, 37
tests/polymorphism/test_optimizer.py 104 22 79%
42-43, 88-89, 153-154, 207-208, 247-250, 285-286, 324-325, 373-374, 425-426,
468-469
tests/polymorphism_custom/schema.py 44 2 95%
25, 30
tests/projects/models.py 98 3 97%
15-17, 107
tests/projects/schema.py 295 1 99%
158
tests/queries/test_fields.py 113 18 84%
152-220
tests/relay/lazy/a.py 13 1 92%
12
tests/relay/lazy/b.py 19 1 95%
12
tests/relay/treenode/a.py 14 1 93%
12
tests/relay/treenode/b.py 19 1 95%
12
tests/schema.py 7 1 86% 8
tests/test_enums.py 158 158 0%
1-519
tests/test_legacy_order.py 273 16 94%
262, 294, 304, 315, 323-326, 337, 348, 356, 364, 368, 376-379, 411
tests/test_optimizer.py 638 1 99%
890
tests/test_ordering.py 200 1 99%
394
tests/test_relay.py 43 2 95%
54, 74
tests/test_types.py 215 2 99%
193, 350
tests/types.py 89 15 83%
48-64
tests/utils.py 105 7 93%
82-90, 199
--------------------------------------------------------------------------------------
TOTAL 12409 984 92%
93 files skipped due to complete coverage.
=========================== short test summary info ============================
FAILED
tests/node_polymorphism/test_optimizer.py::test_polymorphic_interface_query
FAILED tests/polymorphism/test_optimizer.py::test_polymorphic_interface_query
FAILED
tests/polymorphism/test_optimizer.py::test_polymorphic_query_abstract_model
FAILED
tests/polymorphism/test_optimizer.py::test_polymorphic_query_multiple_inheritance_levels
FAILED
tests/polymorphism/test_optimizer.py::test_polymorphic_query_abstract_model_on_field
FAILED
tests/polymorphism/test_optimizer.py::test_polymorphic_query_optimization_working
FAILED tests/polymorphism/test_optimizer.py::test_polymorphic_paginated_query
FAILED
tests/polymorphism/test_optimizer.py::test_polymorphic_offset_paginated_query
FAILED tests/polymorphism/test_optimizer.py::test_polymorphic_relation - Asse...
FAILED tests/polymorphism/test_optimizer.py::test_polymorphic_nested_list - A...
FAILED tests/polymorphism/test_optimizer.py::test_optimizer_hints_polymorphic
======= 11 failed, 949 passed, 7 skipped, 2 warnings in 90.22s (0:01:30) =======
E: pybuild pybuild:483: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_strawberry_django/build; python3.13 -m
pytest --ignore=tests/test_enums.py
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14
3.13" returned exit code 13
make: *** [debian/rules:11: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit
status 2
--------------------------------------------------------------------------------
--- End Message ---