Marcel Telka
2024-04-09 fd9f501749e1762d87c06022a02c338ad364a357
python/flask: update to 3.0.3

4 files modified
689 ■■■■ changed files
components/python/flask/Makefile 8 ●●●●● patch | view | raw | blame | history
components/python/flask/flask-PYVER.p5m 2 ●●● patch | view | raw | blame | history
components/python/flask/manifests/sample-manifest.p5m 2 ●●● patch | view | raw | blame | history
components/python/flask/test/results-all.master 677 ●●●● patch | view | raw | blame | history
components/python/flask/Makefile
@@ -19,14 +19,12 @@
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME =        flask
HUMAN_VERSION =            3.0.2
HUMAN_VERSION =            3.0.3
COMPONENT_SUMMARY =        flask - A simple framework for building complex web applications.
COMPONENT_ARCHIVE_URL =        \
    https://files.pythonhosted.org/packages/3f/e0/a89e8120faea1edbfca1a9b171cff7f2bf62ec860bbafcb2c2387c0317be/flask-3.0.2.tar.gz
COMPONENT_ARCHIVE_HASH =    \
    sha256:822c03f4b799204250a7ee84b1eddc40665395333973dfb9deebfe425fefcb7d
    sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842
COMPONENT_LICENSE =        BSD-3-Clause
COMPONENT_LICENSE_FILE =    LICENSE.rst
COMPONENT_LICENSE_FILE =    LICENSE.txt
include $(WS_MAKE_RULES)/common.mk
components/python/flask/flask-PYVER.p5m
@@ -24,7 +24,7 @@
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=usr/bin/flask-$(PYVER)
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/LICENSE.rst
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/LICENSE.txt
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/METADATA
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/WHEEL
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/entry_points.txt
components/python/flask/manifests/sample-manifest.p5m
@@ -24,7 +24,7 @@
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=usr/bin/flask-$(PYVER)
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/LICENSE.rst
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/LICENSE.txt
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/METADATA
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/WHEEL
file path=usr/lib/python$(PYVER)/vendor-packages/flask-$(HUMAN_VERSION).dist-info/entry_points.txt
components/python/flask/test/results-all.master
@@ -1,301 +1,321 @@
py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
py$(PYV): commands[0]> python -m pytest -v --tb=short --basetemp=$(@D)/.tox/tmp/py$(PYV) tests
py$(PYV): commands[0]> python -m pytest -v --tb=short --basetemp=$(@D)/.tox/tmp/py$(PYV)
============================= test session starts ==============================
platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
cachedir: .tox/py$(PYV)/.pytest_cache
rootdir: $(@D)
configfile: pyproject.toml
testpaths: tests
collecting ... collected 484 items
in 3.11)
tests/test_appctx.py::test_app_context_provides_current_app PASSED
tests/test_appctx.py::test_app_ctx_globals_methods PASSED
tests/test_appctx.py::test_app_tearing_down PASSED
tests/test_appctx.py::test_app_tearing_down_with_handled_exception_by_app_handler PASSED
tests/test_appctx.py::test_app_tearing_down_with_handled_exception_by_except_block PASSED
tests/test_appctx.py::test_app_tearing_down_with_previous_exception PASSED
tests/test_appctx.py::test_app_tearing_down_with_unhandled_exception PASSED
tests/test_appctx.py::test_basic_url_generation PASSED
tests/test_appctx.py::test_clean_pop PASSED
tests/test_appctx.py::test_context_refcounts PASSED
tests/test_appctx.py::test_custom_app_ctx_globals_class PASSED
tests/test_appctx.py::test_request_context_means_app_context PASSED
tests/test_appctx.py::test_url_generation_requires_server_name PASSED
tests/test_appctx.py::test_url_generation_without_context_fails PASSED
tests/test_async.py::test_async_before_after_request PASSED
tests/test_async.py::test_async_error_handler[/bp/error] PASSED
tests/test_async.py::test_async_error_handler[/error] PASSED
tests/test_appctx.py::test_request_context_means_app_context PASSED
tests/test_appctx.py::test_app_context_provides_current_app PASSED
tests/test_appctx.py::test_app_tearing_down PASSED
tests/test_appctx.py::test_app_tearing_down_with_previous_exception PASSED
tests/test_appctx.py::test_app_tearing_down_with_handled_exception_by_except_block PASSED
tests/test_appctx.py::test_app_tearing_down_with_handled_exception_by_app_handler PASSED
tests/test_appctx.py::test_app_tearing_down_with_unhandled_exception PASSED
tests/test_appctx.py::test_app_ctx_globals_methods PASSED
tests/test_appctx.py::test_custom_app_ctx_globals_class PASSED
tests/test_appctx.py::test_context_refcounts PASSED
tests/test_appctx.py::test_clean_pop PASSED
tests/test_async.py::test_async_route[/] PASSED
tests/test_async.py::test_async_route[/bp/] PASSED
tests/test_async.py::test_async_route[/home] PASSED
tests/test_async.py::test_async_route[/methodview] PASSED
tests/test_async.py::test_async_route[/bp/] PASSED
tests/test_async.py::test_async_route[/view] PASSED
tests/test_basic.py::test_after_request_processing PASSED
tests/test_basic.py::test_app_freed_on_zero_refcount PASSED
tests/test_basic.py::test_baseexception_error_handling PASSED
tests/test_basic.py::test_before_after_request_order PASSED
tests/test_basic.py::test_before_request_and_routing_errors PASSED
tests/test_basic.py::test_build_error_handler PASSED
tests/test_basic.py::test_build_error_handler_reraise PASSED
tests/test_basic.py::test_disallow_string_for_allowed_methods PASSED
tests/test_basic.py::test_enctype_debug_helper PASSED
tests/test_basic.py::test_endpoint_decorator PASSED
tests/test_basic.py::test_error_handler_after_processor_error PASSED
tests/test_basic.py::test_error_handling PASSED
tests/test_basic.py::test_error_handling_processing PASSED
tests/test_basic.py::test_errorhandler_precedence PASSED
tests/test_basic.py::test_exception_propagation[DEBUG] PASSED
tests/test_basic.py::test_exception_propagation[None] PASSED
tests/test_basic.py::test_exception_propagation[PROPAGATE_EXCEPTIONS] PASSED
tests/test_basic.py::test_exception_propagation[TESTING] PASSED
tests/test_basic.py::test_extended_flashing PASSED
tests/test_basic.py::test_flashes PASSED
tests/test_basic.py::test_g_iteration_protocol PASSED
tests/test_basic.py::test_get_method_on_g PASSED
tests/test_basic.py::test_http_error_subclass_handling PASSED
tests/test_basic.py::test_inject_blueprint_url_defaults PASSED
tests/test_basic.py::test_json_dump_dataclass PASSED
tests/test_basic.py::test_jsonify_args_and_kwargs_check PASSED
tests/test_basic.py::test_jsonify_mimetype PASSED
tests/test_basic.py::test_jsonify_no_prettyprint[False] PASSED
tests/test_basic.py::test_jsonify_no_prettyprint[True] PASSED
tests/test_basic.py::test_make_response PASSED
tests/test_basic.py::test_make_response_with_response_instance PASSED
tests/test_basic.py::test_max_content_length PASSED
tests/test_basic.py::test_max_cookie_size PASSED
tests/test_basic.py::test_method_route[delete] PASSED
tests/test_async.py::test_async_route[/methodview] PASSED
tests/test_async.py::test_async_error_handler[/error] PASSED
tests/test_async.py::test_async_error_handler[/bp/error] PASSED
tests/test_async.py::test_async_before_after_request PASSED
tests/test_basic.py::test_options_work PASSED
tests/test_basic.py::test_options_on_multiple_rules PASSED
tests/test_basic.py::test_method_route[get] PASSED
tests/test_basic.py::test_method_route[patch] PASSED
tests/test_basic.py::test_method_route[post] PASSED
tests/test_basic.py::test_method_route[put] PASSED
tests/test_basic.py::test_method_route[delete] PASSED
tests/test_basic.py::test_method_route[patch] PASSED
tests/test_basic.py::test_method_route_no_methods PASSED
tests/test_basic.py::test_missing_session PASSED
tests/test_basic.py::test_multi_route_class_views PASSED
tests/test_basic.py::test_multi_route_rules PASSED
tests/test_basic.py::test_no_setup_after_first_request PASSED
tests/test_basic.py::test_nonascii_pathinfo PASSED
tests/test_basic.py::test_options_on_multiple_rules PASSED
tests/test_basic.py::test_options_work PASSED
tests/test_basic.py::test_provide_automatic_options_attr PASSED
tests/test_basic.py::test_provide_automatic_options_kwarg PASSED
tests/test_basic.py::test_request_dispatching PASSED
tests/test_basic.py::test_request_locals PASSED
tests/test_basic.py::test_request_preprocessing_early_return PASSED
tests/test_basic.py::test_request_processing PASSED
tests/test_basic.py::test_response_type_errors PASSED
tests/test_basic.py::test_response_types PASSED
tests/test_basic.py::test_route_decorator_custom_endpoint PASSED
tests/test_basic.py::test_routing_redirect_debugging PASSED
tests/test_basic.py::test_run_defaults PASSED
tests/test_basic.py::test_run_from_config[None-80-pocoo.org:8080-pocoo.org-80] PASSED
tests/test_basic.py::test_run_from_config[None-None-localhost:0-localhost-0] PASSED
tests/test_basic.py::test_run_from_config[None-None-localhost:8080-localhost-8080] PASSED
tests/test_basic.py::test_run_from_config[None-None-pocoo.org:8080-pocoo.org-8080] PASSED
tests/test_basic.py::test_run_from_config[localhost-0-localhost:8080-localhost-0] PASSED
tests/test_basic.py::test_run_from_config[localhost-80-pocoo.org:8080-localhost-80] PASSED
tests/test_basic.py::test_run_from_config[localhost-None-pocoo.org:8080-localhost-8080] PASSED
tests/test_basic.py::test_run_server_port PASSED
tests/test_basic.py::test_server_name_subdomain PASSED
tests/test_basic.py::test_disallow_string_for_allowed_methods PASSED
tests/test_basic.py::test_url_mapping PASSED
tests/test_basic.py::test_werkzeug_routing PASSED
tests/test_basic.py::test_endpoint_decorator PASSED
tests/test_basic.py::test_session PASSED
tests/test_basic.py::test_session_cookie_setting PASSED
tests/test_basic.py::test_session_expiration PASSED
tests/test_basic.py::test_session_path PASSED
tests/test_basic.py::test_session_refresh_vary PASSED
tests/test_basic.py::test_session_special_types PASSED
tests/test_basic.py::test_session_stored_last PASSED
tests/test_basic.py::test_session_using_application_root PASSED
tests/test_basic.py::test_session_using_samesite_attribute PASSED
tests/test_basic.py::test_session_using_session_settings PASSED
tests/test_basic.py::test_session_using_samesite_attribute PASSED
tests/test_basic.py::test_missing_session PASSED
tests/test_basic.py::test_session_expiration PASSED
tests/test_basic.py::test_session_stored_last PASSED
tests/test_basic.py::test_session_special_types PASSED
tests/test_basic.py::test_session_cookie_setting PASSED
tests/test_basic.py::test_session_vary_cookie PASSED
tests/test_basic.py::test_static_files PASSED
tests/test_basic.py::test_static_folder_with_ending_slash PASSED
tests/test_basic.py::test_static_folder_with_pathlib_path PASSED
tests/test_basic.py::test_static_route_with_host_matching PASSED
tests/test_basic.py::test_static_url_empty_path PASSED
tests/test_basic.py::test_static_url_empty_path_default PASSED
tests/test_basic.py::test_static_url_path PASSED
tests/test_basic.py::test_static_url_path_with_ending_slash PASSED
tests/test_basic.py::test_subdomain_basic_support PASSED
tests/test_basic.py::test_subdomain_matching PASSED
tests/test_basic.py::test_subdomain_matching_other_name[False] PASSED
tests/test_basic.py::test_subdomain_matching_other_name[True] PASSED
tests/test_basic.py::test_subdomain_matching_with_ports PASSED
tests/test_basic.py::test_session_refresh_vary PASSED
tests/test_basic.py::test_flashes PASSED
tests/test_basic.py::test_extended_flashing PASSED
tests/test_basic.py::test_request_processing PASSED
tests/test_basic.py::test_request_preprocessing_early_return PASSED
tests/test_basic.py::test_after_request_processing PASSED
tests/test_basic.py::test_teardown_request_handler PASSED
tests/test_basic.py::test_teardown_request_handler_debug_mode PASSED
tests/test_basic.py::test_teardown_request_handler_error PASSED
tests/test_basic.py::test_trap_bad_request_key_error[False-None-True-True] PASSED
tests/test_basic.py::test_trap_bad_request_key_error[False-True-False-False] PASSED
tests/test_basic.py::test_trap_bad_request_key_error[True-None-False-True] PASSED
tests/test_basic.py::test_trapping_of_all_http_exceptions PASSED
tests/test_basic.py::test_url_for_passes_special_values_to_build_error_handler PASSED
tests/test_basic.py::test_url_generation PASSED
tests/test_basic.py::test_url_mapping PASSED
tests/test_basic.py::test_url_processors PASSED
tests/test_basic.py::test_before_after_request_order PASSED
tests/test_basic.py::test_error_handling PASSED
tests/test_basic.py::test_error_handling_processing PASSED
tests/test_basic.py::test_baseexception_error_handling PASSED
tests/test_basic.py::test_before_request_and_routing_errors PASSED
tests/test_basic.py::test_user_error_handling PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-True-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-True-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-True-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-True-False] PASSED
tests/test_basic.py::test_http_error_subclass_handling PASSED
tests/test_basic.py::test_errorhandler_precedence PASSED
tests/test_basic.py::test_trap_bad_request_key_error[False-None-True-True] PASSED
tests/test_basic.py::test_trap_bad_request_key_error[True-None-False-True] PASSED
tests/test_basic.py::test_trap_bad_request_key_error[False-True-False-False] PASSED
tests/test_basic.py::test_trapping_of_all_http_exceptions PASSED
tests/test_basic.py::test_error_handler_after_processor_error PASSED
tests/test_basic.py::test_enctype_debug_helper PASSED
tests/test_basic.py::test_response_types PASSED
tests/test_basic.py::test_response_type_errors PASSED
tests/test_basic.py::test_make_response PASSED
tests/test_basic.py::test_make_response_with_response_instance PASSED
tests/test_basic.py::test_jsonify_no_prettyprint[True] PASSED
tests/test_basic.py::test_jsonify_no_prettyprint[False] PASSED
tests/test_basic.py::test_jsonify_mimetype PASSED
tests/test_basic.py::test_json_dump_dataclass PASSED
tests/test_basic.py::test_jsonify_args_and_kwargs_check PASSED
tests/test_basic.py::test_url_generation PASSED
tests/test_basic.py::test_build_error_handler PASSED
tests/test_basic.py::test_build_error_handler_reraise PASSED
tests/test_basic.py::test_url_for_passes_special_values_to_build_error_handler PASSED
tests/test_basic.py::test_static_files PASSED
tests/test_basic.py::test_static_url_path PASSED
tests/test_basic.py::test_static_url_path_with_ending_slash PASSED
tests/test_basic.py::test_static_url_empty_path PASSED
tests/test_basic.py::test_static_url_empty_path_default PASSED
tests/test_basic.py::test_static_folder_with_pathlib_path PASSED
tests/test_basic.py::test_static_folder_with_ending_slash PASSED
tests/test_basic.py::test_static_route_with_host_matching PASSED
tests/test_basic.py::test_request_locals PASSED
tests/test_basic.py::test_server_name_subdomain PASSED
tests/test_basic.py::test_exception_propagation[TESTING] PASSED
tests/test_basic.py::test_exception_propagation[PROPAGATE_EXCEPTIONS] PASSED
tests/test_basic.py::test_exception_propagation[DEBUG] PASSED
tests/test_basic.py::test_exception_propagation[None] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-True-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-True-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-True-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-True-True] PASSED
tests/test_basic.py::test_werkzeug_routing PASSED
tests/test_blueprints.py::test_add_template_filter PASSED
tests/test_blueprints.py::test_add_template_filter_with_name PASSED
tests/test_blueprints.py::test_add_template_filter_with_name_and_template PASSED
tests/test_blueprints.py::test_add_template_filter_with_template PASSED
tests/test_blueprints.py::test_add_template_test PASSED
tests/test_blueprints.py::test_add_template_test_with_name PASSED
tests/test_blueprints.py::test_add_template_test_with_name_and_template PASSED
tests/test_blueprints.py::test_add_template_test_with_template PASSED
tests/test_blueprints.py::test_app_request_processing PASSED
tests/test_blueprints.py::test_app_url_processors PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-True-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-True-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-False-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-True-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-True-False] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-False-True] PASSED
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-False-False] PASSED
tests/test_basic.py::test_max_content_length PASSED
tests/test_basic.py::test_url_processors PASSED
tests/test_basic.py::test_inject_blueprint_url_defaults PASSED
tests/test_basic.py::test_nonascii_pathinfo PASSED
tests/test_basic.py::test_no_setup_after_first_request PASSED
tests/test_basic.py::test_routing_redirect_debugging PASSED
tests/test_basic.py::test_route_decorator_custom_endpoint PASSED
tests/test_basic.py::test_get_method_on_g PASSED
tests/test_basic.py::test_g_iteration_protocol PASSED
tests/test_basic.py::test_subdomain_basic_support PASSED
tests/test_basic.py::test_subdomain_matching PASSED
tests/test_basic.py::test_subdomain_matching_with_ports PASSED
tests/test_basic.py::test_subdomain_matching_other_name[False] PASSED
tests/test_basic.py::test_subdomain_matching_other_name[True] PASSED
tests/test_basic.py::test_multi_route_rules PASSED
tests/test_basic.py::test_multi_route_class_views PASSED
tests/test_basic.py::test_run_defaults PASSED
tests/test_basic.py::test_run_server_port PASSED
tests/test_basic.py::test_run_from_config[None-None-pocoo.org:8080-pocoo.org-8080] PASSED
tests/test_basic.py::test_run_from_config[localhost-None-pocoo.org:8080-localhost-8080] PASSED
tests/test_basic.py::test_run_from_config[None-80-pocoo.org:8080-pocoo.org-80] PASSED
tests/test_basic.py::test_run_from_config[localhost-80-pocoo.org:8080-localhost-80] PASSED
tests/test_basic.py::test_run_from_config[localhost-0-localhost:8080-localhost-0] PASSED
tests/test_basic.py::test_run_from_config[None-None-localhost:8080-localhost-8080] PASSED
tests/test_basic.py::test_run_from_config[None-None-localhost:0-localhost-0] PASSED
tests/test_basic.py::test_max_cookie_size PASSED
tests/test_basic.py::test_app_freed_on_zero_refcount PASSED
tests/test_blueprints.py::test_blueprint_specific_error_handling PASSED
tests/test_blueprints.py::test_blueprint_specific_user_error_handling PASSED
tests/test_blueprints.py::test_blueprint_app_error_handling PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[-/-/] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[-/bar-/bar] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/--/] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/-/-/] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo--/foo] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo-/bar-/foo/bar] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/--/foo/] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-//bar-/foo/bar] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[-/bar-/bar] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-/bar-/foo/bar] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-bar-/foo/bar] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo-/bar-/foo/bar] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-//bar-/foo/bar] PASSED
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo//-/bar-/foo/bar] PASSED
tests/test_blueprints.py::test_blueprint_renaming PASSED
tests/test_blueprints.py::test_blueprint_specific_error_handling PASSED
tests/test_blueprints.py::test_blueprint_specific_user_error_handling PASSED
tests/test_blueprints.py::test_blueprint_url_defaults PASSED
tests/test_blueprints.py::test_blueprint_url_processors PASSED
tests/test_blueprints.py::test_child_and_parent_subdomain PASSED
tests/test_blueprints.py::test_context_processing PASSED
tests/test_blueprints.py::test_templates_and_static PASSED
tests/test_blueprints.py::test_default_static_max_age PASSED
tests/test_blueprints.py::test_templates_list PASSED
tests/test_blueprints.py::test_dotted_name_not_allowed PASSED
tests/test_blueprints.py::test_dotted_names_from_app PASSED
tests/test_blueprints.py::test_empty_name_not_allowed PASSED
tests/test_blueprints.py::test_dotted_names_from_app PASSED
tests/test_blueprints.py::test_empty_url_defaults PASSED
tests/test_blueprints.py::test_route_decorator_custom_endpoint PASSED
tests/test_blueprints.py::test_route_decorator_custom_endpoint_with_dots PASSED
tests/test_blueprints.py::test_endpoint_decorator PASSED
tests/test_blueprints.py::test_template_filter PASSED
tests/test_blueprints.py::test_add_template_filter PASSED
tests/test_blueprints.py::test_template_filter_with_name PASSED
tests/test_blueprints.py::test_add_template_filter_with_name PASSED
tests/test_blueprints.py::test_template_filter_with_template PASSED
tests/test_blueprints.py::test_template_filter_after_route_with_template PASSED
tests/test_blueprints.py::test_add_template_filter_with_template PASSED
tests/test_blueprints.py::test_template_filter_with_name_and_template PASSED
tests/test_blueprints.py::test_add_template_filter_with_name_and_template PASSED
tests/test_blueprints.py::test_template_test PASSED
tests/test_blueprints.py::test_add_template_test PASSED
tests/test_blueprints.py::test_template_test_with_name PASSED
tests/test_blueprints.py::test_add_template_test_with_name PASSED
tests/test_blueprints.py::test_template_test_with_template PASSED
tests/test_blueprints.py::test_template_test_after_route_with_template PASSED
tests/test_blueprints.py::test_add_template_test_with_template PASSED
tests/test_blueprints.py::test_template_test_with_name_and_template PASSED
tests/test_blueprints.py::test_add_template_test_with_name_and_template PASSED
tests/test_blueprints.py::test_context_processing PASSED
tests/test_blueprints.py::test_template_global PASSED
tests/test_blueprints.py::test_request_processing PASSED
tests/test_blueprints.py::test_app_request_processing PASSED
tests/test_blueprints.py::test_app_url_processors PASSED
tests/test_blueprints.py::test_nested_blueprint PASSED
tests/test_blueprints.py::test_nested_callback_order PASSED
tests/test_blueprints.py::test_nesting_subdomains PASSED
tests/test_blueprints.py::test_nesting_url_prefixes[/other-/something-/parent-/child] PASSED
tests/test_blueprints.py::test_nesting_url_prefixes[/parent-/child-None-None] PASSED
tests/test_blueprints.py::test_nesting_url_prefixes[/parent-None-None-/child] PASSED
tests/test_blueprints.py::test_nesting_url_prefixes[None-None-/parent-/child] PASSED
tests/test_blueprints.py::test_request_processing PASSED
tests/test_blueprints.py::test_route_decorator_custom_endpoint PASSED
tests/test_blueprints.py::test_route_decorator_custom_endpoint_with_dots PASSED
tests/test_blueprints.py::test_self_registration PASSED
tests/test_blueprints.py::test_template_filter PASSED
tests/test_blueprints.py::test_template_filter_after_route_with_template PASSED
tests/test_blueprints.py::test_template_filter_with_name PASSED
tests/test_blueprints.py::test_template_filter_with_name_and_template PASSED
tests/test_blueprints.py::test_template_filter_with_template PASSED
tests/test_blueprints.py::test_template_global PASSED
tests/test_blueprints.py::test_template_test PASSED
tests/test_blueprints.py::test_template_test_after_route_with_template PASSED
tests/test_blueprints.py::test_template_test_with_name PASSED
tests/test_blueprints.py::test_template_test_with_name_and_template PASSED
tests/test_blueprints.py::test_template_test_with_template PASSED
tests/test_blueprints.py::test_templates_and_static PASSED
tests/test_blueprints.py::test_templates_list PASSED
tests/test_blueprints.py::test_nesting_url_prefixes[/other-/something-/parent-/child] PASSED
tests/test_blueprints.py::test_nesting_subdomains PASSED
tests/test_blueprints.py::test_child_and_parent_subdomain PASSED
tests/test_blueprints.py::test_unique_blueprint_names PASSED
tests/test_cli.py::TestRoutes::test_all_methods PASSED
tests/test_cli.py::TestRoutes::test_host PASSED
tests/test_cli.py::TestRoutes::test_no_routes PASSED
tests/test_cli.py::TestRoutes::test_simple PASSED
tests/test_cli.py::TestRoutes::test_sort PASSED
tests/test_cli.py::TestRoutes::test_subdomain PASSED
tests/test_cli.py::test_app_cli_has_app_context PASSED
tests/test_cli.py::test_appgroup_app_context PASSED
tests/test_cli.py::test_cli_blueprints PASSED
tests/test_cli.py::test_cli_empty PASSED
tests/test_blueprints.py::test_self_registration PASSED
tests/test_blueprints.py::test_blueprint_renaming PASSED
tests/test_cli.py::test_cli_name PASSED
tests/test_cli.py::test_disable_dotenv_from_env PASSED
tests/test_cli.py::test_dotenv_optional PASSED
tests/test_cli.py::test_dotenv_path PASSED
tests/test_cli.py::test_find_best_app PASSED
tests/test_cli.py::test_flaskgroup_app_context PASSED
tests/test_cli.py::test_flaskgroup_debug[False] PASSED
tests/test_cli.py::test_flaskgroup_debug[True] PASSED
tests/test_cli.py::test_flaskgroup_nested PASSED
tests/test_cli.py::test_get_version PASSED
tests/test_cli.py::test_help_echo_exception PASSED
tests/test_cli.py::test_help_echo_loading_error PASSED
tests/test_cli.py::test_load_dotenv PASSED
tests/test_cli.py::test_prepare_import[test-path0-test] PASSED
tests/test_cli.py::test_prepare_import[test.py-path1-test] PASSED
tests/test_cli.py::test_prepare_import[a/test-path2-test] PASSED
tests/test_cli.py::test_prepare_import[test/__init__.py-path3-test] PASSED
tests/test_cli.py::test_prepare_import[test/__init__-path4-test] PASSED
tests/test_cli.py::test_prepare_import[value5-path5-cliapp.inner1] PASSED
tests/test_cli.py::test_prepare_import[value6-path6-cliapp.inner1.inner2] PASSED
tests/test_cli.py::test_prepare_import[test.a.b-path7-test.a.b] PASSED
tests/test_cli.py::test_prepare_import[value8-path8-cliapp.app] PASSED
tests/test_cli.py::test_prepare_import[value9-path9-cliapp.message.txt] PASSED
tests/test_cli.py::test_locate_app[cliapp.app-None-testapp] PASSED
tests/test_cli.py::test_locate_app[cliapp.app-testapp-testapp] PASSED
tests/test_cli.py::test_locate_app[cliapp.factory- create_app () -app] PASSED
tests/test_cli.py::test_locate_app[cliapp.factory-None-app] PASSED
tests/test_cli.py::test_locate_app[cliapp.factory-create_app()-app] PASSED
tests/test_cli.py::test_locate_app[cliapp.factory-create_app-app] PASSED
tests/test_cli.py::test_locate_app[cliapp.factory-create_app()-app] PASSED
tests/test_cli.py::test_locate_app[cliapp.factory-create_app2("foo", "bar")-app2_foo_bar] PASSED
tests/test_cli.py::test_locate_app[cliapp.factory-create_app2("foo", "bar", )-app2_foo_bar] PASSED
tests/test_cli.py::test_locate_app[cliapp.factory- create_app () -app] PASSED
tests/test_cli.py::test_locate_app_raises[notanapp.py-None] PASSED
tests/test_cli.py::test_locate_app_raises[cliapp/app-None] PASSED
tests/test_cli.py::test_locate_app_raises[cliapp.app-notanapp] PASSED
tests/test_cli.py::test_locate_app_raises[cliapp.factory-create_app(] PASSED
tests/test_cli.py::test_locate_app_raises[cliapp.factory-create_app2("foo")] PASSED
tests/test_cli.py::test_locate_app_raises[cliapp.factory-create_app(] PASSED
tests/test_cli.py::test_locate_app_raises[cliapp.factory-no_app] PASSED
tests/test_cli.py::test_locate_app_raises[cliapp.importerrorapp-None] PASSED
tests/test_cli.py::test_locate_app_raises[cliapp.message.txt-None] PASSED
tests/test_cli.py::test_locate_app_raises[cliapp/app-None] PASSED
tests/test_cli.py::test_locate_app_raises[notanapp.py-None] PASSED
tests/test_cli.py::test_locate_app_suppress_raise PASSED
tests/test_cli.py::test_get_version PASSED
tests/test_cli.py::test_scriptinfo PASSED
tests/test_cli.py::test_app_cli_has_app_context PASSED
tests/test_cli.py::test_with_appcontext PASSED
tests/test_cli.py::test_appgroup_app_context PASSED
tests/test_cli.py::test_flaskgroup_app_context PASSED
tests/test_cli.py::test_flaskgroup_debug[True] PASSED
tests/test_cli.py::test_flaskgroup_debug[False] PASSED
tests/test_cli.py::test_flaskgroup_nested PASSED
tests/test_cli.py::test_no_command_echo_loading_error PASSED
tests/test_cli.py::test_prepare_import[a/test-path2-test] PASSED
tests/test_cli.py::test_prepare_import[test-path0-test] PASSED
tests/test_cli.py::test_prepare_import[test.a.b-path7-test.a.b] PASSED
tests/test_cli.py::test_prepare_import[test.py-path1-test] PASSED
tests/test_cli.py::test_prepare_import[test/__init__-path4-test] PASSED
tests/test_cli.py::test_prepare_import[test/__init__.py-path3-test] PASSED
tests/test_cli.py::test_prepare_import[value5-path5-cliapp.inner1] PASSED
tests/test_cli.py::test_prepare_import[value6-path6-cliapp.inner1.inner2] PASSED
tests/test_cli.py::test_prepare_import[value8-path8-cliapp.app] PASSED
tests/test_cli.py::test_prepare_import[value9-path9-cliapp.message.txt] PASSED
tests/test_cli.py::test_help_echo_loading_error PASSED
tests/test_cli.py::test_help_echo_exception PASSED
tests/test_cli.py::TestRoutes::test_simple PASSED
tests/test_cli.py::TestRoutes::test_sort PASSED
tests/test_cli.py::TestRoutes::test_all_methods PASSED
tests/test_cli.py::TestRoutes::test_no_routes PASSED
tests/test_cli.py::TestRoutes::test_subdomain PASSED
tests/test_cli.py::TestRoutes::test_host PASSED
tests/test_cli.py::test_load_dotenv PASSED
tests/test_cli.py::test_dotenv_path PASSED
tests/test_cli.py::test_dotenv_optional PASSED
tests/test_cli.py::test_disable_dotenv_from_env PASSED
tests/test_cli.py::test_run_cert_path PASSED
tests/test_cli.py::test_run_cert_adhoc PASSED
tests/test_cli.py::test_run_cert_import PASSED
tests/test_cli.py::test_run_cert_no_ssl PASSED
tests/test_cli.py::test_run_cert_path PASSED
tests/test_cli.py::test_cli_blueprints PASSED
tests/test_cli.py::test_cli_empty PASSED
tests/test_cli.py::test_run_exclude_patterns PASSED
tests/test_cli.py::test_scriptinfo PASSED
tests/test_cli.py::test_with_appcontext PASSED
tests/test_config.py::test_config_from_class PASSED
tests/test_config.py::test_config_from_envvar PASSED
tests/test_config.py::test_config_from_envvar_missing PASSED
tests/test_config.py::test_config_from_pyfile PASSED
tests/test_config.py::test_config_from_object PASSED
tests/test_config.py::test_config_from_file_json PASSED
tests/test_config.py::test_config_from_file_toml SKIPPED (tomllib added
tests/test_config.py::test_config_from_mapping PASSED
tests/test_config.py::test_config_from_object PASSED
tests/test_config.py::test_config_from_pyfile PASSED
tests/test_config.py::test_config_missing PASSED
tests/test_config.py::test_config_missing_file PASSED
tests/test_config.py::test_custom_config_class PASSED
in 3.11)
tests/test_config.py::test_from_prefixed_env PASSED
tests/test_config.py::test_from_prefixed_env_custom_prefix PASSED
tests/test_config.py::test_from_prefixed_env_nested PASSED
tests/test_config.py::test_config_from_mapping PASSED
tests/test_config.py::test_config_from_class PASSED
tests/test_config.py::test_config_from_envvar PASSED
tests/test_config.py::test_config_from_envvar_missing PASSED
tests/test_config.py::test_config_missing PASSED
tests/test_config.py::test_config_missing_file PASSED
tests/test_config.py::test_custom_config_class PASSED
tests/test_config.py::test_session_lifetime PASSED
tests/test_config.py::test_get_namespace PASSED
tests/test_config.py::test_from_pyfile_weird_encoding[utf-8] PASSED
tests/test_config.py::test_from_pyfile_weird_encoding[iso-8859-15] PASSED
tests/test_config.py::test_from_pyfile_weird_encoding[latin-1] PASSED
tests/test_config.py::test_from_pyfile_weird_encoding[utf-8] PASSED
tests/test_config.py::test_get_namespace PASSED
tests/test_config.py::test_session_lifetime PASSED
tests/test_converters.py::test_context_available PASSED
tests/test_converters.py::test_custom_converters PASSED
tests/test_converters.py::test_context_available PASSED
tests/test_helpers.py::TestSendfile::test_send_file PASSED
tests/test_helpers.py::TestSendfile::test_static_file PASSED
tests/test_helpers.py::TestSendfile::test_send_from_directory PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_anchor PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_scheme PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_scheme_not_external PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_alternating_schemes PASSED
tests/test_helpers.py::TestUrlFor::test_url_with_method PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_self PASSED
tests/test_helpers.py::test_redirect_no_app PASSED
tests/test_helpers.py::test_redirect_with_app PASSED
tests/test_helpers.py::test_abort_no_app PASSED
tests/test_helpers.py::test_app_aborter_class PASSED
tests/test_helpers.py::test_abort_with_app PASSED
tests/test_helpers.py::TestNoImports::test_name_with_import_error PASSED
tests/test_helpers.py::TestStreaming::test_streaming_with_context PASSED
tests/test_helpers.py::TestStreaming::test_streaming_with_context_as_decorator PASSED
tests/test_helpers.py::TestStreaming::test_streaming_with_context_and_custom_close PASSED
tests/test_helpers.py::TestStreaming::test_stream_keeps_session PASSED
tests/test_helpers.py::TestHelpers::test_get_debug_flag[-False] PASSED
tests/test_helpers.py::TestHelpers::test_get_debug_flag[0-False] PASSED
tests/test_helpers.py::TestHelpers::test_get_debug_flag[False-False] PASSED
@@ -305,193 +325,174 @@
tests/test_helpers.py::TestHelpers::test_open_resource[r] PASSED
tests/test_helpers.py::TestHelpers::test_open_resource[rb] PASSED
tests/test_helpers.py::TestHelpers::test_open_resource[rt] PASSED
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[a] PASSED
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[r+] PASSED
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[w] PASSED
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[x] PASSED
tests/test_helpers.py::TestNoImports::test_name_with_import_error PASSED
tests/test_helpers.py::TestSendfile::test_send_file PASSED
tests/test_helpers.py::TestSendfile::test_send_from_directory PASSED
tests/test_helpers.py::TestSendfile::test_static_file PASSED
tests/test_helpers.py::TestStreaming::test_stream_keeps_session PASSED
tests/test_helpers.py::TestStreaming::test_streaming_with_context PASSED
tests/test_helpers.py::TestStreaming::test_streaming_with_context_and_custom_close PASSED
tests/test_helpers.py::TestStreaming::test_streaming_with_context_as_decorator PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_alternating_schemes PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_anchor PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_scheme PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_scheme_not_external PASSED
tests/test_helpers.py::TestUrlFor::test_url_for_with_self PASSED
tests/test_helpers.py::TestUrlFor::test_url_with_method PASSED
tests/test_helpers.py::test_abort_no_app PASSED
tests/test_helpers.py::test_abort_with_app PASSED
tests/test_helpers.py::test_app_aborter_class PASSED
tests/test_helpers.py::test_redirect_no_app PASSED
tests/test_helpers.py::test_redirect_with_app PASSED
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[a] PASSED
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[r+] PASSED
tests/test_instance_config.py::test_explicit_instance_paths PASSED
tests/test_instance_config.py::test_installed_module_paths[False] PASSED
tests/test_instance_config.py::test_installed_module_paths[True] PASSED
tests/test_instance_config.py::test_installed_package_paths[False] PASSED
tests/test_instance_config.py::test_installed_package_paths[True] PASSED
tests/test_instance_config.py::test_prefix_package_paths[False] PASSED
tests/test_instance_config.py::test_prefix_package_paths[True] PASSED
tests/test_instance_config.py::test_uninstalled_module_paths PASSED
tests/test_instance_config.py::test_uninstalled_namespace_paths PASSED
tests/test_instance_config.py::test_uninstalled_package_paths PASSED
tests/test_json.py::test_bad_request_debug_message[False] PASSED
tests/test_instance_config.py::test_uninstalled_namespace_paths PASSED
tests/test_instance_config.py::test_installed_module_paths[True] PASSED
tests/test_instance_config.py::test_installed_module_paths[False] PASSED
tests/test_instance_config.py::test_installed_package_paths[True] PASSED
tests/test_instance_config.py::test_installed_package_paths[False] PASSED
tests/test_instance_config.py::test_prefix_package_paths[True] PASSED
tests/test_instance_config.py::test_prefix_package_paths[False] PASSED
tests/test_json.py::test_bad_request_debug_message[True] PASSED
tests/test_json.py::test_html_method PASSED
tests/test_json.py::test_json_as_unicode[False-"\u2603"] PASSED
tests/test_json.py::test_json_as_unicode[True-"\\u2603"] PASSED
tests/test_json.py::test_json_attr PASSED
tests/test_json.py::test_bad_request_debug_message[False] PASSED
tests/test_json.py::test_json_bad_requests PASSED
tests/test_json.py::test_json_custom_mimetypes PASSED
tests/test_json.py::test_json_customization PASSED
tests/test_json.py::test_json_decimal PASSED
tests/test_json.py::test_json_as_unicode[True-"\\u2603"] PASSED
tests/test_json.py::test_json_as_unicode[False-"\u2603"] PASSED
tests/test_json.py::test_json_dump_to_file PASSED
tests/test_json.py::test_json_key_sorting PASSED
tests/test_json.py::test_jsonify_arrays PASSED
tests/test_json.py::test_jsonify_aware_datetimes[tz0] PASSED
tests/test_json.py::test_jsonify_aware_datetimes[tz1] PASSED
tests/test_json.py::test_jsonify_aware_datetimes[tz2] PASSED
tests/test_json.py::test_jsonify_basic_types[-1] PASSED
tests/test_json.py::test_jsonify_basic_types[0] PASSED
tests/test_json.py::test_jsonify_basic_types[-1] PASSED
tests/test_json.py::test_jsonify_basic_types[1] PASSED
tests/test_json.py::test_jsonify_basic_types[23] PASSED
tests/test_json.py::test_jsonify_basic_types[3.14] PASSED
tests/test_json.py::test_jsonify_basic_types[s] PASSED
tests/test_json.py::test_jsonify_basic_types[longer string] PASSED
tests/test_json.py::test_jsonify_basic_types[True] PASSED
tests/test_json.py::test_jsonify_basic_types[False] PASSED
tests/test_json.py::test_jsonify_basic_types[None] PASSED
tests/test_json.py::test_jsonify_basic_types[True] PASSED
tests/test_json.py::test_jsonify_basic_types[longer string] PASSED
tests/test_json.py::test_jsonify_basic_types[s] PASSED
tests/test_json.py::test_jsonify_dicts PASSED
tests/test_json.py::test_jsonify_arrays PASSED
tests/test_json.py::test_jsonify_datetime[value0] PASSED
tests/test_json.py::test_jsonify_datetime[value1] PASSED
tests/test_json.py::test_jsonify_dicts PASSED
tests/test_json.py::test_jsonify_aware_datetimes[tz0] PASSED
tests/test_json.py::test_jsonify_aware_datetimes[tz1] PASSED
tests/test_json.py::test_jsonify_aware_datetimes[tz2] PASSED
tests/test_json.py::test_jsonify_uuid_types PASSED
tests/test_json.py::test_json_decimal PASSED
tests/test_json.py::test_json_attr PASSED
tests/test_json.py::test_tojson_filter PASSED
tests/test_json_tag.py::test_custom_tag PASSED
tests/test_json_tag.py::test_dump_load_unchanged[<html>] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[\xff] PASSED
tests/test_json.py::test_json_customization PASSED
tests/test_json.py::test_json_key_sorting PASSED
tests/test_json.py::test_html_method PASSED
tests/test_json_tag.py::test_dump_load_unchanged[data0] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[data1] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[data2] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[data3] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[data4] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[data5] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[\xff] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[<html>] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[data8] PASSED
tests/test_json_tag.py::test_dump_load_unchanged[data9] PASSED
tests/test_json_tag.py::test_duplicate_tag PASSED
tests/test_json_tag.py::test_custom_tag PASSED
tests/test_json_tag.py::test_tag_interface PASSED
tests/test_json_tag.py::test_tag_order PASSED
tests/test_logging.py::test_existing_handler PASSED
tests/test_logging.py::test_has_level_handler PASSED
tests/test_logging.py::test_log_view_exception PASSED
tests/test_logging.py::test_logger PASSED
tests/test_logging.py::test_logger_debug PASSED
tests/test_logging.py::test_existing_handler PASSED
tests/test_logging.py::test_wsgi_errors_stream PASSED
tests/test_logging.py::test_has_level_handler PASSED
tests/test_logging.py::test_log_view_exception PASSED
tests/test_regression.py::test_aborting PASSED
tests/test_reqctx.py::TestGreenletContextCopying::test_greenlet_context_copying PASSED
tests/test_reqctx.py::TestGreenletContextCopying::test_greenlet_context_copying_api PASSED
tests/test_reqctx.py::test_bad_environ_raises_bad_request PASSED
tests/test_reqctx.py::test_teardown_on_pop PASSED
tests/test_reqctx.py::test_teardown_with_previous_exception PASSED
tests/test_reqctx.py::test_teardown_with_handled_exception PASSED
tests/test_reqctx.py::test_proper_test_request_context PASSED
tests/test_reqctx.py::test_context_binding PASSED
tests/test_reqctx.py::test_context_test PASSED
tests/test_reqctx.py::test_environ_for_valid_idna_completes PASSED
tests/test_reqctx.py::test_manual_context_binding PASSED
tests/test_reqctx.py::test_normal_environ_completes PASSED
tests/test_reqctx.py::test_proper_test_request_context PASSED
tests/test_reqctx.py::test_session_dynamic_cookie_name PASSED
tests/test_reqctx.py::TestGreenletContextCopying::test_greenlet_context_copying PASSED
tests/test_reqctx.py::TestGreenletContextCopying::test_greenlet_context_copying_api PASSED
tests/test_reqctx.py::test_session_error_pops_context PASSED
tests/test_reqctx.py::test_teardown_on_pop PASSED
tests/test_reqctx.py::test_teardown_with_handled_exception PASSED
tests/test_reqctx.py::test_teardown_with_previous_exception PASSED
tests/test_reqctx.py::test_session_dynamic_cookie_name PASSED
tests/test_reqctx.py::test_bad_environ_raises_bad_request PASSED
tests/test_reqctx.py::test_environ_for_valid_idna_completes PASSED
tests/test_reqctx.py::test_normal_environ_completes PASSED
tests/test_session_interface.py::test_open_session_with_endpoint PASSED
tests/test_signals.py::test_appcontext_signals PASSED
tests/test_signals.py::test_appcontext_tearing_down_signal PASSED
tests/test_signals.py::test_before_render_template PASSED
tests/test_signals.py::test_flash_signal PASSED
tests/test_signals.py::test_request_exception_signal PASSED
tests/test_signals.py::test_request_signals PASSED
tests/test_signals.py::test_template_rendered PASSED
tests/test_signals.py::test_before_render_template PASSED
tests/test_signals.py::test_request_signals PASSED
tests/test_signals.py::test_request_exception_signal PASSED
tests/test_signals.py::test_appcontext_signals PASSED
tests/test_signals.py::test_flash_signal PASSED
tests/test_signals.py::test_appcontext_tearing_down_signal PASSED
tests/test_subclassing.py::test_suppressed_exception_logging PASSED
tests/test_templating.py::test_add_template_filter PASSED
tests/test_templating.py::test_add_template_filter_with_name PASSED
tests/test_templating.py::test_add_template_filter_with_name_and_template PASSED
tests/test_templating.py::test_add_template_filter_with_template PASSED
tests/test_templating.py::test_add_template_global PASSED
tests/test_templating.py::test_add_template_test PASSED
tests/test_templating.py::test_add_template_test_with_name PASSED
tests/test_templating.py::test_add_template_test_with_name_and_template PASSED
tests/test_templating.py::test_add_template_test_with_template PASSED
tests/test_templating.py::test_context_processing PASSED
tests/test_templating.py::test_custom_jinja_env PASSED
tests/test_templating.py::test_custom_template_loader PASSED
tests/test_templating.py::test_escaping PASSED
tests/test_templating.py::test_escaping_without_template_filename PASSED
tests/test_templating.py::test_iterable_loader PASSED
tests/test_templating.py::test_macros PASSED
tests/test_templating.py::test_no_escaping PASSED
tests/test_templating.py::test_original_win PASSED
tests/test_templating.py::test_request_less_rendering PASSED
tests/test_templating.py::test_simple_stream PASSED
tests/test_templating.py::test_request_less_rendering PASSED
tests/test_templating.py::test_standard_context PASSED
tests/test_templating.py::test_escaping PASSED
tests/test_templating.py::test_no_escaping PASSED
tests/test_templating.py::test_escaping_without_template_filename PASSED
tests/test_templating.py::test_macros PASSED
tests/test_templating.py::test_template_filter PASSED
tests/test_templating.py::test_add_template_filter PASSED
tests/test_templating.py::test_template_filter_with_name PASSED
tests/test_templating.py::test_template_filter_with_name_and_template PASSED
tests/test_templating.py::test_add_template_filter_with_name PASSED
tests/test_templating.py::test_template_filter_with_template PASSED
tests/test_templating.py::test_template_loader_debugging PASSED
tests/test_templating.py::test_add_template_filter_with_template PASSED
tests/test_templating.py::test_template_filter_with_name_and_template PASSED
tests/test_templating.py::test_add_template_filter_with_name_and_template PASSED
tests/test_templating.py::test_template_test PASSED
tests/test_templating.py::test_add_template_test PASSED
tests/test_templating.py::test_template_test_with_name PASSED
tests/test_templating.py::test_template_test_with_name_and_template PASSED
tests/test_templating.py::test_add_template_test_with_name PASSED
tests/test_templating.py::test_template_test_with_template PASSED
tests/test_templating.py::test_add_template_test_with_template PASSED
tests/test_templating.py::test_template_test_with_name_and_template PASSED
tests/test_templating.py::test_add_template_test_with_name_and_template PASSED
tests/test_templating.py::test_add_template_global PASSED
tests/test_templating.py::test_custom_template_loader PASSED
tests/test_templating.py::test_iterable_loader PASSED
tests/test_templating.py::test_templates_auto_reload PASSED
tests/test_templating.py::test_templates_auto_reload_debug_run PASSED
tests/test_testing.py::test_blueprint_with_subdomain PASSED
tests/test_testing.py::test_cli_custom_obj PASSED
tests/test_testing.py::test_cli_invoke PASSED
tests/test_testing.py::test_cli_runner_class PASSED
tests/test_testing.py::test_client_json_no_app_context PASSED
tests/test_testing.py::test_client_open_environ PASSED
tests/test_testing.py::test_client_pop_all_preserved PASSED
tests/test_templating.py::test_template_loader_debugging PASSED
tests/test_templating.py::test_custom_jinja_env PASSED
tests/test_testing.py::test_environ_defaults_from_config PASSED
tests/test_testing.py::test_environ_defaults PASSED
tests/test_testing.py::test_environ_base_default PASSED
tests/test_testing.py::test_environ_base_modified PASSED
tests/test_testing.py::test_environ_defaults PASSED
tests/test_testing.py::test_environ_defaults_from_config PASSED
tests/test_testing.py::test_client_open_environ PASSED
tests/test_testing.py::test_specify_url_scheme PASSED
tests/test_testing.py::test_path_is_url PASSED
tests/test_testing.py::test_environbuilder_json_dumps PASSED
tests/test_testing.py::test_blueprint_with_subdomain PASSED
tests/test_testing.py::test_redirect_keep_session PASSED
tests/test_testing.py::test_session_transactions PASSED
tests/test_testing.py::test_session_transactions_no_null_sessions PASSED
tests/test_testing.py::test_session_transactions_keep_context PASSED
tests/test_testing.py::test_session_transaction_needs_cookies PASSED
tests/test_testing.py::test_test_client_context_binding PASSED
tests/test_testing.py::test_reuse_client PASSED
tests/test_testing.py::test_full_url_request PASSED
tests/test_testing.py::test_json_request_and_response PASSED
tests/test_testing.py::test_nosubdomain PASSED
tests/test_testing.py::test_path_is_url PASSED
tests/test_testing.py::test_redirect_keep_session PASSED
tests/test_testing.py::test_reuse_client PASSED
tests/test_testing.py::test_session_transaction_needs_cookies PASSED
tests/test_testing.py::test_session_transactions PASSED
tests/test_testing.py::test_session_transactions_keep_context PASSED
tests/test_testing.py::test_session_transactions_no_null_sessions PASSED
tests/test_testing.py::test_specify_url_scheme PASSED
tests/test_testing.py::test_client_json_no_app_context PASSED
tests/test_testing.py::test_subdomain PASSED
tests/test_testing.py::test_test_client_context_binding PASSED
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_class_or_code[500] PASSED
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_class_or_code[InternalServerError] PASSED
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_generic PASSED
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_generic_http PASSED
tests/test_user_error_handler.py::test_default_error_handler PASSED
tests/test_user_error_handler.py::test_error_handler_blueprint PASSED
tests/test_user_error_handler.py::test_error_handler_http_subclass PASSED
tests/test_testing.py::test_nosubdomain PASSED
tests/test_testing.py::test_cli_runner_class PASSED
tests/test_testing.py::test_cli_invoke PASSED
tests/test_testing.py::test_cli_custom_obj PASSED
tests/test_testing.py::test_client_pop_all_preserved PASSED
tests/test_user_error_handler.py::test_error_handler_no_match PASSED
tests/test_user_error_handler.py::test_error_handler_subclass PASSED
tests/test_user_error_handler.py::test_error_handler_http_subclass PASSED
tests/test_user_error_handler.py::test_error_handler_blueprint PASSED
tests/test_user_error_handler.py::test_default_error_handler PASSED
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_class_or_code[InternalServerError] PASSED
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_class_or_code[500] PASSED
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_generic_http PASSED
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_generic PASSED
tests/test_views.py::test_basic_view PASSED
tests/test_views.py::test_endpoint_override PASSED
tests/test_views.py::test_explicit_head PASSED
tests/test_views.py::test_implicit_head PASSED
tests/test_views.py::test_init_once PASSED
tests/test_views.py::test_method_based_view PASSED
tests/test_views.py::test_view_patching PASSED
tests/test_views.py::test_view_inheritance PASSED
tests/test_views.py::test_view_decorators PASSED
tests/test_views.py::test_view_provide_automatic_options_attr PASSED
tests/test_views.py::test_implicit_head PASSED
tests/test_views.py::test_explicit_head PASSED
tests/test_views.py::test_endpoint_override PASSED
tests/test_views.py::test_methods_var_inheritance PASSED
tests/test_views.py::test_multiple_inheritance PASSED
tests/test_views.py::test_remove_method_from_parent PASSED
tests/test_views.py::test_view_decorators PASSED
tests/test_views.py::test_view_inheritance PASSED
tests/test_views.py::test_view_patching PASSED
tests/test_views.py::test_view_provide_automatic_options_attr PASSED
tests/test_views.py::test_init_once PASSED
======== 483 passed, 1 skipped ========
  py$(PYV): OK