Issue 1:
Python 3.8.2

+ pytest-3 -v -k 'not test_send_from_directory_bad_request'
========================================================================================= test session starts ==========================================================================================
platform linux -- Python 3.8.2, pytest-4.6.9, py-1.8.0, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/.hypothesis/examples')
rootdir: /home/tkloczko/rpmbuild/BUILD/Flask-1.1.2, inifile: setup.cfg, testpaths: tests
plugins: forked-1.1.1, mock-1.10.4, expect-1.1.0, hypothesis-4.23.8, xdist-1.31.0, httpbin-0.3.0, cov-2.8.1, flaky-3.6.1
collected 542 items

tests/test_appctx.py::test_basic_url_generation PASSED [ 0%]
tests/test_appctx.py::test_url_generation_requires_server_name PASSED [ 0%]
tests/test_appctx.py::test_url_generation_without_context_fails PASSED [ 0%]
tests/test_appctx.py::test_request_context_means_app_context PASSED [ 0%]
tests/test_appctx.py::test_app_context_provides_current_app PASSED [ 0%]
tests/test_appctx.py::test_app_tearing_down PASSED [ 1%]
tests/test_appctx.py::test_app_tearing_down_with_previous_exception PASSED [ 1%]
tests/test_appctx.py::test_app_tearing_down_with_handled_exception_by_except_block PASSED [ 1%]
tests/test_appctx.py::test_app_tearing_down_with_handled_exception_by_app_handler PASSED [ 1%]
tests/test_appctx.py::test_app_tearing_down_with_unhandled_exception PASSED [ 1%]
tests/test_appctx.py::test_app_ctx_globals_methods PASSED [ 2%]
tests/test_appctx.py::test_custom_app_ctx_globals_class PASSED [ 2%]
tests/test_appctx.py::test_context_refcounts PASSED [ 2%]
tests/test_appctx.py::test_clean_pop PASSED [ 2%]
tests/test_basic.py::test_options_work PASSED [ 2%]
tests/test_basic.py::test_options_on_multiple_rules PASSED [ 2%]
tests/test_basic.py::test_provide_automatic_options_attr PASSED [ 3%]
tests/test_basic.py::test_provide_automatic_options_kwarg PASSED [ 3%]
tests/test_basic.py::test_request_dispatching PASSED [ 3%]
tests/test_basic.py::test_disallow_string_for_allowed_methods PASSED [ 3%]
tests/test_basic.py::test_url_mapping PASSED [ 3%]
tests/test_basic.py::test_werkzeug_routing PASSED [ 4%]
tests/test_basic.py::test_endpoint_decorator PASSED [ 4%]
tests/test_basic.py::test_session PASSED [ 4%]
tests/test_basic.py::test_session_using_server_name PASSED [ 4%]
tests/test_basic.py::test_session_using_server_name_and_port PASSED [ 4%]
tests/test_basic.py::test_session_using_server_name_port_and_path PASSED [ 4%]
tests/test_basic.py::test_session_using_application_root PASSED [ 5%]
tests/test_basic.py::test_session_using_session_settings PASSED [ 5%]
tests/test_basic.py::test_session_using_samesite_attribute PASSED [ 5%]
tests/test_basic.py::test_session_localhost_warning PASSED [ 5%]
tests/test_basic.py::test_session_ip_warning PASSED [ 5%]
tests/test_basic.py::test_missing_session PASSED [ 6%]
tests/test_basic.py::test_session_expiration PASSED [ 6%]
tests/test_basic.py::test_session_stored_last PASSED [ 6%]
tests/test_basic.py::test_session_special_types PASSED [ 6%]
tests/test_basic.py::test_session_cookie_setting PASSED [ 6%]
tests/test_basic.py::test_session_vary_cookie PASSED [ 7%]
tests/test_basic.py::test_flashes PASSED [ 7%]
tests/test_basic.py::test_extended_flashing PASSED [ 7%]
tests/test_basic.py::test_request_processing PASSED [ 7%]
tests/test_basic.py::test_request_preprocessing_early_return PASSED [ 7%]
tests/test_basic.py::test_after_request_processing PASSED [ 7%]
tests/test_basic.py::test_teardown_request_handler PASSED [ 8%]
tests/test_basic.py::test_teardown_request_handler_debug_mode PASSED [ 8%]
tests/test_basic.py::test_teardown_request_handler_error PASSED [ 8%]
tests/test_basic.py::test_before_after_request_order PASSED [ 8%]
tests/test_basic.py::test_error_handling PASSED [ 8%]
tests/test_basic.py::test_error_handler_unknown_code PASSED [ 9%]
tests/test_basic.py::test_error_handling_processing PASSED [ 9%]
tests/test_basic.py::test_baseexception_error_handling PASSED [ 9%]
tests/test_basic.py::test_before_request_and_routing_errors PASSED [ 9%]
tests/test_basic.py::test_user_error_handling PASSED [ 9%]
tests/test_basic.py::test_http_error_subclass_handling PASSED [ 9%]
tests/test_basic.py::test_errorhandler_precedence PASSED [ 10%]
tests/test_basic.py::test_trapping_of_bad_request_key_errors PASSED [ 10%]
tests/test_basic.py::test_trapping_of_all_http_exceptions PASSED [ 10%]
tests/test_basic.py::test_error_handler_after_processor_error PASSED [ 10%]
tests/test_basic.py::test_enctype_debug_helper PASSED [ 10%]
tests/test_basic.py::test_response_types PASSED [ 11%]
tests/test_basic.py::test_response_type_errors PASSED [ 11%]
tests/test_basic.py::test_make_response PASSED [ 11%]
tests/test_basic.py::test_make_response_with_response_instance PASSED [ 11%]
tests/test_basic.py::test_jsonify_no_prettyprint PASSED [ 11%]
tests/test_basic.py::test_jsonify_prettyprint PASSED [ 11%]
tests/test_basic.py::test_jsonify_mimetype PASSED [ 12%]
tests/test_basic.py::test_json_dump_dataclass PASSED [ 12%]
tests/test_basic.py::test_jsonify_args_and_kwargs_check PASSED [ 12%]
tests/test_basic.py::test_url_generation PASSED [ 12%]
tests/test_basic.py::test_build_error_handler PASSED [ 12%]
tests/test_basic.py::test_build_error_handler_reraise PASSED [ 13%]
tests/test_basic.py::test_url_for_passes_special_values_to_build_error_handler PASSED [ 13%]
tests/test_basic.py::test_static_files PASSED [ 13%]
tests/test_basic.py::test_static_url_path PASSED [ 13%]
tests/test_basic.py::test_static_url_path_with_ending_slash PASSED [ 13%]
tests/test_basic.py::test_static_url_empty_path PASSED [ 14%]
tests/test_basic.py::test_static_url_empty_path_default PASSED [ 14%]
tests/test_basic.py::test_static_folder_with_ending_slash PASSED [ 14%]
tests/test_basic.py::test_static_route_with_host_matching PASSED [ 14%]
tests/test_basic.py::test_request_locals PASSED [ 14%]
tests/test_basic.py::test_server_name_subdomain PASSED [ 14%]
tests/test_basic.py::test_exception_propagation PASSED [ 15%]
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-True-True] PASSED [ 15%]
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-True-False] PASSED [ 15%]
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-False-True] PASSED [ 15%]
tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-False-False] PASSED [ 15%]
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-True-True] PASSED [ 16%]
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-True-False] PASSED [ 16%]
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-False-True] PASSED [ 16%]
tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-False-False] PASSED [ 16%]
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-True-True] PASSED [ 16%]
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-True-False] PASSED [ 16%]
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-False-True] PASSED [ 17%]
tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-False-False] PASSED [ 17%]
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-True-True] PASSED [ 17%]
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-True-False] PASSED [ 17%]
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-False-True] PASSED [ 17%]
tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-False-False] PASSED [ 18%]
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-True-True] PASSED [ 18%]
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-True-False] PASSED [ 18%]
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-False-True] PASSED [ 18%]
tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-False-False] PASSED [ 18%]
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-True-True] PASSED [ 19%]
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-True-False] PASSED [ 19%]
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-False-True] PASSED [ 19%]
tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-False-False] PASSED [ 19%]
tests/test_basic.py::test_max_content_length PASSED [ 19%]
tests/test_basic.py::test_url_processors PASSED [ 19%]
tests/test_basic.py::test_inject_blueprint_url_defaults PASSED [ 20%]
tests/test_basic.py::test_nonascii_pathinfo PASSED [ 20%]
tests/test_basic.py::test_debug_mode_complains_after_first_request PASSED [ 20%]
tests/test_basic.py::test_before_first_request_functions PASSED [ 20%]
tests/test_basic.py::test_before_first_request_functions_concurrent PASSED [ 20%]
tests/test_basic.py::test_routing_redirect_debugging PASSED [ 21%]
tests/test_basic.py::test_route_decorator_custom_endpoint PASSED [ 21%]
tests/test_basic.py::test_preserve_only_once PASSED [ 21%]
tests/test_basic.py::test_preserve_remembers_exception PASSED [ 21%]
tests/test_basic.py::test_get_method_on_g PASSED [ 21%]
tests/test_basic.py::test_g_iteration_protocol PASSED [ 21%]
tests/test_basic.py::test_subdomain_basic_support PASSED [ 22%]
tests/test_basic.py::test_subdomain_matching PASSED [ 22%]
tests/test_basic.py::test_subdomain_matching_with_ports PASSED [ 22%]
tests/test_basic.py::test_subdomain_matching_other_name[False] PASSED [ 22%]
tests/test_basic.py::test_subdomain_matching_other_name[True] PASSED [ 22%]
tests/test_basic.py::test_multi_route_rules PASSED [ 23%]
tests/test_basic.py::test_multi_route_class_views PASSED [ 23%]
tests/test_basic.py::test_run_defaults PASSED [ 23%]
tests/test_basic.py::test_run_server_port PASSED [ 23%]
tests/test_basic.py::test_run_from_config[None-None-pocoo.org:8080-pocoo.org-8080] PASSED [ 23%]
tests/test_basic.py::test_run_from_config[localhost-None-pocoo.org:8080-localhost-8080] PASSED [ 23%]
tests/test_basic.py::test_run_from_config[None-80-pocoo.org:8080-pocoo.org-80] PASSED [ 24%]
tests/test_basic.py::test_run_from_config[localhost-80-pocoo.org:8080-localhost-80] PASSED [ 24%]
tests/test_basic.py::test_run_from_config[localhost-0-localhost:8080-localhost-0] PASSED [ 24%]
tests/test_basic.py::test_run_from_config[None-None-localhost:8080-localhost-8080] PASSED [ 24%]
tests/test_basic.py::test_run_from_config[None-None-localhost:0-localhost-0] PASSED [ 24%]
tests/test_basic.py::test_max_cookie_size PASSED [ 25%]
tests/test_blueprints.py::test_blueprint_specific_error_handling PASSED [ 25%]
tests/test_blueprints.py::test_blueprint_specific_user_error_handling PASSED [ 25%]
tests/test_blueprints.py::test_blueprint_app_error_handling PASSED [ 25%]
tests/test_blueprints.py::test_blueprint_prefix_slash[-/-/] PASSED [ 25%]
tests/test_blueprints.py::test_blueprint_prefix_slash[/--/] PASSED [ 26%]
tests/test_blueprints.py::test_blueprint_prefix_slash[/-/-/] PASSED [ 26%]
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo--/foo] PASSED [ 26%]
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/--/foo/] PASSED [ 26%]
tests/test_blueprints.py::test_blueprint_prefix_slash[-/bar-/bar] PASSED [ 26%]
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-/bar-/foo/bar] PASSED [ 26%]
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-bar-/foo/bar] PASSED [ 27%]
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo-/bar-/foo/bar] PASSED [ 27%]
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-//bar-/foo/bar] PASSED [ 27%]
tests/test_blueprints.py::test_blueprint_prefix_slash[/foo//-/bar-/foo/bar] PASSED [ 27%]
tests/test_blueprints.py::test_blueprint_url_defaults PASSED [ 27%]
tests/test_blueprints.py::test_blueprint_url_processors PASSED [ 28%]
tests/test_blueprints.py::test_templates_and_static PASSED [ 28%]
tests/test_blueprints.py::test_default_static_cache_timeout PASSED [ 28%]
tests/test_blueprints.py::test_templates_list PASSED [ 28%]
tests/test_blueprints.py::test_dotted_names PASSED [ 28%]
tests/test_blueprints.py::test_dotted_names_from_app PASSED [ 28%]
tests/test_blueprints.py::test_empty_url_defaults PASSED [ 29%]
tests/test_blueprints.py::test_route_decorator_custom_endpoint PASSED [ 29%]
tests/test_blueprints.py::test_route_decorator_custom_endpoint_with_dots PASSED [ 29%]
tests/test_blueprints.py::test_endpoint_decorator PASSED [ 29%]
tests/test_blueprints.py::test_template_filter PASSED [ 29%]
tests/test_blueprints.py::test_add_template_filter PASSED [ 30%]
tests/test_blueprints.py::test_template_filter_with_name PASSED [ 30%]
tests/test_blueprints.py::test_add_template_filter_with_name PASSED [ 30%]
tests/test_blueprints.py::test_template_filter_with_template PASSED [ 30%]
tests/test_blueprints.py::test_template_filter_after_route_with_template PASSED [ 30%]
tests/test_blueprints.py::test_add_template_filter_with_template PASSED [ 30%]
tests/test_blueprints.py::test_template_filter_with_name_and_template PASSED [ 31%]
tests/test_blueprints.py::test_add_template_filter_with_name_and_template PASSED [ 31%]
tests/test_blueprints.py::test_template_test PASSED [ 31%]
tests/test_blueprints.py::test_add_template_test PASSED [ 31%]
tests/test_blueprints.py::test_template_test_with_name PASSED [ 31%]
tests/test_blueprints.py::test_add_template_test_with_name PASSED [ 32%]
tests/test_blueprints.py::test_template_test_with_template PASSED [ 32%]
tests/test_blueprints.py::test_template_test_after_route_with_template PASSED [ 32%]
tests/test_blueprints.py::test_add_template_test_with_template PASSED [ 32%]
tests/test_blueprints.py::test_template_test_with_name_and_template PASSED [ 32%]
tests/test_blueprints.py::test_add_template_test_with_name_and_template PASSED [ 33%]
tests/test_blueprints.py::test_context_processing PASSED [ 33%]
tests/test_blueprints.py::test_template_global PASSED [ 33%]
tests/test_blueprints.py::test_request_processing PASSED [ 33%]
tests/test_blueprints.py::test_app_request_processing PASSED [ 33%]
tests/test_blueprints.py::test_app_url_processors PASSED [ 33%]
tests/test_cli.py::test_cli_name PASSED [ 34%]
tests/test_cli.py::test_find_best_app PASSED [ 34%]
tests/test_cli.py::test_prepare_import[test-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2-test] PASSED [ 34%]
tests/test_cli.py::test_prepare_import[test.py-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2-test] PASSED [ 34%]
tests/test_cli.py::test_prepare_import[a/test-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/a-test] PASSED [ 34%]
tests/test_cli.py::test_prepare_import[test/__init__.py-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2-test] PASSED [ 35%]
tests/test_cli.py::test_prepare_import[test/__init__-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2-test] PASSED [ 35%]
tests/test_cli.py::test_prepare_import[/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/tests/test_apps/cliapp/inner1/__init__-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/tests/test_apps-cliapp.inner1] PASSED [ 35%]
tests/test_cli.py::test_prepare_import[/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/tests/test_apps/cliapp/inner1/inner2-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/tests/test_apps-cliapp.inner1.inner2] PASSED [ 35%]
tests/test_cli.py::test_prepare_import[test.a.b-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2-test.a.b] PASSED [ 35%]
tests/test_cli.py::test_prepare_import[/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/tests/test_apps/cliapp.app-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/tests/test_apps-cliapp.app] PASSED [ 35%]
tests/test_cli.py::test_prepare_import[/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/tests/test_apps/cliapp/message.txt-/home/tkloczko/rpmbuild/BUILD/Flask-1.1.2/tests/test_apps-cliapp.message.txt] PASSED [ 36%]
tests/test_cli.py::test_locate_app[cliapp.app-None-testapp] PASSED [ 36%]
tests/test_cli.py::test_locate_app[cliapp.app-testapp-testapp] PASSED [ 36%]
tests/test_cli.py::test_locate_app[cliapp.factory-None-app] PASSED [ 36%]
tests/test_cli.py::test_locate_app[cliapp.factory-create_app-app] PASSED [ 36%]
tests/test_cli.py::test_locate_app[cliapp.factory-create_app()-app] PASSED [ 37%]
tests/test_cli.py::test_locate_app[cliapp.factory-create_app2("foo", "bar")-app2_foo_bar] PASSED [ 37%]
tests/test_cli.py::test_locate_app[cliapp.factory-create_app2("foo", "bar", )-app2_foo_bar] PASSED [ 37%]
tests/test_cli.py::test_locate_app[cliapp.factory-create_app3("foo")-app3_foo_spam] PASSED [ 37%]
tests/test_cli.py::test_locate_app[cliapp.factory- create_app () -app] PASSED [ 37%]
tests/test_cli.py::test_locate_app_raises[notanapp.py-None] PASSED [ 38%]
tests/test_cli.py::test_locate_app_raises[cliapp/app-None] PASSED [ 38%]
tests/test_cli.py::test_locate_app_raises[cliapp.app-notanapp] PASSED [ 38%]
tests/test_cli.py::test_locate_app_raises[cliapp.factory-create_app2("foo")] PASSED [ 38%]
tests/test_cli.py::test_locate_app_raises[cliapp.factory-create_app(] PASSED [ 38%]
tests/test_cli.py::test_locate_app_raises[cliapp.factory-no_app] PASSED [ 38%]
tests/test_cli.py::test_locate_app_raises[cliapp.importerrorapp-None] PASSED [ 39%]
tests/test_cli.py::test_locate_app_raises[cliapp.message.txt-None] PASSED [ 39%]
tests/test_cli.py::test_locate_app_suppress_raise PASSED [ 39%]
tests/test_cli.py::test_get_version PASSED [ 39%]
tests/test_cli.py::test_scriptinfo PASSED [ 39%]
tests/test_cli.py::test_with_appcontext PASSED [ 40%]
tests/test_cli.py::test_appgroup PASSED [ 40%]
tests/test_cli.py::test_flaskgroup PASSED [ 40%]
tests/test_cli.py::test_flaskgroup_debug[True] PASSED [ 40%]
tests/test_cli.py::test_flaskgroup_debug[False] PASSED [ 40%]
tests/test_cli.py::test_print_exceptions PASSED [ 40%]
tests/test_cli.py::TestRoutes::test_simple PASSED [ 41%]
tests/test_cli.py::TestRoutes::test_sort PASSED [ 41%]
tests/test_cli.py::TestRoutes::test_all_methods PASSED [ 41%]
tests/test_cli.py::TestRoutes::test_no_routes PASSED [ 41%]
tests/test_cli.py::test_load_dotenv SKIPPED [ 41%]
tests/test_cli.py::test_dotenv_path SKIPPED [ 42%]
tests/test_cli.py::test_dotenv_optional PASSED [ 42%]
tests/test_cli.py::test_disable_dotenv_from_env SKIPPED [ 42%]
tests/test_cli.py::test_run_cert_path PASSED [ 42%]
tests/test_cli.py::test_run_cert_adhoc PASSED [ 42%]
tests/test_cli.py::test_run_cert_import PASSED [ 42%]
tests/test_cli.py::test_run_cert_no_ssl PASSED [ 43%]
tests/test_cli.py::test_cli_blueprints PASSED [ 43%]
tests/test_cli.py::test_cli_empty PASSED [ 43%]
tests/test_config.py::test_config_from_file PASSED [ 43%]
tests/test_config.py::test_config_from_object PASSED [ 43%]
tests/test_config.py::test_config_from_json PASSED [ 44%]
tests/test_config.py::test_config_from_mapping PASSED [ 44%]
tests/test_config.py::test_config_from_class PASSED [ 44%]
tests/test_config.py::test_config_from_envvar PASSED [ 44%]
tests/test_config.py::test_config_from_envvar_missing PASSED [ 44%]
tests/test_config.py::test_config_missing PASSED [ 45%]
tests/test_config.py::test_config_missing_json PASSED [ 45%]
tests/test_config.py::test_custom_config_class PASSED [ 45%]
tests/test_config.py::test_session_lifetime PASSED [ 45%]
tests/test_config.py::test_send_file_max_age PASSED [ 45%]
tests/test_config.py::test_get_namespace PASSED [ 45%]
tests/test_config.py::test_from_pyfile_weird_encoding[utf-8] PASSED [ 46%]
tests/test_config.py::test_from_pyfile_weird_encoding[iso-8859-15] PASSED [ 46%]
tests/test_config.py::test_from_pyfile_weird_encoding[latin-1] PASSED [ 46%]
tests/test_converters.py::test_custom_converters PASSED [ 46%]
tests/test_converters.py::test_context_available PASSED [ 46%]
tests/test_deprecations.py::test_json_available PASSED [ 47%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-1] PASSED [ 47%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-t] PASSED [ 47%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-True] PASSED [ 47%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-False] PASSED [ 47%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-None] PASSED [ 47%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-value5] PASSED [ 48%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-value6] PASSED [ 48%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-value7] PASSED [ 48%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-value8] PASSED [ 48%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-1] PASSED [ 48%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-t] PASSED [ 49%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-True] PASSED [ 49%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-False] PASSED [ 49%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-None] PASSED [ 49%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-value5] PASSED [ 49%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-value6] PASSED [ 50%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-value7] PASSED [ 50%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-value8] PASSED [ 50%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-1] PASSED [ 50%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-t] PASSED [ 50%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-True] PASSED [ 50%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-False] PASSED [ 51%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-None] PASSED [ 51%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-value5] PASSED [ 51%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-value6] PASSED [ 51%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-value7] PASSED [ 51%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-value8] PASSED [ 52%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-1] PASSED [ 52%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-t] PASSED [ 52%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-True] PASSED [ 52%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-False] PASSED [ 52%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-None] PASSED [ 52%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-value5] PASSED [ 53%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-value6] PASSED [ 53%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-value7] PASSED [ 53%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-value8] PASSED [ 53%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-1] PASSED [ 53%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-t] PASSED [ 54%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-True] PASSED [ 54%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-False] PASSED [ 54%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-None] PASSED [ 54%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-value5] PASSED [ 54%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-value6] PASSED [ 54%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-value7] PASSED [ 55%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-value8] PASSED [ 55%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-1] PASSED [ 55%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-t] PASSED [ 55%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-True] PASSED [ 55%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-False] PASSED [ 56%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-None] PASSED [ 56%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-value5] PASSED [ 56%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-value6] PASSED [ 56%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-value7] PASSED [ 56%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-value8] PASSED [ 57%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-1] PASSED [ 57%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-t] PASSED [ 57%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-True] PASSED [ 57%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-False] PASSED [ 57%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-None] PASSED [ 57%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-value5] PASSED [ 58%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-value6] PASSED [ 58%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-value7] PASSED [ 58%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-value8] PASSED [ 58%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-1] PASSED [ 58%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-t] PASSED [ 59%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-True] PASSED [ 59%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-False] PASSED [ 59%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-None] PASSED [ 59%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-value5] PASSED [ 59%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-value6] PASSED [ 59%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-value7] PASSED [ 60%]
tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-value8] PASSED [ 60%]
tests/test_helpers.py::TestJSON::test_bad_request_debug_message[True] PASSED [ 60%]
tests/test_helpers.py::TestJSON::test_bad_request_debug_message[False] PASSED [ 60%]
tests/test_helpers.py::TestJSON::test_json_bad_requests PASSED [ 60%]
tests/test_helpers.py::TestJSON::test_json_custom_mimetypes PASSED [ 61%]
tests/test_helpers.py::TestJSON::test_json_as_unicode[True-"\\u2603"] PASSED [ 61%]
tests/test_helpers.py::TestJSON::test_json_as_unicode[False-"\u2603"] PASSED [ 61%]
tests/test_helpers.py::TestJSON::test_json_dump_to_file PASSED [ 61%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[0] PASSED [ 61%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[-1] PASSED [ 61%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[1] PASSED [ 62%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[23] PASSED [ 62%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[3.14] PASSED [ 62%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[s] PASSED [ 62%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[longer string] PASSED [ 62%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[True] PASSED [ 63%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[False] PASSED [ 63%]
tests/test_helpers.py::TestJSON::test_jsonify_basic_types[None] PASSED [ 63%]
tests/test_helpers.py::TestJSON::test_jsonify_dicts PASSED [ 63%]
tests/test_helpers.py::TestJSON::test_jsonify_arrays PASSED [ 63%]
tests/test_helpers.py::TestJSON::test_jsonify_date_types PASSED [ 64%]
tests/test_helpers.py::TestJSON::test_jsonify_aware_datetimes[tz0] PASSED [ 64%]
tests/test_helpers.py::TestJSON::test_jsonify_aware_datetimes[tz1] PASSED [ 64%]
tests/test_helpers.py::TestJSON::test_jsonify_aware_datetimes[tz2] PASSED [ 64%]
tests/test_helpers.py::TestJSON::test_jsonify_uuid_types PASSED [ 64%]
tests/test_helpers.py::TestJSON::test_json_attr PASSED [ 64%]
tests/test_helpers.py::TestJSON::test_template_escaping PASSED [ 65%]
tests/test_helpers.py::TestJSON::test_json_customization PASSED [ 65%]
tests/test_helpers.py::TestJSON::test_blueprint_json_customization PASSED [ 65%]
tests/test_helpers.py::TestJSON::test_modified_url_encoding PASSED [ 65%]
tests/test_helpers.py::TestJSON::test_json_key_sorting PASSED [ 65%]
tests/test_helpers.py::TestSendfile::test_send_file_regular PASSED [ 66%]
tests/test_helpers.py::TestSendfile::test_send_file_xsendfile PASSED [ 66%]
tests/test_helpers.py::TestSendfile::test_send_file_last_modified PASSED [ 66%]
tests/test_helpers.py::TestSendfile::test_send_file_object_without_mimetype PASSED [ 66%]
tests/test_helpers.py::TestSendfile::test_send_file_object PASSED [ 66%]
tests/test_helpers.py::TestSendfile::test_send_file_pathlike PASSED [ 66%]
tests/test_helpers.py::TestSendfile::test_send_file_range_request PASSED [ 67%]
tests/test_helpers.py::TestSendfile::test_send_file_range_request_bytesio PASSED [ 67%]
tests/test_helpers.py::TestSendfile::test_send_file_range_request_xsendfile_invalid PASSED [ 67%]
tests/test_helpers.py::TestSendfile::test_attachment PASSED [ 67%]
tests/test_helpers.py::TestSendfile::test_attachment_filename_encoding[index.html-index.html-False] PASSED [ 67%]
tests/test_helpers.py::TestSendfile::test_attachment_filename_encoding[\xd1and\xfa\uff0fping\xfcino.txt-"Nandu/pinguino.txt"-%C3%91and%C3%BA%EF%BC%8Fping%C3%BCino.txt] PASSED [ 68%]
tests/test_helpers.py::TestSendfile::test_attachment_filename_encoding[V\xf6gel.txt-Vogel.txt-V%C3%B6gel.txt] PASSED [ 68%]
tests/test_helpers.py::TestSendfile::test_attachment_filename_encoding[t\xe9st.txt-test.txt-t%C3%A9st.txt] PASSED [ 68%]
tests/test_helpers.py::TestSendfile::test_attachment_filename_encoding[\u0442\u0435:/\u0441\u0442-":/"-%D1%82%D0%B5%3A%2F%D1%81%D1%82] PASSED [ 68%]
tests/test_helpers.py::TestSendfile::test_static_file PASSED [ 68%]
tests/test_helpers.py::TestSendfile::test_send_from_directory PASSED [ 69%]
tests/test_helpers.py::TestSendfile::test_send_from_directory_pathlike PASSED [ 69%]
tests/test_helpers.py::TestSendfile::test_send_from_directory_null_character PASSED [ 69%]
tests/test_helpers.py::TestUrlFor::test_url_for_with_anchor PASSED [ 69%]
tests/test_helpers.py::TestUrlFor::test_url_for_with_scheme PASSED [ 69%]
tests/test_helpers.py::TestUrlFor::test_url_for_with_scheme_not_external PASSED [ 69%]
tests/test_helpers.py::TestUrlFor::test_url_for_with_alternating_schemes PASSED [ 70%]
tests/test_helpers.py::TestUrlFor::test_url_with_method PASSED [ 70%]
tests/test_helpers.py::TestNoImports::test_name_with_import_error PASSED [ 70%]
tests/test_helpers.py::TestStreaming::test_streaming_with_context PASSED [ 70%]
tests/test_helpers.py::TestStreaming::test_streaming_with_context_as_decorator PASSED [ 70%]
tests/test_helpers.py::TestStreaming::test_streaming_with_context_and_custom_close PASSED [ 71%]
tests/test_helpers.py::TestStreaming::test_stream_keeps_session PASSED [ 71%]
tests/test_helpers.py::TestSafeJoin::test_safe_join PASSED [ 71%]
tests/test_helpers.py::TestSafeJoin::test_safe_join_exceptions PASSED [ 71%]
tests/test_helpers.py::TestHelpers::test_get_debug_flag[-False-False] PASSED [ 71%]
tests/test_helpers.py::TestHelpers::test_get_debug_flag[0-False-False] PASSED [ 71%]
tests/test_helpers.py::TestHelpers::test_get_debug_flag[False-False-False] PASSED [ 72%]
tests/test_helpers.py::TestHelpers::test_get_debug_flag[No-False-False] PASSED [ 72%]
tests/test_helpers.py::TestHelpers::test_get_debug_flag[True-True-True] PASSED [ 72%]
tests/test_helpers.py::TestHelpers::test_get_env[-production-False] PASSED [ 72%]
tests/test_helpers.py::TestHelpers::test_get_env[production-production-False] PASSED [ 72%]
tests/test_helpers.py::TestHelpers::test_get_env[development-development-True] PASSED [ 73%]
tests/test_helpers.py::TestHelpers::test_get_env[other-other-False] PASSED [ 73%]
tests/test_helpers.py::TestHelpers::test_make_response PASSED [ 73%]
tests/test_helpers.py::TestHelpers::test_open_resource[r] PASSED [ 73%]
tests/test_helpers.py::TestHelpers::test_open_resource[rb] PASSED [ 73%]
tests/test_helpers.py::TestHelpers::test_open_resource[rt] PASSED [ 73%]
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[w] PASSED [ 74%]
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[x] PASSED [ 74%]
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[a] PASSED [ 74%]
tests/test_helpers.py::TestHelpers::test_open_resource_exceptions[r+] PASSED [ 74%]
tests/test_instance_config.py::test_explicit_instance_paths PASSED [ 74%]
tests/test_instance_config.py::test_main_module_paths XPASS [ 75%]
tests/test_instance_config.py::test_uninstalled_module_paths PASSED [ 75%]
tests/test_instance_config.py::test_uninstalled_package_paths PASSED [ 75%]
tests/test_instance_config.py::test_installed_module_paths[True] PASSED [ 75%]
tests/test_instance_config.py::test_installed_module_paths[False] PASSED [ 75%]
tests/test_instance_config.py::test_installed_package_paths[True] PASSED [ 76%]
tests/test_instance_config.py::test_installed_package_paths[False] PASSED [ 76%]
tests/test_instance_config.py::test_prefix_package_paths[True] PASSED [ 76%]
tests/test_instance_config.py::test_prefix_package_paths[False] PASSED [ 76%]
tests/test_instance_config.py::test_egg_installed_paths PASSED [ 76%]
tests/test_instance_config.py::test_meta_path_loader_without_is_package SKIPPED [ 76%]
tests/test_json_tag.py::test_dump_load_unchanged[data0] PASSED [ 77%]
tests/test_json_tag.py::test_dump_load_unchanged[data1] PASSED [ 77%]
tests/test_json_tag.py::test_dump_load_unchanged[data2] PASSED [ 77%]
tests/test_json_tag.py::test_dump_load_unchanged[data3] PASSED [ 77%]
tests/test_json_tag.py::test_dump_load_unchanged[data4] PASSED [ 77%]
tests/test_json_tag.py::test_dump_load_unchanged[data5] PASSED [ 78%]
tests/test_json_tag.py::test_dump_load_unchanged[\xff] PASSED [ 78%]
tests/test_json_tag.py::test_dump_load_unchanged[<html>] PASSED [ 78%]
tests/test_json_tag.py::test_dump_load_unchanged[data8] PASSED [ 78%]
tests/test_json_tag.py::test_dump_load_unchanged[data9] PASSED [ 78%]
tests/test_json_tag.py::test_duplicate_tag PASSED [ 78%]
tests/test_json_tag.py::test_custom_tag PASSED [ 79%]
tests/test_json_tag.py::test_tag_interface PASSED [ 79%]
tests/test_json_tag.py::test_tag_order PASSED [ 79%]
tests/test_logging.py::test_logger PASSED [ 79%]
tests/test_logging.py::test_logger_debug PASSED [ 79%]
tests/test_logging.py::test_existing_handler PASSED [ 80%]
tests/test_logging.py::test_wsgi_errors_stream PASSED [ 80%]
tests/test_logging.py::test_has_level_handler PASSED [ 80%]
tests/test_logging.py::test_log_view_exception PASSED [ 80%]
tests/test_logging.py::test_warn_old_config PASSED [ 80%]
tests/test_meta.py::test_changelog_utf8_compatible PASSED [ 80%]
tests/test_regression.py::test_memory_consumption PASSED [ 81%]
tests/test_regression.py::test_safe_join_toplevel_pardir PASSED [ 81%]
tests/test_regression.py::test_aborting FAILED [ 81%]
tests/test_reqctx.py::test_teardown_on_pop PASSED [ 81%]
tests/test_reqctx.py::test_teardown_with_previous_exception PASSED [ 81%]
tests/test_reqctx.py::test_teardown_with_handled_exception PASSED [ 82%]
tests/test_reqctx.py::test_proper_test_request_context PASSED [ 82%]
tests/test_reqctx.py::test_context_binding PASSED [ 82%]
tests/test_reqctx.py::test_context_test PASSED [ 82%]
tests/test_reqctx.py::test_manual_context_binding PASSED [ 82%]
tests/test_reqctx.py::TestGreenletContextCopying::test_greenlet_context_copying SKIPPED [ 83%]
tests/test_reqctx.py::TestGreenletContextCopying::test_greenlet_context_copying_api SKIPPED [ 83%]
tests/test_reqctx.py::test_session_error_pops_context PASSED [ 83%]
tests/test_reqctx.py::test_bad_environ_raises_bad_request PASSED [ 83%]
tests/test_reqctx.py::test_environ_for_valid_idna_completes PASSED [ 83%]
tests/test_reqctx.py::test_normal_environ_completes PASSED [ 83%]
tests/test_signals.py::test_template_rendered PASSED [ 84%]
tests/test_signals.py::test_before_render_template PASSED [ 84%]
tests/test_signals.py::test_request_signals PASSED [ 84%]
tests/test_signals.py::test_request_exception_signal PASSED [ 84%]
tests/test_signals.py::test_appcontext_signals PASSED [ 84%]
tests/test_signals.py::test_flash_signal PASSED [ 85%]
tests/test_signals.py::test_appcontext_tearing_down_signal PASSED [ 85%]
tests/test_subclassing.py::test_suppressed_exception_logging PASSED [ 85%]
tests/test_templating.py::test_context_processing PASSED [ 85%]
tests/test_templating.py::test_original_win PASSED [ 85%]
tests/test_templating.py::test_request_less_rendering PASSED [ 85%]
tests/test_templating.py::test_standard_context PASSED [ 86%]
tests/test_templating.py::test_escaping PASSED [ 86%]
tests/test_templating.py::test_no_escaping PASSED [ 86%]
tests/test_templating.py::test_escaping_without_template_filename PASSED [ 86%]
tests/test_templating.py::test_macros PASSED [ 86%]
tests/test_templating.py::test_template_filter PASSED [ 87%]
tests/test_templating.py::test_add_template_filter PASSED [ 87%]
tests/test_templating.py::test_template_filter_with_name PASSED [ 87%]
tests/test_templating.py::test_add_template_filter_with_name PASSED [ 87%]
tests/test_templating.py::test_template_filter_with_template PASSED [ 87%]
tests/test_templating.py::test_add_template_filter_with_template PASSED [ 88%]
tests/test_templating.py::test_template_filter_with_name_and_template PASSED [ 88%]
tests/test_templating.py::test_add_template_filter_with_name_and_template PASSED [ 88%]
tests/test_templating.py::test_template_test PASSED [ 88%]
tests/test_templating.py::test_add_template_test PASSED [ 88%]
tests/test_templating.py::test_template_test_with_name PASSED [ 88%]
tests/test_templating.py::test_add_template_test_with_name PASSED [ 89%]
tests/test_templating.py::test_template_test_with_template PASSED [ 89%]
tests/test_templating.py::test_add_template_test_with_template PASSED [ 89%]
tests/test_templating.py::test_template_test_with_name_and_template PASSED [ 89%]
tests/test_templating.py::test_add_template_test_with_name_and_template PASSED [ 89%]
tests/test_templating.py::test_add_template_global PASSED [ 90%]
tests/test_templating.py::test_custom_template_loader PASSED [ 90%]
tests/test_templating.py::test_iterable_loader PASSED [ 90%]
tests/test_templating.py::test_templates_auto_reload PASSED [ 90%]
tests/test_templating.py::test_templates_auto_reload_debug_run PASSED [ 90%]
tests/test_templating.py::test_template_loader_debugging PASSED [ 90%]
tests/test_templating.py::test_custom_jinja_env PASSED [ 91%]
tests/test_testing.py::test_environ_defaults_from_config PASSED [ 91%]
tests/test_testing.py::test_environ_defaults PASSED [ 91%]
tests/test_testing.py::test_environ_base_default PASSED [ 91%]
tests/test_testing.py::test_environ_base_modified PASSED [ 91%]
tests/test_testing.py::test_client_open_environ PASSED [ 92%]
tests/test_testing.py::test_specify_url_scheme PASSED [ 92%]
tests/test_testing.py::test_path_is_url PASSED [ 92%]
tests/test_testing.py::test_make_test_environ_builder PASSED [ 92%]
tests/test_testing.py::test_environbuilder_json_dumps PASSED [ 92%]
tests/test_testing.py::test_blueprint_with_subdomain PASSED [ 92%]
tests/test_testing.py::test_redirect_keep_session PASSED [ 93%]
tests/test_testing.py::test_session_transactions PASSED [ 93%]
tests/test_testing.py::test_session_transactions_no_null_sessions PASSED [ 93%]
tests/test_testing.py::test_session_transactions_keep_context PASSED [ 93%]
tests/test_testing.py::test_session_transaction_needs_cookies PASSED [ 93%]
tests/test_testing.py::test_test_client_context_binding PASSED [ 94%]
tests/test_testing.py::test_reuse_client PASSED [ 94%]
tests/test_testing.py::test_test_client_calls_teardown_handlers PASSED [ 94%]
tests/test_testing.py::test_full_url_request PASSED [ 94%]
tests/test_testing.py::test_json_request_and_response PASSED [ 94%]
tests/test_testing.py::test_client_json_no_app_context PASSED [ 95%]
tests/test_testing.py::test_subdomain PASSED [ 95%]
tests/test_testing.py::test_nosubdomain PASSED [ 95%]
tests/test_testing.py::test_cli_runner_class PASSED [ 95%]
tests/test_testing.py::test_cli_invoke PASSED [ 95%]
tests/test_testing.py::test_cli_custom_obj PASSED [ 95%]
tests/test_testing.py::test_client_pop_all_preserved PASSED [ 96%]
tests/test_user_error_handler.py::test_error_handler_no_match PASSED [ 96%]
tests/test_user_error_handler.py::test_error_handler_subclass PASSED [ 96%]
tests/test_user_error_handler.py::test_error_handler_http_subclass PASSED [ 96%]
tests/test_user_error_handler.py::test_error_handler_blueprint PASSED [ 96%]
tests/test_user_error_handler.py::test_default_error_handler PASSED [ 97%]
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_class_or_code[InternalServerError] PASSED [ 97%]
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_class_or_code[500] PASSED [ 97%]
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_generic_http PASSED [ 97%]
tests/test_user_error_handler.py::TestGenericHandlers::test_handle_generic PASSED [ 97%]
tests/test_views.py::test_basic_view PASSED [ 97%]
tests/test_views.py::test_method_based_view PASSED [ 98%]
tests/test_views.py::test_view_patching PASSED [ 98%]
tests/test_views.py::test_view_inheritance PASSED [ 98%]
tests/test_views.py::test_view_decorators PASSED [ 98%]
tests/test_views.py::test_view_provide_automatic_options_attr PASSED [ 98%]
tests/test_views.py::test_implicit_head PASSED [ 99%]
tests/test_views.py::test_explicit_head PASSED [ 99%]
tests/test_views.py::test_endpoint_override PASSED [ 99%]
tests/test_views.py::test_methods_var_inheritance PASSED [ 99%]
tests/test_views.py::test_multiple_inheritance PASSED [ 99%]
tests/test_views.py::test_remove_method_from_parent PASSED [100%]

=============================================================================================== FAILURES ===============================================================================================
____________________________________________________________________________________________ test_aborting _____________________________________________________________________________________________

app = <Flask 'flask_test'>

def test_aborting(app):
class Foo(Exception):
whatever = 42

@app.errorhandler(Foo)
def handle_foo(e):
return str(e.whatever)

@app.route("/")
def index():
raise flask.abort(flask.redirect(flask.url_for("test")))

@app.route("/test")
def test():
raise Foo()

with app.test_client() as c:
rv = c.get("/")
> assert rv.headers["Location"] == "http://localhost/test"
E AssertionError: assert '/test' == 'http://localhost/test'
E - /test
E + http://localhost/test

tests/test_regression.py:95: AssertionError
====================================================================== 1 failed, 534 passed, 6 skipped, 1 xpassed in 4.48 seconds ======================================================================

Issue 2:
http://flask.pocoo.org/docs/flask-docs.pdf

Chapter 404: The Lost Page