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

Reply via email to