#!/usr/bin/make -f
# -*- makefile -*-

#export DH_VERBOSE = 1

export PYBUILD_NAME=litestar
export PYBUILD_BEFORE_TEST=cp -a docs {build_dir}
export PYBUILD_AFTER_TEST=rm -rf {build_dir}/docs
export PYBUILD_TEST_ARGS=\
 --ignore=docs/examples/testing/test_subprocess_sse.py \
 --ignore=tests/unit/test_channels/test_backends.py \
 --ignore=tests/unit/test_channels/test_plugin.py \
 --ignore=tests/unit/test_cli/test_schema_commands.py \
 --ignore=tests/unit/test_contrib/test_opentelemetry.py \
 --ignore=tests/unit/test_file_system.py \
 --ignore=tests/unit/test_kwargs/test_validations.py \
 --ignore=tests/unit/test_middleware/test_rate_limit_middleware.py \
 --ignore=tests/unit/test_openapi \
 --ignore=tests/unit/test_stores.py \
 --ignore=tests/unit/test_testing/test_sub_client/test_subprocess_client.py \
 --ignore=tests/unit/test_testing/test_test_client.py \
 --ignore=tests/unit/test_concurrency.py \
 --ignore=tests/unit/test_connection/test_base.py \
 --ignore=tests/unit/test_contrib/test_htmx/test_htmx_request.py \
 --ignore=tests/unit/test_contrib/test_htmx/test_htmx_response.py \
 --ignore=tests/unit/test_dto/test_factory/test_backends/test_backends.py \
 --ignore=tests/unit/test_dto/test_factory/test_integration.py \
 --ignore=tests/unit/test_dto/test_factory/test_backends/test_base_dto.py \
 --ignore=tests/unit/test_controller.py \
 --ignore=tests/unit/test_datastructures/test_secret_values.py \
 --ignore=tests/unit/test_datastructures/test_upload_file.py \
 --ignore=tests/unit/test_exceptions.py \
 --ignore=tests/unit/test_events.py \
 --ignore=tests/unit/test_handlers/test_http_handlers/test_media_type.py \
 --ignore=tests/unit/test_handlers/test_http_handlers/test_kwarg_handling.py \
 --ignore=tests/unit/test_handlers/test_websocket_handlers/test_stream.py \
 --ignore=tests/unit/test_kwargs/test_cookie_params.py \
 --ignore=tests/unit/test_kwargs/test_dependency_batches.py \
 --ignore=tests/unit/test_kwargs/test_generator_dependencies.py \
 --ignore=tests/unit/test_kwargs/test_header_params.py \
 --ignore=tests/unit/test_kwargs/test_json_data.py \
 --ignore=tests/unit/test_kwargs/test_layered_params.py \
 --ignore=tests/unit/test_kwargs/test_msgpack_data.py \
 --ignore=tests/unit/test_kwargs/test_multipart_data.py \
 --ignore=tests/unit/test_kwargs/test_path_params.py \
 --ignore=tests/unit/test_kwargs/test_query_params.py \
 --ignore=tests/unit/test_kwargs/test_reserved_kwargs_injection.py \
 --ignore=tests/unit/test_kwargs/test_url_encoded_data.py \
 --ignore=tests/unit/test_logging/test_logging_config.py \
 --ignore=tests/unit/test_logging/test_structlog_config.py \
 --ignore=tests/unit/test_handlers/test_websocket_handlers/test_listeners.py \
 --ignore=tests/unit/test_middleware/test_base_middleware.py \
 --ignore=tests/unit/test_middleware/test_cors_middleware.py \
 --ignore=tests/unit/test_middleware/test_csrf_middleware.py \
 --ignore=tests/unit/test_middleware/test_exception_handler_middleware.py \
 --ignore=tests/unit/test_middleware/test_logging_middleware.py \
 --ignore=tests/unit/test_middleware/test_compression_middleware.py \
 --ignore=tests/unit/test_middleware/test_session/test_middleware.py \
 --ignore=tests/unit/test_middleware/test_middleware_handling.py \
 --ignore=tests/unit/test_middleware/test_session/test_client_side_backend.py \
 --ignore=tests/unit/test_pagination.py \
 --ignore=tests/unit/test_params.py \
 --ignore=tests/unit/test_parsers.py \
 --ignore=tests/unit/test_plugins/test_flash.py \
 --ignore=tests/unit/test_plugins/test_attrs/test_inject_attrs_class.py \
 --ignore=tests/unit/test_plugins/test_attrs/test_schema_spec_generation.py \
 --ignore=tests/unit/test_plugins/test_attrs/test_signature.py \
 --ignore=tests/unit/test_plugins/test_prometheus.py \
 --ignore=tests/unit/test_plugins/test_base.py \
 --ignore=tests/unit/test_plugins/test_problem_details.py \
 --ignore=tests/unit/test_plugins/test_pydantic/test_dto.py \
 --ignore=tests/unit/test_plugins/test_pydantic/test_inject_pydantic.py \
 --ignore=tests/unit/test_plugins/test_pydantic/test_integration.py \
 --ignore=tests/unit/test_plugins/test_pydantic/test_openapi.py \
 --ignore=tests/unit/test_plugins/test_pydantic/test_plugin_serialization.py \
 --ignore=tests/unit/test_middleware/test_base_authentication_middleware.py \
 --ignore=tests/unit/test_response/test_base_response.py \
 --ignore=tests/unit/test_plugins/test_pydantic/test_pydantic_dto_factory.py \
 --ignore=tests/unit/test_middleware/test_session/test_server_side_backend.py \
 --ignore=tests/unit/test_repository/test_generic_mock_repository.py \
 --ignore=tests/unit/test_request_class_resolution.py \
 --ignore=tests/unit/test_response/test_file_response.py \
 --ignore=tests/unit/test_plugins/test_pydantic/test_schema_plugin.py \
 --ignore=tests/unit/test_response/test_response_cookies.py \
 --ignore=tests/unit/test_response/test_redirect_response.py \
 --ignore=tests/unit/test_response/test_response_headers.py \
 --ignore=tests/unit/test_response/test_response_to_asgi_response.py \
 --ignore=tests/unit/test_response/test_type_encoders.py \
 --ignore=tests/unit/test_response/test_sse.py \
 --ignore=tests/unit/test_response_class_resolution.py \
 --ignore=tests/unit/test_security/test_jwt/test_auth.py \
 --ignore=tests/unit/test_security/test_jwt/test_integration.py \
 --ignore=tests/unit/test_security/test_jwt/test_token.py \
 --ignore=tests/unit/test_guards.py \
 --ignore=tests/unit/test_dto/test_integration.py \
 --ignore=tests/unit/test_connection/test_websocket.py \
 --ignore=tests/unit/test_security/test_session_auth.py \
 --ignore=tests/unit/test_handlers/test_websocket_handlers/test_validations.py \
 --ignore=tests/unit/test_signature/test_parsing.py \
 --ignore=tests/unit/test_kwargs/test_defaults.py \
 --ignore=tests/unit/test_security/test_security.py \
 --ignore=tests/unit/test_signature/test_validation.py \
 --ignore=tests/unit/test_response/test_streaming_response.py \
 --ignore=tests/unit/test_static_files/test_file_serving_resolution.py \
 --ignore=tests/unit/test_static_files/test_html_mode.py \
 --ignore=tests/unit/test_static_files/test_static_files_validation.py \
 --ignore=tests/unit/test_template/test_built_in.py \
 --ignore=tests/unit/test_template/test_builtin_functions.py \
 --ignore=tests/unit/test_template/test_template.py \
 --ignore=tests/unit/test_testing/test_request_factory.py \
 --ignore=tests/unit/test_utils/*.py \
 --ignore=tests/unit/test_websocket_class_resolution.py \
 --ignore=tests/e2e/test_response_caching.py \
 -W ignore::DeprecationWarning \
 -W ignore::ResourceWarning \
 -k 'not test_backlog \
 and not test_prometheus_exporter_metrics_with_http \
 and not test_qsize \
 and not test_request_body_logging_middleware \
 and not test_sqlalchemy_declarative_models \
 and not test_with_portal \
 and not test_with_stores \
 and not test_controller_http_method \
 and not test_mutable_scope_headers_from_tuple_extend_header_value_new_header \
 and not test_target_set \
 and not test_secret_string_parameter \
 and not test_fields_alias_generator \
 and not test_dto_data_create_instance_renamed_fields \
 and not test_backend_parse_unsupported_media_type \
 and not test_dto_openapi_without_unique_handler_names \
 and not test_backend_scalar_annotation \
 and not test_url_encoded_form_data_patch_request \
 and not test_backend_populate_data_from_builtins \
 and not test_backend_create_openapi_schema \
 and not test_dto_private_fields_disabled \
 and not test_dto_concrete_builtin_collection_types \
 '

%:
	dh $@ --buildsystem=pybuild

override_dh_clean:
	dh_clean
	rm -rf .mypy_cache
