tribuchet: building on jamie structuredAttrs is enabled Sourcing python-remove-tests-dir-hook Sourcing python-catch-conflicts-hook.sh Sourcing python-remove-bin-bytecode-hook.sh Sourcing pypa-build-hook Using pypaBuildPhase Sourcing python-runtime-deps-check-hook Using pythonRuntimeDepsCheckHook Sourcing pypa-install-hook Using pypaInstallPhase Sourcing python-imports-check-hook.sh Using pythonImportsCheckPhase Sourcing python-metadata-check-hook.sh Using pythonMetadataCheckPhase Sourcing python-namespaces-hook Sourcing python-catch-conflicts-hook.sh Sourcing pytest-check-hook Using pytestCheckPhase Running phase: unpackPhase unpacking source archive /nix/store/yf6l4xcrkrfff7s0a8hiw5k61937wv4v-source source root is source setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "source/uv.lock" Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase no configure script, doing nothing Running phase: buildPhase Executing pypaBuildPhase Creating a wheel... pypa build flags: --no-isolation --outdir dist/ --wheel * Getting build dependencies for wheel... * Building wheel... Successfully built django_ninja-1.7.1-py3-none-any.whl Finished creating a wheel... Finished executing pypaBuildPhase Running phase: pythonRuntimeDepsCheckHook Executing pythonRuntimeDepsCheck Checking runtime dependencies for django_ninja-1.7.1-py3-none-any.whl Finished executing pythonRuntimeDepsCheck Running phase: installPhase Executing pypaInstallPhase Successfully installed django_ninja-1.7.1-py3-none-any.whl Finished executing pypaInstallPhase Running phase: pythonOutputDistPhase Executing pythonOutputDistPhase Finished executing pythonOutputDistPhase Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/7k3756wyhfhc6zjnma86kanxrd975lg9-python3.14-django-ninja-1.7.1-dist checking for references to /build/ in /nix/store/7k3756wyhfhc6zjnma86kanxrd975lg9-python3.14-django-ninja-1.7.1-dist... patching script interpreter paths in /nix/store/7k3756wyhfhc6zjnma86kanxrd975lg9-python3.14-django-ninja-1.7.1-dist shrinking RPATHs of ELF executables and libraries in /nix/store/ari0sb3flkw03iwkis99rdspvhkmpv6f-python3.14-django-ninja-1.7.1 checking for references to /build/ in /nix/store/ari0sb3flkw03iwkis99rdspvhkmpv6f-python3.14-django-ninja-1.7.1... patching script interpreter paths in /nix/store/ari0sb3flkw03iwkis99rdspvhkmpv6f-python3.14-django-ninja-1.7.1 stripping (with command strip and flags -S -p) in /nix/store/ari0sb3flkw03iwkis99rdspvhkmpv6f-python3.14-django-ninja-1.7.1/lib Executing pythonRemoveTestsDir Finished executing pythonRemoveTestsDir Running phase: installCheckPhase no Makefile or custom installCheckPhase, doing nothing Running phase: pythonCatchConflictsPhase Running phase: pythonRemoveBinBytecodePhase Running phase: pythonImportsCheckPhase Executing pythonImportsCheckPhase Running phase: pythonMetadataCheckPhase Executing pythonMetadataCheckPhase Running phase: pytestCheckPhase Executing pytestCheckPhase pytest flags: -m pytest ============================= test session starts ============================== platform linux -- Python 3.14.8, pytest-9.1.1, pluggy-1.6.0 django: version: 5.2.18 rootdir: /build/source configfile: pyproject.toml plugins: asyncio-1.4.0, django-4.14.0 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function collected 812 items tests/test_django_models.py . [ 0%] tests/test_docs/test_auth.py . [ 0%] tests/test_openapi_schema.py . [ 0%] tests/test_orm_schemas.py . [ 0%] tests/test_pagination_async.py . [ 0%] tests/test_pagination_cursor.py ...................................... [ 5%] tests/test_add_decorator.py .......... [ 6%] tests/test_add_decorator_async.py ..... [ 7%] tests/test_alias.py . [ 7%] tests/test_annotated.py ..... [ 7%] tests/test_annotations_py314.py .. [ 8%] tests/test_api_instance.py ... [ 8%] tests/test_app.py ............ [ 9%] tests/test_async.py . [ 10%] tests/test_auth.py .................................... [ 14%] tests/test_auth_async.py ........ [ 15%] tests/test_auth_global.py ... [ 15%] tests/test_auth_inheritance_routers.py .............. [ 17%] tests/test_auth_routers.py ........ [ 18%] tests/test_body.py ..... [ 19%] tests/test_compatibility.py .. [ 19%] tests/test_conf.py .. [ 19%] tests/test_csrf.py ....... [ 20%] tests/test_csrf_async.py ... [ 20%] tests/test_decorators.py ... [ 21%] tests/test_discriminator.py ... [ 21%] tests/test_django_models.py .. [ 21%] tests/test_docs/test_auth.py .. [ 22%] tests/test_docs/test_body.py . [ 22%] tests/test_docs/test_form.py .. [ 22%] tests/test_docs/test_index.py . [ 22%] tests/test_docs/test_path.py . [ 22%] tests/test_docs/test_query.py . [ 22%] tests/test_enum.py ... [ 23%] tests/test_errors.py .. [ 23%] tests/test_exceptions.py ..... [ 24%] tests/test_export_openapi_schema.py ..... [ 24%] tests/test_files.py .... [ 25%] tests/test_filter_schema.py ............................... [ 29%] tests/test_forms.py ... [ 29%] tests/test_forms_and_files.py .. [ 29%] tests/test_inheritance_routers.py ........ [ 30%] tests/test_lists.py .......... [ 31%] tests/test_misc.py ..... [ 32%] tests/test_models.py .......... [ 33%] tests/test_openapi_docs.py .... [ 34%] tests/test_openapi_extra.py .... [ 34%] tests/test_openapi_params.py .. [ 34%] tests/test_openapi_schema.py ............................ [ 38%] tests/test_orm_metaclass.py ............ [ 39%] tests/test_orm_relations.py . [ 40%] tests/test_orm_schemas.py ................ [ 41%] tests/test_pagination.py ........................ [ 44%] tests/test_pagination_async.py ..... [ 45%] tests/test_pagination_router.py ..... [ 46%] tests/test_params_models.py .. [ 46%] tests/test_parser.py . [ 46%] tests/test_patch_dict.py ........ [ 47%] tests/test_path.py ..................................................... [ 54%] ...................................................... [ 60%] tests/test_pydantic_migrate.py .... [ 61%] tests/test_query.py .................................................... [ 67%] ........ [ 68%] tests/test_query_schema.py ......... [ 69%] tests/test_renderer.py ... [ 70%] tests/test_request.py .......... [ 71%] tests/test_response.py ................. [ 73%] tests/test_response_cookies.py . [ 73%] tests/test_response_multiple.py .................. [ 75%] tests/test_response_params.py . [ 75%] tests/test_reverse.py ... [ 76%] tests/test_router_add_router.py . [ 76%] tests/test_router_defaults.py .... [ 76%] tests/test_router_path_params.py ................. [ 78%] tests/test_router_reuse.py .......................... [ 82%] tests/test_schema.py ...s...... [ 83%] tests/test_schema_context.py .. [ 83%] tests/test_serialization_context.py .... [ 84%] tests/test_server.py ... [ 84%] tests/test_signature_details.py ............. [ 86%] tests/test_status.py ...................... [ 88%] tests/test_streaming.py ................. [ 90%] tests/test_test_client.py .................. [ 93%] tests/test_throttling.py ................ [ 95%] tests/test_utils.py ....... [ 95%] tests/test_with_django/test_multi_param_parsing.py ..................... [ 98%] .... [ 99%] tests/test_wraps.py ........ [100%] =============================== warnings summary =============================== tests/test_add_decorator_async.py::test_mixed_sync_async_endpoints_same_router tests/test_add_decorator_async.py::test_mixed_sync_async_endpoints_same_router /build/source/tests/test_add_decorator_async.py:179: DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead if asyncio.iscoroutinefunction(func): tests/test_filter_schema.py::test_improperly_configured_deprecated /build/source/tests/test_filter_schema.py:48: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ popular: Optional[str] = Field(None, q=Q(view_count__gt=1000)) tests/test_filter_schema.py::test_improperly_configured_deprecated /build/source/ninja/filter_schema.py:211: DeprecationWarning: Using Pydantic Field with extra keyword arguments ('q') in field DummyFilterSchema.popular is deprecated. Please use ninja.FilterLookup instead: from typing import Annotated from ninja import FilterLookup, FilterSchema class DummyFilterSchema(FilterSchema): popular: Annotated[Optional[...], FilterLookup(q='...', ...)] = None field_q = self._resolve_field_expression( tests/test_filter_schema.py::test_empty_q_when_none_ignored_deprecated /build/source/tests/test_filter_schema.py:70: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ name: Optional[str] = Field(None, q="name__icontains") tests/test_filter_schema.py::test_empty_q_when_none_ignored_deprecated /build/source/tests/test_filter_schema.py:71: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag: Optional[str] = Field(None, q="tag") tests/test_filter_schema.py::test_empty_q_when_none_ignored_deprecated tests/test_filter_schema.py::test_q_expressions2_deprecated[False] tests/test_filter_schema.py::test_q_expressions2_deprecated[True] tests/test_filter_schema.py::test_q_expressions3_deprecated tests/test_filter_schema.py::test_q_is_a_list_deprecated[False] tests/test_filter_schema.py::test_q_is_a_list_deprecated[True] tests/test_filter_schema.py::test_field_level_expression_connector_deprecated tests/test_filter_schema.py::test_class_level_and_field_level_expression_connector_deprecated /build/source/ninja/filter_schema.py:211: DeprecationWarning: Using Pydantic Field with extra keyword arguments ('q') in field DummyFilterSchema.name is deprecated. Please use ninja.FilterLookup instead: from typing import Annotated from ninja import FilterLookup, FilterSchema class DummyFilterSchema(FilterSchema): name: Annotated[Optional[...], FilterLookup(q='...', ...)] = None field_q = self._resolve_field_expression( tests/test_filter_schema.py::test_empty_q_when_none_ignored_deprecated tests/test_filter_schema.py::test_q_expressions2_deprecated[False] tests/test_filter_schema.py::test_q_expressions2_deprecated[True] tests/test_filter_schema.py::test_q_expressions3_deprecated tests/test_filter_schema.py::test_q_is_a_list_deprecated[False] tests/test_filter_schema.py::test_q_is_a_list_deprecated[True] tests/test_filter_schema.py::test_field_level_expression_connector_deprecated tests/test_filter_schema.py::test_class_level_and_field_level_expression_connector_deprecated tests/test_filter_schema.py::test_ignore_none_deprecated /build/source/ninja/filter_schema.py:211: DeprecationWarning: Using Pydantic Field with extra keyword arguments ('q') in field DummyFilterSchema.tag is deprecated. Please use ninja.FilterLookup instead: from typing import Annotated from ninja import FilterLookup, FilterSchema class DummyFilterSchema(FilterSchema): tag: Annotated[Optional[...], FilterLookup(q='...', ...)] = None field_q = self._resolve_field_expression( tests/test_filter_schema.py::test_q_expressions2_deprecated[False] tests/test_filter_schema.py::test_q_expressions2_deprecated[True] /build/source/tests/test_filter_schema.py:99: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ name: Optional[str] = Field(None, q=q) tests/test_filter_schema.py::test_q_expressions2_deprecated[False] tests/test_filter_schema.py::test_q_expressions2_deprecated[True] /build/source/tests/test_filter_schema.py:100: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag: Optional[str] = Field(None, q="tag") tests/test_filter_schema.py::test_q_expressions3_deprecated /build/source/tests/test_filter_schema.py:128: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ name: Optional[str] = Field(None, q="name__icontains") tests/test_filter_schema.py::test_q_expressions3_deprecated /build/source/tests/test_filter_schema.py:129: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag: Optional[str] = Field(None, q="tag") tests/test_filter_schema.py::test_q_is_a_list_deprecated[False] tests/test_filter_schema.py::test_q_is_a_list_deprecated[True] /build/source/tests/test_filter_schema.py:157: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ name: Optional[str] = Field(None, q=[q__name, "user__username__icontains"]) tests/test_filter_schema.py::test_q_is_a_list_deprecated[False] tests/test_filter_schema.py::test_q_is_a_list_deprecated[True] /build/source/tests/test_filter_schema.py:158: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag: Optional[str] = Field(None, q="tag") tests/test_filter_schema.py::test_field_level_expression_connector_deprecated /build/source/tests/test_filter_schema.py:192: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q', 'expression_connector'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ name: Optional[str] = Field( tests/test_filter_schema.py::test_field_level_expression_connector_deprecated /build/source/tests/test_filter_schema.py:196: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag: Optional[str] = Field(None, q="tag") tests/test_filter_schema.py::test_field_level_expression_connector_deprecated tests/test_filter_schema.py::test_class_level_and_field_level_expression_connector_deprecated /build/source/ninja/filter_schema.py:211: DeprecationWarning: Using Pydantic Field with extra keyword arguments ('expression_connector') in field DummyFilterSchema.name is deprecated. Please use ninja.FilterLookup instead: from typing import Annotated from ninja import FilterLookup, FilterSchema class DummyFilterSchema(FilterSchema): name: Annotated[Optional[...], FilterLookup(q='...', ...)] = None field_q = self._resolve_field_expression( tests/test_filter_schema.py::test_class_level_expression_connector_deprecated /build/source/tests/test_filter_schema.py:229: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag1: Optional[str] = Field(None, q="tag1") tests/test_filter_schema.py::test_class_level_expression_connector_deprecated /build/source/tests/test_filter_schema.py:230: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag2: Optional[str] = Field(None, q="tag2") tests/test_filter_schema.py::test_class_level_expression_connector_deprecated tests/test_filter_schema.py::test_ignore_none_class_level_deprecated /build/source/ninja/filter_schema.py:211: DeprecationWarning: Using Pydantic Field with extra keyword arguments ('q') in field DummyFilterSchema.tag1 is deprecated. Please use ninja.FilterLookup instead: from typing import Annotated from ninja import FilterLookup, FilterSchema class DummyFilterSchema(FilterSchema): tag1: Annotated[Optional[...], FilterLookup(q='...', ...)] = None field_q = self._resolve_field_expression( tests/test_filter_schema.py::test_class_level_expression_connector_deprecated tests/test_filter_schema.py::test_ignore_none_class_level_deprecated /build/source/ninja/filter_schema.py:211: DeprecationWarning: Using Pydantic Field with extra keyword arguments ('q') in field DummyFilterSchema.tag2 is deprecated. Please use ninja.FilterLookup instead: from typing import Annotated from ninja import FilterLookup, FilterSchema class DummyFilterSchema(FilterSchema): tag2: Annotated[Optional[...], FilterLookup(q='...', ...)] = None field_q = self._resolve_field_expression( tests/test_filter_schema.py::test_class_level_and_field_level_expression_connector_deprecated /build/source/tests/test_filter_schema.py:257: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q', 'expression_connector'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ name: Optional[str] = Field( tests/test_filter_schema.py::test_class_level_and_field_level_expression_connector_deprecated /build/source/tests/test_filter_schema.py:261: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag: Optional[str] = Field(None, q="tag") tests/test_filter_schema.py::test_ignore_none_deprecated /build/source/tests/test_filter_schema.py:298: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q', 'ignore_none'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag: Optional[str] = Field(None, q="tag", ignore_none=False) tests/test_filter_schema.py::test_ignore_none_deprecated /build/source/ninja/filter_schema.py:79: DeprecationWarning: Using Pydantic Field with extra keyword arguments ('ignore_none') in field DummyFilterSchema.tag is deprecated. Please use ninja.FilterLookup instead: from typing import Annotated from ninja import FilterLookup, FilterSchema class DummyFilterSchema(FilterSchema): tag: Annotated[Optional[...], FilterLookup(q='...', ...)] = None return self._connect_fields() tests/test_filter_schema.py::test_ignore_none_class_level_deprecated /build/source/tests/test_filter_schema.py:320: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag1: Optional[str] = Field(None, q="tag1") tests/test_filter_schema.py::test_ignore_none_class_level_deprecated /build/source/tests/test_filter_schema.py:321: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ tag2: Optional[str] = Field(None, q="tag2") tests/test_filter_schema.py::test_pydantic_field_with_extra_warns /build/source/tests/test_filter_schema.py:411: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'q'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ name: Optional[str] = Field(None, q="name__icontains") tests/test_orm_metaclass.py::test_model_schema_with_old_config /build/source/ninja/schema.py:181: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/ result = super().__new__(cls, name, bases, namespace, **kwargs) tests/test_router_reuse.py::TestOperationClone::test_clone_copies_all_attributes /build/source/tests/test_router_reuse.py:197: UserWarning: Field(s) ('id',) are in the view path, but were not found in the view signature. def dummy_view(request): tests/test_router_reuse.py::TestCloneCompleteness::test_clone_catches_new_attributes /build/source/tests/test_router_reuse.py:369: UserWarning: Field(s) ('id',) are in the view path, but were not found in the view signature. def dummy_view(request): -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ================= 811 passed, 1 skipped, 53 warnings in 4.29s ================== Finished executing pytestCheckPhase Running phase: pytestcachePhase Running phase: pytestRemoveBytecodePhase