1 py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
2 py$(PYV): commands[0]> python -m pytest -v --tb=short --basetemp=$(@D)/.tox/py$(PYV)/tmp
3 ============================= test session starts ==============================
4 platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
5 cachedir: .tox/py$(PYV)/.pytest_cache
7 configfile: pyproject.toml
9 collecting ... collected 940 items / 25 deselected / 915 selected
11 tests/middleware/test_dispatcher.py::test_dispatcher PASSED
12 tests/middleware/test_lint.py::test_lint_middleware PASSED
13 tests/middleware/test_lint.py::test_lint_middleware_check_environ[wsgi.version-value0-Environ is not a WSGI 1.0 environ.] PASSED
14 tests/middleware/test_lint.py::test_lint_middleware_check_environ[SCRIPT_NAME-test-'SCRIPT_NAME' does not start with a slash:] PASSED
15 tests/middleware/test_lint.py::test_lint_middleware_check_environ[PATH_INFO-test-'PATH_INFO' does not start with a slash:] PASSED
16 tests/middleware/test_lint.py::test_lint_middleware_invalid_status PASSED
17 tests/middleware/test_lint.py::test_lint_middleware_http_headers[headers0-Header list is not a list.] PASSED
18 tests/middleware/test_lint.py::test_lint_middleware_http_headers[headers1-Header items must be 2-item tuples.] PASSED
19 tests/middleware/test_lint.py::test_lint_middleware_http_headers[headers2-The status header is not supported.] PASSED
20 tests/middleware/test_lint.py::test_lint_middleware_invalid_location PASSED
21 tests/middleware/test_profiler.py::test_filename_format_function PASSED
22 tests/middleware/test_proxy_fix.py::test_proxy_fix[for] PASSED
23 tests/middleware/test_proxy_fix.py::test_proxy_fix[proto] PASSED
24 tests/middleware/test_proxy_fix.py::test_proxy_fix[host] PASSED
25 tests/middleware/test_proxy_fix.py::test_proxy_fix[port, host without port] PASSED
26 tests/middleware/test_proxy_fix.py::test_proxy_fix[port, host with port] PASSED
27 tests/middleware/test_proxy_fix.py::test_proxy_fix[port, name] PASSED
28 tests/middleware/test_proxy_fix.py::test_proxy_fix[prefix] PASSED
29 tests/middleware/test_proxy_fix.py::test_proxy_fix[all] PASSED
30 tests/middleware/test_proxy_fix.py::test_proxy_fix[multiple for] PASSED
31 tests/middleware/test_proxy_fix.py::test_proxy_fix[ignore 0] PASSED
32 tests/middleware/test_proxy_fix.py::test_proxy_fix[ignore len < trusted] PASSED
33 tests/middleware/test_proxy_fix.py::test_proxy_fix[ignore untrusted] PASSED
34 tests/middleware/test_proxy_fix.py::test_proxy_fix[ignore empty] PASSED
35 tests/middleware/test_proxy_fix.py::test_proxy_fix[prefix < for] PASSED
36 tests/middleware/test_proxy_fix.py::test_proxy_fix[ipv6 host] PASSED
37 tests/middleware/test_proxy_fix.py::test_proxy_fix[ipv6 port, host without port] PASSED
38 tests/middleware/test_proxy_fix.py::test_proxy_fix[ipv6 - port, host with port] PASSED
39 tests/middleware/test_shared_data.py::test_get_file_loader PASSED
40 tests/middleware/test_shared_data.py::test_shared_data_middleware PASSED
41 tests/sansio/test_multipart.py::test_decoder_simple PASSED
42 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[-A] PASSED
43 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[-\n] PASSED
44 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[-\r] PASSED
45 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[-\r\n] PASSED
46 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[-\n\r] PASSED
47 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[-A\n] PASSED
48 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[-A\r] PASSED
49 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[-A\r\n] PASSED
50 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[-A\n\r] PASSED
51 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[\r\n--foo-A] PASSED
52 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[\r\n--foo-\n] PASSED
53 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[\r\n--foo-\r] PASSED
54 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[\r\n--foo-\r\n] PASSED
55 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[\r\n--foo-\n\r] PASSED
56 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[\r\n--foo-A\n] PASSED
57 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[\r\n--foo-A\r] PASSED
58 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[\r\n--foo-A\r\n] PASSED
59 tests/sansio/test_multipart.py::test_decoder_data_start_with_different_newline_positions[\r\n--foo-A\n\r] PASSED
60 tests/sansio/test_multipart.py::test_chunked_boundaries PASSED
61 tests/sansio/test_multipart.py::test_empty_field PASSED
62 tests/sansio/test_request.py::test_content_length[headers0-None] PASSED
63 tests/sansio/test_request.py::test_content_length[headers1-6] PASSED
64 tests/sansio/test_request.py::test_content_length[headers2-6] PASSED
65 tests/sansio/test_request.py::test_content_length[headers3-0] PASSED
66 tests/sansio/test_request.py::test_content_length[headers4-0] PASSED
67 tests/sansio/test_request.py::test_content_length[headers5-0] PASSED
68 tests/sansio/test_request.py::test_content_length[headers6-0] PASSED
69 tests/sansio/test_request.py::test_content_length[headers7-None] PASSED
70 tests/sansio/test_request.py::test_cookies PASSED
71 tests/sansio/test_utils.py::test_get_host[http-spam-None-spam] PASSED
72 tests/sansio/test_utils.py::test_get_host[http-spam:80-None-spam] PASSED
73 tests/sansio/test_utils.py::test_get_host[https-spam-None-spam] PASSED
74 tests/sansio/test_utils.py::test_get_host[https-spam:443-None-spam] PASSED
75 tests/sansio/test_utils.py::test_get_host[http-spam:8080-None-spam:8080] PASSED
76 tests/sansio/test_utils.py::test_get_host[ws-spam-None-spam] PASSED
77 tests/sansio/test_utils.py::test_get_host[ws-spam:80-None-spam] PASSED
78 tests/sansio/test_utils.py::test_get_host[wss-spam-None-spam] PASSED
79 tests/sansio/test_utils.py::test_get_host[wss-spam:443-None-spam] PASSED
80 tests/sansio/test_utils.py::test_get_host[http-None-server9-spam] PASSED
81 tests/sansio/test_utils.py::test_get_host[http-None-server10-spam:8080] PASSED
82 tests/sansio/test_utils.py::test_get_host[http-None-server11-unix/socket] PASSED
83 tests/sansio/test_utils.py::test_get_host[http-spam-server12-spam] PASSED
84 tests/sansio/test_utils.py::test_get_content_length[2-None-2] PASSED
85 tests/sansio/test_utils.py::test_get_content_length[ 2-None-2] PASSED
86 tests/sansio/test_utils.py::test_get_content_length[2 -None-2] PASSED
87 tests/sansio/test_utils.py::test_get_content_length[None-None-None] PASSED
88 tests/sansio/test_utils.py::test_get_content_length[None-chunked-None] PASSED
89 tests/sansio/test_utils.py::test_get_content_length[a-None-0] PASSED
90 tests/sansio/test_utils.py::test_get_content_length[-2-None-0] PASSED
91 tests/test_datastructures.py::TestNativeItermethods::test_basic PASSED
92 tests/test_datastructures.py::TestImmutableTypeConversionDict::test_follows_dict_interface PASSED
93 tests/test_datastructures.py::TestImmutableTypeConversionDict::test_copies_are_mutable PASSED
94 tests/test_datastructures.py::TestImmutableTypeConversionDict::test_dict_is_hashable PASSED
95 tests/test_datastructures.py::TestImmutableTypeConversionDict::test_or PASSED
96 tests/test_datastructures.py::TestImmutableTypeConversionDict::test_ior PASSED
97 tests/test_datastructures.py::TestImmutableMultiDict::test_follows_dict_interface PASSED
98 tests/test_datastructures.py::TestImmutableMultiDict::test_copies_are_mutable PASSED
99 tests/test_datastructures.py::TestImmutableMultiDict::test_dict_is_hashable PASSED
100 tests/test_datastructures.py::TestImmutableMultiDict::test_or PASSED
101 tests/test_datastructures.py::TestImmutableMultiDict::test_ior PASSED
102 tests/test_datastructures.py::TestImmutableMultiDict::test_multidict_is_hashable PASSED
103 tests/test_datastructures.py::TestImmutableDict::test_follows_dict_interface PASSED
104 tests/test_datastructures.py::TestImmutableDict::test_copies_are_mutable PASSED
105 tests/test_datastructures.py::TestImmutableDict::test_dict_is_hashable PASSED
106 tests/test_datastructures.py::TestImmutableDict::test_or PASSED
107 tests/test_datastructures.py::TestImmutableDict::test_ior PASSED
108 tests/test_datastructures.py::TestImmutableOrderedMultiDict::test_follows_dict_interface PASSED
109 tests/test_datastructures.py::TestImmutableOrderedMultiDict::test_copies_are_mutable PASSED
110 tests/test_datastructures.py::TestImmutableOrderedMultiDict::test_dict_is_hashable PASSED
111 tests/test_datastructures.py::TestImmutableOrderedMultiDict::test_or PASSED
112 tests/test_datastructures.py::TestImmutableOrderedMultiDict::test_ior PASSED
113 tests/test_datastructures.py::TestImmutableOrderedMultiDict::test_ordered_multidict_is_hashable PASSED
114 tests/test_datastructures.py::TestMultiDict::test_pickle PASSED
115 tests/test_datastructures.py::TestMultiDict::test_multidict_dict_interop PASSED
116 tests/test_datastructures.py::TestMultiDict::test_basic_interface PASSED
117 tests/test_datastructures.py::TestMultiDict::test_or PASSED
118 tests/test_datastructures.py::TestMultiDict::test_ior PASSED
119 tests/test_datastructures.py::TestMultiDict::test_multidict_pop PASSED
120 tests/test_datastructures.py::TestMultiDict::test_multidict_pop_raise_badrequestkeyerror_for_empty_list_value PASSED
121 tests/test_datastructures.py::TestMultiDict::test_multidict_popitem_raise_badrequestkeyerror_for_empty_list_value PASSED
122 tests/test_datastructures.py::TestMultiDict::test_setlistdefault PASSED
123 tests/test_datastructures.py::TestMultiDict::test_iter_interfaces PASSED
124 tests/test_datastructures.py::TestMultiDict::test_getitem_raise_badrequestkeyerror_for_empty_list_value PASSED
125 tests/test_datastructures.py::TestOrderedMultiDict::test_pickle PASSED
126 tests/test_datastructures.py::TestOrderedMultiDict::test_multidict_dict_interop PASSED
127 tests/test_datastructures.py::TestOrderedMultiDict::test_basic_interface PASSED
128 tests/test_datastructures.py::TestOrderedMultiDict::test_or PASSED
129 tests/test_datastructures.py::TestOrderedMultiDict::test_ior PASSED
130 tests/test_datastructures.py::TestOrderedMultiDict::test_ordered_interface PASSED
131 tests/test_datastructures.py::TestOrderedMultiDict::test_iterables PASSED
132 tests/test_datastructures.py::TestOrderedMultiDict::test_get_description PASSED
133 tests/test_datastructures.py::TestTypeConversionDict::test_value_conversion PASSED
134 tests/test_datastructures.py::TestTypeConversionDict::test_return_default_when_conversion_is_not_possible PASSED
135 tests/test_datastructures.py::TestTypeConversionDict::test_propagate_exceptions_in_conversion PASSED
136 tests/test_datastructures.py::TestCombinedMultiDict::test_basic_interface PASSED
137 tests/test_datastructures.py::TestCombinedMultiDict::test_length PASSED
138 tests/test_datastructures.py::TestHeaders::test_basic_interface PASSED
139 tests/test_datastructures.py::TestHeaders::test_defaults_and_conversion PASSED
140 tests/test_datastructures.py::TestHeaders::test_copying PASSED
141 tests/test_datastructures.py::TestHeaders::test_popping PASSED
142 tests/test_datastructures.py::TestHeaders::test_set_arguments PASSED
143 tests/test_datastructures.py::TestHeaders::test_reject_newlines PASSED
144 tests/test_datastructures.py::TestHeaders::test_slicing PASSED
145 tests/test_datastructures.py::TestHeaders::test_extend PASSED
146 tests/test_datastructures.py::TestHeaders::test_update PASSED
147 tests/test_datastructures.py::TestHeaders::test_setlist PASSED
148 tests/test_datastructures.py::TestHeaders::test_setlistdefault PASSED
149 tests/test_datastructures.py::TestHeaders::test_to_wsgi_list PASSED
150 tests/test_datastructures.py::TestHeaders::test_equality PASSED
151 tests/test_datastructures.py::TestHeaders::test_or PASSED
152 tests/test_datastructures.py::TestHeaders::test_ior PASSED
153 tests/test_datastructures.py::TestEnvironHeaders::test_basic_interface PASSED
154 tests/test_datastructures.py::TestEnvironHeaders::test_skip_empty_special_vars PASSED
155 tests/test_datastructures.py::TestEnvironHeaders::test_return_type_is_str PASSED
156 tests/test_datastructures.py::TestEnvironHeaders::test_or PASSED
157 tests/test_datastructures.py::TestEnvironHeaders::test_ior PASSED
158 tests/test_datastructures.py::TestHeaderSet::test_basic_interface PASSED
159 tests/test_datastructures.py::TestImmutableList::test_list_hashable PASSED
160 tests/test_datastructures.py::TestCallbackDict::test_callback_dict_reads PASSED
161 tests/test_datastructures.py::TestCallbackDict::test_callback_dict_writes PASSED
162 tests/test_datastructures.py::TestCacheControl::test_repr PASSED
163 tests/test_datastructures.py::TestCacheControl::test_set_none PASSED
164 tests/test_datastructures.py::TestCacheControl::test_no_transform PASSED
165 tests/test_datastructures.py::TestCacheControl::test_min_fresh PASSED
166 tests/test_datastructures.py::TestCacheControl::test_must_understand PASSED
167 tests/test_datastructures.py::TestCacheControl::test_stale_while_revalidate PASSED
168 tests/test_datastructures.py::TestCacheControl::test_stale_if_error PASSED
169 tests/test_datastructures.py::TestContentSecurityPolicy::test_construct PASSED
170 tests/test_datastructures.py::TestContentSecurityPolicy::test_properties PASSED
171 tests/test_datastructures.py::TestAccept::test_accept_basic PASSED
172 tests/test_datastructures.py::TestAccept::test_accept_wildcard PASSED
173 tests/test_datastructures.py::TestAccept::test_accept_keep_order PASSED
174 tests/test_datastructures.py::TestAccept::test_accept_wildcard_specificity PASSED
175 tests/test_datastructures.py::TestAccept::test_accept_equal_quality PASSED
176 tests/test_datastructures.py::TestMIMEAccept::test_mime_accept[values0-matches0-None-text/html] PASSED
177 tests/test_datastructures.py::TestMIMEAccept::test_mime_accept[values1-matches1-text/plain-text/plain] PASSED
178 tests/test_datastructures.py::TestMIMEAccept::test_mime_accept[values2-matches2-None-None] PASSED
179 tests/test_datastructures.py::TestMIMEAccept::test_mime_accept[values3-matches3-None-text/html] PASSED
180 tests/test_datastructures.py::TestMIMEAccept::test_mime_accept[values4-matches4-None-image/png] PASSED
181 tests/test_datastructures.py::TestMIMEAccept::test_mime_accept[values5-matches5-None-text/html] PASSED
182 tests/test_datastructures.py::TestMIMEAccept::test_mime_accept[values6-matches6-None-image/png] PASSED
183 tests/test_datastructures.py::TestMIMEAccept::test_mime_accept[values7-matches7-None-text/html;level=1] PASSED
184 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values0-matches0-None-en] PASSED
185 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values1-matches1-None-en_US] PASSED
186 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values2-matches2-None-None] PASSED
187 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values3-matches3-None-None] PASSED
188 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values4-matches4-None-de] PASSED
189 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values5-matches5-None-en] PASSED
190 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values6-matches6-None-en-us] PASSED
191 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values7-matches7-None-en-us] PASSED
192 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values8-matches8-en-US-en] PASSED
193 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values9-matches9-en-US-en-US] PASSED
194 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values10-matches10-None-aus] PASSED
195 tests/test_datastructures.py::TestLanguageAccept::test_best_match_fallback[values11-matches11-None-aus-EN] PASSED
196 tests/test_datastructures.py::TestFileStorage::test_mimetype_always_lowercase PASSED
197 tests/test_datastructures.py::TestFileStorage::test_bytes_proper_sentinel[data0] PASSED
198 tests/test_datastructures.py::TestFileStorage::test_bytes_proper_sentinel[data1] PASSED
199 tests/test_datastructures.py::TestFileStorage::test_proxy_can_access_stream_attrs[SpooledTemporaryFile] PASSED
200 tests/test_datastructures.py::TestFileStorage::test_proxy_can_access_stream_attrs[BytesIO] PASSED
201 tests/test_datastructures.py::TestFileStorage::test_save_to_pathlib_dst PASSED
202 tests/test_datastructures.py::TestFileStorage::test_save_to_bytes_io PASSED
203 tests/test_datastructures.py::TestFileStorage::test_save_to_file PASSED
204 tests/test_datastructures.py::test_range_to_header[ranges0] PASSED
205 tests/test_datastructures.py::test_range_to_header[ranges1] PASSED
206 tests/test_datastructures.py::test_range_validates_ranges[ranges0] PASSED
207 tests/test_datastructures.py::test_range_validates_ranges[ranges1] PASSED
208 tests/test_datastructures.py::test_range_validates_ranges[ranges2] PASSED
209 tests/test_datastructures.py::test_range_validates_ranges[ranges3] PASSED
210 tests/test_debug.py::TestDebugRepr::test_basic_repr PASSED
211 tests/test_debug.py::TestDebugRepr::test_string_repr PASSED
212 tests/test_debug.py::TestDebugRepr::test_string_subclass_repr PASSED
213 tests/test_debug.py::TestDebugRepr::test_sequence_repr PASSED
214 tests/test_debug.py::TestDebugRepr::test_mapping_repr PASSED
215 tests/test_debug.py::TestDebugRepr::test_custom_repr PASSED
216 tests/test_debug.py::TestDebugRepr::test_list_subclass_repr PASSED
217 tests/test_debug.py::TestDebugRepr::test_regex_repr PASSED
218 tests/test_debug.py::TestDebugRepr::test_set_repr PASSED
219 tests/test_debug.py::TestDebugRepr::test_recursive_repr PASSED
220 tests/test_debug.py::TestDebugRepr::test_broken_repr PASSED
221 tests/test_debug.py::TestDebugHelpers::test_object_dumping PASSED
222 tests/test_debug.py::TestDebugHelpers::test_debug_dump PASSED
223 tests/test_debug.py::TestDebugHelpers::test_debug_help PASSED
224 tests/test_debug.py::TestDebugHelpers::test_exc_divider_found_on_chained_exception PASSED
225 tests/test_debug.py::test_get_machine_id PASSED
226 tests/test_debug.py::test_console_closure_variables PASSED
227 tests/test_debug.py::test_chained_exception_cycle PASSED
228 tests/test_debug.py::test_exception_without_traceback PASSED
229 tests/test_exceptions.py::test_proxy_exception PASSED
230 tests/test_exceptions.py::test_aborter_general[test0] PASSED
231 tests/test_exceptions.py::test_aborter_general[test1] PASSED
232 tests/test_exceptions.py::test_aborter_general[test2] PASSED
233 tests/test_exceptions.py::test_aborter_general[test3] PASSED
234 tests/test_exceptions.py::test_aborter_general[test4] PASSED
235 tests/test_exceptions.py::test_aborter_general[test5] PASSED
236 tests/test_exceptions.py::test_aborter_general[test6] PASSED
237 tests/test_exceptions.py::test_aborter_general[test7] PASSED
238 tests/test_exceptions.py::test_aborter_general[test8] PASSED
239 tests/test_exceptions.py::test_aborter_general[test9] PASSED
240 tests/test_exceptions.py::test_aborter_general[test10] PASSED
241 tests/test_exceptions.py::test_aborter_general[test11] PASSED
242 tests/test_exceptions.py::test_aborter_general[test12] PASSED
243 tests/test_exceptions.py::test_aborter_general[test13] PASSED
244 tests/test_exceptions.py::test_aborter_general[test14] PASSED
245 tests/test_exceptions.py::test_aborter_general[test15] PASSED
246 tests/test_exceptions.py::test_aborter_general[test16] PASSED
247 tests/test_exceptions.py::test_aborter_general[test17] PASSED
248 tests/test_exceptions.py::test_aborter_general[test18] PASSED
249 tests/test_exceptions.py::test_aborter_general[test19] PASSED
250 tests/test_exceptions.py::test_abort_description_markup PASSED
251 tests/test_exceptions.py::test_aborter_custom PASSED
252 tests/test_exceptions.py::test_exception_repr PASSED
253 tests/test_exceptions.py::test_method_not_allowed_methods PASSED
254 tests/test_exceptions.py::test_unauthorized_www_authenticate PASSED
255 tests/test_exceptions.py::test_response_header_content_type_should_contain_charset PASSED
256 tests/test_exceptions.py::test_retry_after_mixin[TooManyRequests-20-20] PASSED
257 tests/test_exceptions.py::test_retry_after_mixin[ServiceUnavailable-value1-Sat, 04 Jan 2020 18:52:16 GMT] PASSED
258 tests/test_exceptions.py::test_passing_response[BadRequest] PASSED
259 tests/test_exceptions.py::test_passing_response[Unauthorized] PASSED
260 tests/test_exceptions.py::test_passing_response[Forbidden] PASSED
261 tests/test_exceptions.py::test_passing_response[NotFound] PASSED
262 tests/test_exceptions.py::test_passing_response[MethodNotAllowed] PASSED
263 tests/test_exceptions.py::test_passing_response[NotAcceptable] PASSED
264 tests/test_exceptions.py::test_passing_response[RequestTimeout] PASSED
265 tests/test_exceptions.py::test_passing_response[Conflict] PASSED
266 tests/test_exceptions.py::test_passing_response[Gone] PASSED
267 tests/test_exceptions.py::test_passing_response[LengthRequired] PASSED
268 tests/test_exceptions.py::test_passing_response[PreconditionFailed] PASSED
269 tests/test_exceptions.py::test_passing_response[RequestEntityTooLarge] PASSED
270 tests/test_exceptions.py::test_passing_response[RequestURITooLarge] PASSED
271 tests/test_exceptions.py::test_passing_response[UnsupportedMediaType] PASSED
272 tests/test_exceptions.py::test_passing_response[RequestedRangeNotSatisfiable] PASSED
273 tests/test_exceptions.py::test_passing_response[ExpectationFailed] PASSED
274 tests/test_exceptions.py::test_passing_response[ImATeapot] PASSED
275 tests/test_exceptions.py::test_passing_response[MisdirectedRequest] PASSED
276 tests/test_exceptions.py::test_passing_response[UnprocessableEntity] PASSED
277 tests/test_exceptions.py::test_passing_response[Locked] PASSED
278 tests/test_exceptions.py::test_passing_response[FailedDependency] PASSED
279 tests/test_exceptions.py::test_passing_response[PreconditionRequired] PASSED
280 tests/test_exceptions.py::test_passing_response[TooManyRequests] PASSED
281 tests/test_exceptions.py::test_passing_response[RequestHeaderFieldsTooLarge] PASSED
282 tests/test_exceptions.py::test_passing_response[UnavailableForLegalReasons] PASSED
283 tests/test_exceptions.py::test_passing_response[InternalServerError] PASSED
284 tests/test_exceptions.py::test_passing_response[NotImplemented] PASSED
285 tests/test_exceptions.py::test_passing_response[BadGateway] PASSED
286 tests/test_exceptions.py::test_passing_response[ServiceUnavailable] PASSED
287 tests/test_exceptions.py::test_passing_response[GatewayTimeout] PASSED
288 tests/test_exceptions.py::test_passing_response[HTTPVersionNotSupported] PASSED
289 tests/test_exceptions.py::test_description_none PASSED
290 tests/test_exceptions.py::test_response_body[BadRequest] PASSED
291 tests/test_exceptions.py::test_response_body[Unauthorized] PASSED
292 tests/test_exceptions.py::test_response_body[Forbidden] PASSED
293 tests/test_exceptions.py::test_response_body[NotFound] PASSED
294 tests/test_exceptions.py::test_response_body[MethodNotAllowed] PASSED
295 tests/test_exceptions.py::test_response_body[NotAcceptable] PASSED
296 tests/test_exceptions.py::test_response_body[RequestTimeout] PASSED
297 tests/test_exceptions.py::test_response_body[Conflict] PASSED
298 tests/test_exceptions.py::test_response_body[Gone] PASSED
299 tests/test_exceptions.py::test_response_body[LengthRequired] PASSED
300 tests/test_exceptions.py::test_response_body[PreconditionFailed] PASSED
301 tests/test_exceptions.py::test_response_body[RequestEntityTooLarge] PASSED
302 tests/test_exceptions.py::test_response_body[RequestURITooLarge] PASSED
303 tests/test_exceptions.py::test_response_body[UnsupportedMediaType] PASSED
304 tests/test_exceptions.py::test_response_body[RequestedRangeNotSatisfiable] PASSED
305 tests/test_exceptions.py::test_response_body[ExpectationFailed] PASSED
306 tests/test_exceptions.py::test_response_body[ImATeapot] PASSED
307 tests/test_exceptions.py::test_response_body[MisdirectedRequest] PASSED
308 tests/test_exceptions.py::test_response_body[UnprocessableEntity] PASSED
309 tests/test_exceptions.py::test_response_body[Locked] PASSED
310 tests/test_exceptions.py::test_response_body[FailedDependency] PASSED
311 tests/test_exceptions.py::test_response_body[PreconditionRequired] PASSED
312 tests/test_exceptions.py::test_response_body[TooManyRequests] PASSED
313 tests/test_exceptions.py::test_response_body[RequestHeaderFieldsTooLarge] PASSED
314 tests/test_exceptions.py::test_response_body[UnavailableForLegalReasons] PASSED
315 tests/test_exceptions.py::test_response_body[InternalServerError] PASSED
316 tests/test_exceptions.py::test_response_body[NotImplemented] PASSED
317 tests/test_exceptions.py::test_response_body[BadGateway] PASSED
318 tests/test_exceptions.py::test_response_body[ServiceUnavailable] PASSED
319 tests/test_exceptions.py::test_response_body[GatewayTimeout] PASSED
320 tests/test_exceptions.py::test_response_body[HTTPVersionNotSupported] PASSED
321 tests/test_formparser.py::TestFormParser::test_limiting PASSED
322 tests/test_formparser.py::TestFormParser::test_urlencoded_no_max PASSED
323 tests/test_formparser.py::TestFormParser::test_urlencoded_silent_decode PASSED
324 tests/test_formparser.py::TestFormParser::test_missing_multipart_boundary PASSED
325 tests/test_formparser.py::TestFormParser::test_parse_form_data_put_without_content PASSED
326 tests/test_formparser.py::TestFormParser::test_parse_form_data_get_without_content PASSED
327 tests/test_formparser.py::TestFormParser::test_default_stream_factory[False-100] PASSED
328 tests/test_formparser.py::TestFormParser::test_default_stream_factory[False-3000] PASSED
329 tests/test_formparser.py::TestFormParser::test_default_stream_factory[True-100] PASSED
330 tests/test_formparser.py::TestFormParser::test_default_stream_factory[True-3000] PASSED
331 tests/test_formparser.py::TestFormParser::test_parse_bad_content_type PASSED
332 tests/test_formparser.py::TestFormParser::test_parse_from_environ PASSED
333 tests/test_formparser.py::TestMultiPart::test_basic PASSED
334 tests/test_formparser.py::TestMultiPart::test_ie7_unc_path PASSED
335 tests/test_formparser.py::TestMultiPart::test_end_of_file PASSED
336 tests/test_formparser.py::TestMultiPart::test_file_no_content_type PASSED
337 tests/test_formparser.py::TestMultiPart::test_extra_newline PASSED
338 tests/test_formparser.py::TestMultiPart::test_headers PASSED
339 tests/test_formparser.py::TestMultiPart::test_nonstandard_line_endings[\n] PASSED
340 tests/test_formparser.py::TestMultiPart::test_nonstandard_line_endings[\r] PASSED
341 tests/test_formparser.py::TestMultiPart::test_nonstandard_line_endings[\r\n] PASSED
342 tests/test_formparser.py::TestMultiPart::test_failures PASSED
343 tests/test_formparser.py::TestMultiPart::test_empty_multipart PASSED
344 tests/test_formparser.py::TestMultiPartParser::test_constructor_not_pass_stream_factory_and_cls PASSED
345 tests/test_formparser.py::TestMultiPartParser::test_constructor_pass_stream_factory_and_cls PASSED
346 tests/test_formparser.py::TestMultiPartParser::test_file_rfc2231_filename_continuations PASSED
347 tests/test_formparser.py::test_multipart_max_form_memory_size PASSED
348 tests/test_http.py::TestHTTPUtility::test_accept PASSED
349 tests/test_http.py::TestHTTPUtility::test_accept_parameter_with_space PASSED
350 tests/test_http.py::TestHTTPUtility::test_mime_accept PASSED
351 tests/test_http.py::TestHTTPUtility::test_accept_matches PASSED
352 tests/test_http.py::TestHTTPUtility::test_accept_mime_specificity PASSED
353 tests/test_http.py::TestHTTPUtility::test_charset_accept PASSED
354 tests/test_http.py::TestHTTPUtility::test_language_accept PASSED
355 tests/test_http.py::TestHTTPUtility::test_set_header PASSED
356 tests/test_http.py::TestHTTPUtility::test_list_header[a b-expect0] PASSED
357 tests/test_http.py::TestHTTPUtility::test_list_header[a b, c-expect1] PASSED
358 tests/test_http.py::TestHTTPUtility::test_list_header[a b, "c, d"-expect2] PASSED
359 tests/test_http.py::TestHTTPUtility::test_list_header["a\\"b", c-expect3] PASSED
360 tests/test_http.py::TestHTTPUtility::test_dict_header[foo="bar baz", blah=42-expect0] PASSED
361 tests/test_http.py::TestHTTPUtility::test_dict_header[foo, bar=-expect1] PASSED
362 tests/test_http.py::TestHTTPUtility::test_dict_header[=foo, =-expect2] PASSED
363 tests/test_http.py::TestHTTPUtility::test_cache_control_header PASSED
364 tests/test_http.py::TestHTTPUtility::test_csp_header PASSED
365 tests/test_http.py::TestHTTPUtility::test_authorization_header PASSED
366 tests/test_http.py::TestHTTPUtility::test_authorization_ignore_invalid_parameters PASSED
367 tests/test_http.py::TestHTTPUtility::test_authorization_token_padding PASSED
368 tests/test_http.py::TestHTTPUtility::test_authorization_basic_incorrect_padding PASSED
369 tests/test_http.py::TestHTTPUtility::test_bad_authorization_header_encoding PASSED
370 tests/test_http.py::TestHTTPUtility::test_authorization_eq PASSED
371 tests/test_http.py::TestHTTPUtility::test_www_authenticate_header PASSED
372 tests/test_http.py::TestHTTPUtility::test_www_authenticate_token_padding PASSED
373 tests/test_http.py::TestHTTPUtility::test_www_authenticate_eq PASSED
374 tests/test_http.py::TestHTTPUtility::test_etags PASSED
375 tests/test_http.py::TestHTTPUtility::test_etags_nonzero PASSED
376 tests/test_http.py::TestHTTPUtility::test_remove_entity_headers PASSED
377 tests/test_http.py::TestHTTPUtility::test_remove_hop_by_hop_headers PASSED
378 tests/test_http.py::TestHTTPUtility::test_parse_options_header_empty[None-] PASSED
379 tests/test_http.py::TestHTTPUtility::test_parse_options_header_empty[-] PASSED
380 tests/test_http.py::TestHTTPUtility::test_parse_options_header_empty[;a=b-] PASSED
381 tests/test_http.py::TestHTTPUtility::test_parse_options_header_empty[v-v] PASSED
382 tests/test_http.py::TestHTTPUtility::test_parse_options_header_empty[v;-v] PASSED
383 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a=b;c=d;-expect0] PASSED
384 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v; ; a=b ; -expect1] PASSED
385 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a-expect2] PASSED
386 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a=-expect3] PASSED
387 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;=b-expect4] PASSED
388 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="b"-expect5] PASSED
389 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a=\xb5-expect6] PASSED
390 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="';'";b="\xb5";-expect7] PASSED
391 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="b c"-expect8] PASSED
392 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="b\\"c";d=e-expect9] PASSED
393 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="c:\\\\"-expect10] PASSED
394 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="c:\\"-expect11] PASSED
395 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="b\\\\\\"c"-expect12] PASSED
396 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="b%22c"-expect13] PASSED
397 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*=b-expect14] PASSED
398 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*=ASCII'en'b-expect15] PASSED
399 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*=US-ASCII''%62-expect16] PASSED
400 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*=UTF-8''%C2%B5-expect17] PASSED
401 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*=US-ASCII''%C2%B5-expect18] PASSED
402 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*=BAD''%62-expect19] PASSED
403 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*=UTF-8'''%F0%9F%90%8D'.txt-expect20] PASSED
404 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="\U0001f40d.txt"-expect21] PASSED
405 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*0=b;a*1=c;d=e-expect22] PASSED
406 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*0*=b-expect23] PASSED
407 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a*0*=UTF-8''b;a*1=c;a*2*=%C2%B5-expect24] PASSED
408 tests/test_http.py::TestHTTPUtility::test_parse_options_header[v;a="\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\-expect25] PASSED
409 tests/test_http.py::TestHTTPUtility::test_parse_options_header_broken_values PASSED
410 tests/test_http.py::TestHTTPUtility::test_parse_options_header_case_insensitive PASSED
411 tests/test_http.py::TestHTTPUtility::test_dump_options_header PASSED
412 tests/test_http.py::TestHTTPUtility::test_dump_header PASSED
413 tests/test_http.py::TestHTTPUtility::test_is_resource_modified PASSED
414 tests/test_http.py::TestHTTPUtility::test_is_resource_modified_for_range_requests PASSED
415 tests/test_http.py::TestHTTPUtility::test_parse_cookie PASSED
416 tests/test_http.py::TestHTTPUtility::test_dump_cookie PASSED
417 tests/test_http.py::TestHTTPUtility::test_bad_cookies PASSED
418 tests/test_http.py::TestHTTPUtility::test_empty_keys_are_ignored PASSED
419 tests/test_http.py::TestHTTPUtility::test_cookie_quoting PASSED
420 tests/test_http.py::TestHTTPUtility::test_parse_set_cookie_directive PASSED
421 tests/test_http.py::TestHTTPUtility::test_cookie_domain_resolving PASSED
422 tests/test_http.py::TestHTTPUtility::test_cookie_unicode_dumping PASSED
423 tests/test_http.py::TestHTTPUtility::test_cookie_unicode_keys PASSED
424 tests/test_http.py::TestHTTPUtility::test_cookie_unicode_parsing PASSED
425 tests/test_http.py::TestHTTPUtility::test_cookie_domain_encoding PASSED
426 tests/test_http.py::TestHTTPUtility::test_cookie_maxsize PASSED
427 tests/test_http.py::TestHTTPUtility::test_cookie_samesite_attribute[strict-foo=bar; SameSite=Strict] PASSED
428 tests/test_http.py::TestHTTPUtility::test_cookie_samesite_attribute[lax-foo=bar; SameSite=Lax] PASSED
429 tests/test_http.py::TestHTTPUtility::test_cookie_samesite_attribute[none-foo=bar; SameSite=None] PASSED
430 tests/test_http.py::TestHTTPUtility::test_cookie_samesite_attribute[None-foo=bar] PASSED
431 tests/test_http.py::TestHTTPUtility::test_cookie_samesite_invalid PASSED
432 tests/test_http.py::TestHTTPUtility::test_cookie_partitioned PASSED
433 tests/test_http.py::TestHTTPUtility::test_cookie_partitioned_sets_secure PASSED
434 tests/test_http.py::TestRange::test_if_range_parsing PASSED
435 tests/test_http.py::TestRange::test_range_parsing PASSED
436 tests/test_http.py::TestRange::test_content_range_parsing PASSED
437 tests/test_http.py::TestRegression::test_best_match_works PASSED
438 tests/test_http.py::test_authorization_to_header[Basic V2Vya3pldWc6V2VrcnpldWc=] PASSED
439 tests/test_http.py::test_authorization_to_header[Digest username=Mufasa, realm="testrealm@host.invalid", nonce=dcd98b7102dd2f0e8b11d0f600bfb0c093, uri="/dir/index.html", qop=auth, nc=00000001, cnonce=0a4f113b, response=6629fae49393a05397450978507c4ef1, opaque=5ccc069c403ebaf9f0171e9517f40e41] PASSED
440 tests/test_http.py::test_parse_date[Sun, 06 Nov 1994 08:49:37 GMT -expect0] PASSED
441 tests/test_http.py::test_parse_date[Sunday, 06-Nov-94 08:49:37 GMT-expect1] PASSED
442 tests/test_http.py::test_parse_date[ Sun Nov 6 08:49:37 1994-expect2] PASSED
443 tests/test_http.py::test_parse_date[foo-None] PASSED
444 tests/test_http.py::test_parse_date[ Sun 02 Feb 1343 08:49:37 GMT-expect4] PASSED
445 tests/test_http.py::test_parse_date[Thu, 01 Jan 1970 00:00:00 GMT-expect5] PASSED
446 tests/test_http.py::test_parse_date[Thu, 33 Jan 1970 00:00:00 GMT-None] PASSED
447 tests/test_http.py::test_http_date[value0-Sun, 06 Nov 1994 08:49:37 GMT] PASSED
448 tests/test_http.py::test_http_date[value1-Sun, 06 Nov 1994 16:49:37 GMT] PASSED
449 tests/test_http.py::test_http_date[value2-Sun, 06 Nov 1994 08:49:37 GMT] PASSED
450 tests/test_http.py::test_http_date[0-Thu, 01 Jan 1970 00:00:00 GMT] PASSED
451 tests/test_http.py::test_http_date[value4-Thu, 01 Jan 1970 00:00:00 GMT] PASSED
452 tests/test_http.py::test_http_date[value5-Mon, 01 Jan 0001 00:00:00 GMT] PASSED
453 tests/test_http.py::test_http_date[value6-Tue, 01 Jan 0999 00:00:00 GMT] PASSED
454 tests/test_http.py::test_http_date[value7-Wed, 01 Jan 1000 00:00:00 GMT] PASSED
455 tests/test_http.py::test_http_date[value8-Wed, 01 Jan 2020 00:00:00 GMT] PASSED
456 tests/test_http.py::test_http_date[value9-Wed, 01 Jan 2020 00:00:00 GMT] PASSED
457 tests/test_http.py::test_accept_invalid_float[.5] PASSED
458 tests/test_http.py::test_accept_invalid_float[+0.5] PASSED
459 tests/test_http.py::test_accept_invalid_float[0.5_1] PASSED
460 tests/test_http.py::test_accept_invalid_float[\U0001fbf0.\U0001fbf5] PASSED
461 tests/test_http.py::test_accept_valid_int_one_zero PASSED
462 tests/test_http.py::test_range_invalid_int[\U0001fbf1\U0001fbf2\U0001fbf3] PASSED
463 tests/test_http.py::test_range_invalid_int[+1-] PASSED
464 tests/test_http.py::test_range_invalid_int[1-1_23] PASSED
465 tests/test_http.py::test_content_range_invalid_int[*/\U0001fbf1\U0001fbf2\U0001fbf3] PASSED
466 tests/test_http.py::test_content_range_invalid_int[1-+2/3] PASSED
467 tests/test_http.py::test_content_range_invalid_int[1_23-125/*] PASSED
468 tests/test_internal.py::test_wrapper_internals PASSED
469 tests/test_local.py::test_basic_local PASSED
470 tests/test_local.py::test_basic_local_asyncio PASSED
471 tests/test_local.py::test_local_release PASSED
472 tests/test_local.py::test_local_stack PASSED
473 tests/test_local.py::test_local_stack_asyncio PASSED
474 tests/test_local.py::test_proxy_local PASSED
475 tests/test_local.py::test_proxy_callable PASSED
476 tests/test_local.py::test_proxy_wrapped PASSED
477 tests/test_local.py::test_proxy_doc PASSED
478 tests/test_local.py::test_proxy_fallback PASSED
479 tests/test_local.py::test_proxy_unbound PASSED
480 tests/test_local.py::test_proxy_type PASSED
481 tests/test_local.py::test_proxy_string_representations PASSED
482 tests/test_local.py::test_proxy_hash PASSED
483 tests/test_local.py::test_proxy_binop_int[lt] PASSED
484 tests/test_local.py::test_proxy_binop_int[le] PASSED
485 tests/test_local.py::test_proxy_binop_int[eq] PASSED
486 tests/test_local.py::test_proxy_binop_int[ne] PASSED
487 tests/test_local.py::test_proxy_binop_int[gt] PASSED
488 tests/test_local.py::test_proxy_binop_int[ge] PASSED
489 tests/test_local.py::test_proxy_binop_int[add] PASSED
490 tests/test_local.py::test_proxy_binop_int[sub] PASSED
491 tests/test_local.py::test_proxy_binop_int[mul] PASSED
492 tests/test_local.py::test_proxy_binop_int[truediv] PASSED
493 tests/test_local.py::test_proxy_binop_int[floordiv] PASSED
494 tests/test_local.py::test_proxy_binop_int[mod] PASSED
495 tests/test_local.py::test_proxy_binop_int[divmod] PASSED
496 tests/test_local.py::test_proxy_binop_int[pow] PASSED
497 tests/test_local.py::test_proxy_binop_int[lshift] PASSED
498 tests/test_local.py::test_proxy_binop_int[rshift] PASSED
499 tests/test_local.py::test_proxy_binop_int[and_] PASSED
500 tests/test_local.py::test_proxy_binop_int[or_] PASSED
501 tests/test_local.py::test_proxy_binop_int[xor] PASSED
502 tests/test_local.py::test_proxy_uop_int[neg] PASSED
503 tests/test_local.py::test_proxy_uop_int[pos] PASSED
504 tests/test_local.py::test_proxy_uop_int[abs] PASSED
505 tests/test_local.py::test_proxy_uop_int[invert] PASSED
506 tests/test_local.py::test_proxy_numeric PASSED
507 tests/test_local.py::test_proxy_iop[iadd] PASSED
508 tests/test_local.py::test_proxy_iop[isub] PASSED
509 tests/test_local.py::test_proxy_iop[imul] PASSED
510 tests/test_local.py::test_proxy_iop[imatmul] PASSED
511 tests/test_local.py::test_proxy_iop[itruediv] PASSED
512 tests/test_local.py::test_proxy_iop[ifloordiv] PASSED
513 tests/test_local.py::test_proxy_iop[imod] PASSED
514 tests/test_local.py::test_proxy_iop[ipow] PASSED
515 tests/test_local.py::test_proxy_iop[ilshift] PASSED
516 tests/test_local.py::test_proxy_iop[irshift] PASSED
517 tests/test_local.py::test_proxy_iop[iand] PASSED
518 tests/test_local.py::test_proxy_iop[ior] PASSED
519 tests/test_local.py::test_proxy_iop[ixor] PASSED
520 tests/test_local.py::test_proxy_matmul PASSED
521 tests/test_local.py::test_proxy_str PASSED
522 tests/test_local.py::test_proxy_list PASSED
523 tests/test_local.py::test_proxy_copy PASSED
524 tests/test_local.py::test_proxy_iterator PASSED
525 tests/test_local.py::test_proxy_length_hint PASSED
526 tests/test_local.py::test_proxy_context_manager PASSED
527 tests/test_local.py::test_proxy_class PASSED
528 tests/test_local.py::test_proxy_attributes PASSED
529 tests/test_local.py::test_proxy_await PASSED
530 tests/test_local.py::test_proxy_aiter PASSED
531 tests/test_local.py::test_proxy_async_context_manager PASSED
532 tests/test_routing.py::test_basic_routing PASSED
533 tests/test_routing.py::test_merge_slashes_match PASSED
534 tests/test_routing.py::test_merge_slash_encoding[/merge/%//path-/merge/%25/path] PASSED
535 tests/test_routing.py::test_merge_slash_encoding[/merge//st/path-/merge/st/path] PASSED
536 tests/test_routing.py::test_merge_slashes_build PASSED
537 tests/test_routing.py::test_strict_slashes_redirect PASSED
538 tests/test_routing.py::test_strict_slashes_leaves_dont_consume PASSED
539 tests/test_routing.py::test_environ_defaults PASSED
540 tests/test_routing.py::test_environ_nonascii_pathinfo PASSED
541 tests/test_routing.py::test_basic_building PASSED
542 tests/test_routing.py::test_long_build PASSED
543 tests/test_routing.py::test_defaults PASSED
544 tests/test_routing.py::test_negative PASSED
545 tests/test_routing.py::test_greedy PASSED
546 tests/test_routing.py::test_path PASSED
547 tests/test_routing.py::test_dispatch PASSED
548 tests/test_routing.py::test_http_host_before_server_name PASSED
549 tests/test_routing.py::test_invalid_subdomain_warning PASSED
550 tests/test_routing.py::test_server_name_match_default_port[http://localhost-localhost:80] PASSED
551 tests/test_routing.py::test_server_name_match_default_port[https://localhost-localhost:443] PASSED
552 tests/test_routing.py::test_adapter_url_parameter_sorting PASSED
553 tests/test_routing.py::test_request_direct_charset_bug PASSED
554 tests/test_routing.py::test_request_redirect_default PASSED
555 tests/test_routing.py::test_request_redirect_default_subdomain PASSED
556 tests/test_routing.py::test_adapter_match_return_rule PASSED
557 tests/test_routing.py::test_server_name_interpolation PASSED
558 tests/test_routing.py::test_rule_emptying PASSED
559 tests/test_routing.py::test_rule_unhashable PASSED
560 tests/test_routing.py::test_rule_templates PASSED
561 tests/test_routing.py::test_non_string_parts PASSED
562 tests/test_routing.py::test_complex_routing_rules PASSED
563 tests/test_routing.py::test_default_converters PASSED
564 tests/test_routing.py::test_uuid_converter PASSED
565 tests/test_routing.py::test_converter_with_tuples PASSED
566 tests/test_routing.py::test_nested_regex_groups PASSED
567 tests/test_routing.py::test_anyconverter PASSED
568 tests/test_routing.py::test_any_converter_build_validates_value PASSED
569 tests/test_routing.py::test_part_isolating_default PASSED
570 tests/test_routing.py::test_build_values_dict[int-1-/1] PASSED
571 tests/test_routing.py::test_build_values_dict[int-None-BuildError] PASSED
572 tests/test_routing.py::test_build_values_dict[int-value2-TypeError] PASSED
573 tests/test_routing.py::test_build_values_dict[list-value3-/1] PASSED
574 tests/test_routing.py::test_build_values_dict[list-value4-/1.None.2] PASSED
575 tests/test_routing.py::test_build_values_dict[list-1-TypeError] PASSED
576 tests/test_routing.py::test_build_values_multidict[int-1-/1] PASSED
577 tests/test_routing.py::test_build_values_multidict[int-value1-/1] PASSED
578 tests/test_routing.py::test_build_values_multidict[int-value2-BuildError] PASSED
579 tests/test_routing.py::test_build_values_multidict[int-None-TypeError] PASSED
580 tests/test_routing.py::test_build_values_multidict[int-value4-TypeError] PASSED
581 tests/test_routing.py::test_build_values_multidict[list-1-TypeError] PASSED
582 tests/test_routing.py::test_build_values_multidict[list-value6-TypeError] PASSED
583 tests/test_routing.py::test_build_values_multidict[list-value7-/1] PASSED
584 tests/test_routing.py::test_build_values_multidict[list-value8-/1.None.2] PASSED
585 tests/test_routing.py::test_build_append_unknown_dict[None-] PASSED
586 tests/test_routing.py::test_build_append_unknown_dict[value1-] PASSED
587 tests/test_routing.py::test_build_append_unknown_dict[value2-] PASSED
588 tests/test_routing.py::test_build_append_unknown_dict[-?v=] PASSED
589 tests/test_routing.py::test_build_append_unknown_dict[value4-?v=] PASSED
590 tests/test_routing.py::test_build_append_unknown_dict[0-?v=0] PASSED
591 tests/test_routing.py::test_build_append_unknown_dict[1.0-?v=1.0] PASSED
592 tests/test_routing.py::test_build_append_unknown_dict[value7-?v=1&v=2] PASSED
593 tests/test_routing.py::test_build_append_unknown_dict[value8-?v=1&v=2] PASSED
594 tests/test_routing.py::test_build_append_unknown_dict[value9-?v=1&v=&v=2] PASSED
595 tests/test_routing.py::test_build_append_unknown_dict[1+2-?v=1%2B2] PASSED
596 tests/test_routing.py::test_build_append_unknown_multidict[None-] PASSED
597 tests/test_routing.py::test_build_append_unknown_multidict[value1-] PASSED
598 tests/test_routing.py::test_build_append_unknown_multidict[value2-] PASSED
599 tests/test_routing.py::test_build_append_unknown_multidict[-?v=] PASSED
600 tests/test_routing.py::test_build_append_unknown_multidict[value4-?v=] PASSED
601 tests/test_routing.py::test_build_append_unknown_multidict[0-?v=0] PASSED
602 tests/test_routing.py::test_build_append_unknown_multidict[1.0-?v=1.0] PASSED
603 tests/test_routing.py::test_build_append_unknown_multidict[value7-?v=1&v=2] PASSED
604 tests/test_routing.py::test_build_append_unknown_multidict[value8-?v=1&v=2] PASSED
605 tests/test_routing.py::test_build_append_unknown_multidict[value9-?v=1&v=&v=2] PASSED
606 tests/test_routing.py::test_build_drop_none PASSED
607 tests/test_routing.py::test_method_fallback PASSED
608 tests/test_routing.py::test_implicit_head PASSED
609 tests/test_routing.py::test_pass_str_as_router_methods PASSED
610 tests/test_routing.py::test_protocol_joining_bug PASSED
611 tests/test_routing.py::test_allowed_methods_querying PASSED
612 tests/test_routing.py::test_external_building_with_port PASSED
613 tests/test_routing.py::test_external_building_with_port_bind_to_environ PASSED
614 tests/test_routing.py::test_external_building_with_port_bind_to_environ_wrong_servername PASSED
615 tests/test_routing.py::test_bind_long_idna_name_with_port PASSED
616 tests/test_routing.py::test_converter_parser PASSED
617 tests/test_routing.py::test_alias_redirects PASSED
618 tests/test_routing.py::test_double_defaults[] PASSED
619 tests/test_routing.py::test_double_defaults[/aaa] PASSED
620 tests/test_routing.py::test_host_matching PASSED
621 tests/test_routing.py::test_host_matching_building PASSED
622 tests/test_routing.py::test_server_name_casing PASSED
623 tests/test_routing.py::test_redirect_request_exception_code PASSED
624 tests/test_routing.py::test_redirect_path_quoting PASSED
625 tests/test_routing.py::test_unicode_rules PASSED
626 tests/test_routing.py::test_empty_path_info PASSED
627 tests/test_routing.py::test_both_bind_and_match_path_info_are_none PASSED
628 tests/test_routing.py::test_map_repr PASSED
629 tests/test_routing.py::test_empty_subclass_rules_with_custom_kwargs PASSED
630 tests/test_routing.py::test_finding_closest_match_by_endpoint PASSED
631 tests/test_routing.py::test_finding_closest_match_by_values PASSED
632 tests/test_routing.py::test_finding_closest_match_by_method PASSED
633 tests/test_routing.py::test_finding_closest_match_when_none_exist PASSED
634 tests/test_routing.py::test_error_message_without_suggested_rule PASSED
635 tests/test_routing.py::test_error_message_suggestion PASSED
636 tests/test_routing.py::test_no_memory_leak_from_Rule_builder PASSED
637 tests/test_routing.py::test_build_url_with_arg_self PASSED
638 tests/test_routing.py::test_build_url_with_arg_keyword PASSED
639 tests/test_routing.py::test_build_url_same_endpoint_multiple_hosts PASSED
640 tests/test_routing.py::test_rule_websocket_methods PASSED
641 tests/test_routing.py::test_path_weighting PASSED
642 tests/test_routing.py::test_newline_match PASSED
643 tests/test_routing.py::test_weighting PASSED
644 tests/test_routing.py::test_strict_slashes_false PASSED
645 tests/test_routing.py::test_invalid_rule PASSED
646 tests/test_routing.py::test_multiple_converters_per_part PASSED
647 tests/test_routing.py::test_static_regex_escape PASSED
648 tests/test_routing.py::test_regex PASSED
649 tests/test_security.py::test_default_password_method PASSED
650 tests/test_security.py::test_scrypt PASSED
651 tests/test_security.py::test_pbkdf2 PASSED
652 tests/test_security.py::test_salted_hashes PASSED
653 tests/test_security.py::test_require_salt PASSED
654 tests/test_security.py::test_invalid_method PASSED
655 tests/test_security.py::test_safe_join[b/c-a/b/c] PASSED
656 tests/test_security.py::test_safe_join[../b/c-None] PASSED
657 tests/test_security.py::test_safe_join[b\\c-a/b\\c] PASSED
658 tests/test_security.py::test_safe_join[//b/c-None] PASSED
659 tests/test_security.py::test_safe_join_os_sep PASSED
660 tests/test_security.py::test_safe_join_empty_trusted PASSED
661 tests/test_send_file.py::test_path[path0] PASSED
662 tests/test_send_file.py::test_path[$(@D)/tests/res/index.html] PASSED
663 tests/test_send_file.py::test_x_sendfile PASSED
664 tests/test_send_file.py::test_last_modified PASSED
665 tests/test_send_file.py::test_object[<lambda>0] PASSED
666 tests/test_send_file.py::test_object[<lambda>1] PASSED
667 tests/test_send_file.py::test_object_without_mimetype PASSED
668 tests/test_send_file.py::test_object_mimetype_from_name PASSED
669 tests/test_send_file.py::test_text_mode_fails[<lambda>0] PASSED
670 tests/test_send_file.py::test_text_mode_fails[<lambda>1] PASSED
671 tests/test_send_file.py::test_disposition_name[False-inline] PASSED
672 tests/test_send_file.py::test_disposition_name[True-attachment] PASSED
673 tests/test_send_file.py::test_object_attachment_requires_name PASSED
674 tests/test_send_file.py::test_non_ascii_name[index.html-index.html-None] PASSED
675 tests/test_send_file.py::test_non_ascii_name[\xd1and\xfa\uff0fping\xfcino.txt-"Nandu/pinguino.txt"-%C3%91and%C3%BA%EF%BC%8Fping%C3%BCino.txt] PASSED
676 tests/test_send_file.py::test_non_ascii_name[V\xf6gel.txt-Vogel.txt-V%C3%B6gel.txt] PASSED
677 tests/test_send_file.py::test_non_ascii_name[\u0442\u0435:/\u0441\u0442-":/"-%D1%82%D0%B5%3A%2F%D1%81%D1%82] PASSED
678 tests/test_send_file.py::test_non_ascii_name[(\u0442\u0435\u0441\u0442.txt-"(.txt"-%28%D1%82%D0%B5%D1%81%D1%82.txt] PASSED
679 tests/test_send_file.py::test_non_ascii_name[(test.txt-"(test.txt"-None] PASSED
680 tests/test_send_file.py::test_no_cache_conditional_default PASSED
681 tests/test_send_file.py::test_max_age[0-False] PASSED
682 tests/test_send_file.py::test_max_age[60-True] PASSED
683 tests/test_send_file.py::test_etag PASSED
684 tests/test_send_file.py::test_content_encoding[True] PASSED
685 tests/test_send_file.py::test_content_encoding[False] PASSED
686 tests/test_send_file.py::test_from_directory[$(@D)/tests/res-test.txt] PASSED
687 tests/test_send_file.py::test_from_directory[directory1-path1] PASSED
688 tests/test_send_file.py::test_from_directory_not_found[../res/test.txt] PASSED
689 tests/test_send_file.py::test_from_directory_not_found[nothing.txt] PASSED
690 tests/test_send_file.py::test_from_directory_not_found[null\x00.txt] PASSED
691 tests/test_send_file.py::test_root_path PASSED
692 tests/test_send_file.py::test_max_age_callable PASSED
693 tests/test_serving.py::test_watchdog_reloader_ignores_opened PASSED
694 tests/test_serving.py::test_watchdog_reloader_ignores_closed_no_write PASSED
695 tests/test_serving.py::test_windows_get_args_for_reloading PASSED
696 tests/test_serving.py::test_exclude_patterns[_find_stat_paths] PASSED
697 tests/test_serving.py::test_exclude_patterns[_find_watchdog_paths] PASSED
698 tests/test_serving.py::test_port_is_int PASSED
699 tests/test_test.py::test_cookie_forging PASSED
700 tests/test_test.py::test_set_cookie_app PASSED
701 tests/test_test.py::test_cookiejar_stores_cookie PASSED
702 tests/test_test.py::test_no_initial_cookie PASSED
703 tests/test_test.py::test_resent_cookie PASSED
704 tests/test_test.py::test_disable_cookies PASSED
705 tests/test_test.py::test_cookie_for_different_path PASSED
706 tests/test_test.py::test_cookie_default_path PASSED
707 tests/test_test.py::test_environ_builder_basics PASSED
708 tests/test_test.py::test_environ_builder_data PASSED
709 tests/test_test.py::test_environ_builder_json PASSED
710 tests/test_test.py::test_environ_builder_headers PASSED
711 tests/test_test.py::test_environ_builder_headers_content_type PASSED
712 tests/test_test.py::test_envrion_builder_multiple_headers PASSED
713 tests/test_test.py::test_environ_builder_paths PASSED
714 tests/test_test.py::test_environ_builder_content_type PASSED
715 tests/test_test.py::test_basic_auth PASSED
716 tests/test_test.py::test_auth_object PASSED
717 tests/test_test.py::test_environ_builder_stream_switch PASSED
718 tests/test_test.py::test_environ_builder_unicode_file_mix PASSED
719 tests/test_test.py::test_environ_builder_empty_file PASSED
720 tests/test_test.py::test_create_environ PASSED
721 tests/test_test.py::test_create_environ_query_string_error PASSED
722 tests/test_test.py::test_builder_from_environ PASSED
723 tests/test_test.py::test_file_closing PASSED
724 tests/test_test.py::test_follow_redirect PASSED
725 tests/test_test.py::test_follow_local_redirect PASSED
726 tests/test_test.py::test_follow_redirect_body[302-False] PASSED
727 tests/test_test.py::test_follow_redirect_body[301-False] PASSED
728 tests/test_test.py::test_follow_redirect_body[307-True] PASSED
729 tests/test_test.py::test_follow_redirect_body[308-True] PASSED
730 tests/test_test.py::test_follow_external_redirect PASSED
731 tests/test_test.py::test_follow_external_redirect_on_same_subdomain PASSED
732 tests/test_test.py::test_follow_redirect_loop PASSED
733 tests/test_test.py::test_follow_redirect_non_root_base_url PASSED
734 tests/test_test.py::test_follow_redirect_exhaust_intermediate PASSED
735 tests/test_test.py::test_redirects_are_tracked PASSED
736 tests/test_test.py::test_cookie_across_redirect PASSED
737 tests/test_test.py::test_path_info_script_name_unquoting PASSED
738 tests/test_test.py::test_multi_value_submit PASSED
739 tests/test_test.py::test_iri_support PASSED
740 tests/test_test.py::test_run_wsgi_apps[True-True] PASSED
741 tests/test_test.py::test_run_wsgi_apps[True-False] PASSED
742 tests/test_test.py::test_run_wsgi_apps[False-True] PASSED
743 tests/test_test.py::test_run_wsgi_apps[False-False] PASSED
744 tests/test_test.py::test_lazy_start_response_empty_response_app[True-True] PASSED
745 tests/test_test.py::test_lazy_start_response_empty_response_app[True-False] PASSED
746 tests/test_test.py::test_lazy_start_response_empty_response_app[False-True] PASSED
747 tests/test_test.py::test_lazy_start_response_empty_response_app[False-False] PASSED
748 tests/test_test.py::test_run_wsgi_app_closing_iterator PASSED
749 tests/test_test.py::test_multiple_cookies PASSED
750 tests/test_test.py::test_correct_open_invocation_on_redirect PASSED
751 tests/test_test.py::test_correct_encoding PASSED
752 tests/test_test.py::test_full_url_requests_with_args PASSED
753 tests/test_test.py::test_delete_requests_with_form PASSED
754 tests/test_test.py::test_post_with_file_descriptor PASSED
755 tests/test_test.py::test_content_type PASSED
756 tests/test_test.py::test_raw_request_uri PASSED
757 tests/test_test.py::test_no_content_type_header_addition PASSED
758 tests/test_test.py::test_client_response_wrapper PASSED
759 tests/test_urls.py::test_iri_support PASSED
760 tests/test_urls.py::test_iri_safe_quoting PASSED
761 tests/test_urls.py::test_quoting_of_local_urls PASSED
762 tests/test_urls.py::test_iri_to_uri_idempotence_ascii_only PASSED
763 tests/test_urls.py::test_iri_to_uri_idempotence_non_ascii PASSED
764 tests/test_urls.py::test_uri_to_iri_idempotence_ascii_only PASSED
765 tests/test_urls.py::test_uri_to_iri_idempotence_non_ascii PASSED
766 tests/test_urls.py::test_iri_to_uri_to_iri PASSED
767 tests/test_urls.py::test_uri_to_iri_to_uri PASSED
768 tests/test_urls.py::test_uri_iri_normalization[http://f\xf6\xf1.com/\u2610/fred?utf8=\u2713] PASSED
769 tests/test_urls.py::test_uri_iri_normalization[http://xn--f-rgao.com/\u2610/fred?utf8=\u2713] PASSED
770 tests/test_urls.py::test_uri_iri_normalization[http://xn--f-rgao.com/%E2%98%90/fred?utf8=%E2%9C%93_0] PASSED
771 tests/test_urls.py::test_uri_iri_normalization[http://xn--f-rgao.com/%E2%98%90/fred?utf8=%E2%9C%93_1] PASSED
772 tests/test_urls.py::test_uri_iri_normalization[http://f\xf6\xf1.com/\u2610/fred?utf8=%E2%9C%93] PASSED
773 tests/test_urls.py::test_uri_to_iri_dont_unquote_space PASSED
774 tests/test_urls.py::test_iri_to_uri_dont_quote_valid_code_points PASSED
775 tests/test_urls.py::test_itms_services PASSED
776 tests/test_utils.py::test_redirect[http://example.com-None-http://example.com] PASSED
777 tests/test_utils.py::test_redirect[/f\xfc\xfcb\xe4r-305-/f%C3%BC%C3%BCb%C3%A4r] PASSED
778 tests/test_utils.py::test_redirect[http://\u2603.example.com/-307-http://xn--n3h.example.com/] PASSED
779 tests/test_utils.py::test_redirect[itms-services://?url=abc-None-itms-services://?url=abc] PASSED
780 tests/test_utils.py::test_redirect_xss PASSED
781 tests/test_utils.py::test_redirect_with_custom_response_class PASSED
782 tests/test_utils.py::test_cached_property PASSED
783 tests/test_utils.py::test_can_set_cached_property PASSED
784 tests/test_utils.py::test_invalidate_cached_property PASSED
785 tests/test_utils.py::test_inspect_treats_cached_property_as_property PASSED
786 tests/test_utils.py::test_environ_property PASSED
787 tests/test_utils.py::test_import_string PASSED
788 tests/test_utils.py::test_import_string_provides_traceback PASSED
789 tests/test_utils.py::test_import_string_attribute_error PASSED
790 tests/test_utils.py::test_find_modules PASSED
791 tests/test_utils.py::test_header_set_duplication_bug PASSED
792 tests/test_utils.py::test_append_slash_redirect[False-foo-http://example.org/app-http://example.org/app/foo/] PASSED
793 tests/test_utils.py::test_append_slash_redirect[False-/foo-http://example.org/app-http://example.org/app/foo/] PASSED
794 tests/test_utils.py::test_append_slash_redirect[False-/foo/bar-http://example.org/-http://example.org/foo/bar/] PASSED
795 tests/test_utils.py::test_append_slash_redirect[False-/foo/bar-http://example.org/app-http://example.org/app/foo/bar/] PASSED
796 tests/test_utils.py::test_append_slash_redirect[False-/foo?baz-http://example.org/-http://example.org/foo/?baz] PASSED
797 tests/test_utils.py::test_append_slash_redirect[False-/foo/-http://example.org/-http://example.org/foo/] PASSED
798 tests/test_utils.py::test_append_slash_redirect[False-/foo/-http://example.org/app-http://example.org/app/foo/] PASSED
799 tests/test_utils.py::test_append_slash_redirect[False-/-http://example.org/-http://example.org/] PASSED
800 tests/test_utils.py::test_append_slash_redirect[False-/-http://example.org/app-http://example.org/app/] PASSED
801 tests/test_utils.py::test_append_slash_redirect[True-foo-http://example.org/app-http://example.org/app/foo/] PASSED
802 tests/test_utils.py::test_append_slash_redirect[True-/foo-http://example.org/app-http://example.org/app/foo/] PASSED
803 tests/test_utils.py::test_append_slash_redirect[True-/foo/bar-http://example.org/-http://example.org/foo/bar/] PASSED
804 tests/test_utils.py::test_append_slash_redirect[True-/foo/bar-http://example.org/app-http://example.org/app/foo/bar/] PASSED
805 tests/test_utils.py::test_append_slash_redirect[True-/foo?baz-http://example.org/-http://example.org/foo/?baz] PASSED
806 tests/test_utils.py::test_append_slash_redirect[True-/foo/-http://example.org/-http://example.org/foo/] PASSED
807 tests/test_utils.py::test_append_slash_redirect[True-/foo/-http://example.org/app-http://example.org/app/foo/] PASSED
808 tests/test_utils.py::test_append_slash_redirect[True-/-http://example.org/-http://example.org/] PASSED
809 tests/test_utils.py::test_append_slash_redirect[True-/-http://example.org/app-http://example.org/app/] PASSED
810 tests/test_utils.py::test_cached_property_doc PASSED
811 tests/test_utils.py::test_secure_filename PASSED
812 tests/test_wrappers.py::test_base_request PASSED
813 tests/test_wrappers.py::test_query_string_is_bytes PASSED
814 tests/test_wrappers.py::test_request_repr PASSED
815 tests/test_wrappers.py::test_access_route PASSED
816 tests/test_wrappers.py::test_url_request_descriptors PASSED
817 tests/test_wrappers.py::test_url_request_descriptors_query_quoting PASSED
818 tests/test_wrappers.py::test_url_request_descriptors_hosts PASSED
819 tests/test_wrappers.py::test_authorization PASSED
820 tests/test_wrappers.py::test_authorization_with_unicode PASSED
821 tests/test_wrappers.py::test_request_application PASSED
822 tests/test_wrappers.py::test_request_access_control PASSED
823 tests/test_wrappers.py::test_response_access_control PASSED
824 tests/test_wrappers.py::test_base_response PASSED
825 tests/test_wrappers.py::test_response_set_status_code[200-200 OK] PASSED
826 tests/test_wrappers.py::test_response_set_status_code[404-404 NOT FOUND] PASSED
827 tests/test_wrappers.py::test_response_set_status_code[588-588 UNKNOWN] PASSED
828 tests/test_wrappers.py::test_response_set_status_code[999-999 UNKNOWN] PASSED
829 tests/test_wrappers.py::test_response_set_status[404-404-404 NOT FOUND] PASSED
830 tests/test_wrappers.py::test_response_set_status[588-588-588 UNKNOWN] PASSED
831 tests/test_wrappers.py::test_response_set_status[999-999-999 UNKNOWN] PASSED
832 tests/test_wrappers.py::test_response_set_status[200 OK-200-200 OK] PASSED
833 tests/test_wrappers.py::test_response_set_status[999 WTF-999-999 WTF] PASSED
834 tests/test_wrappers.py::test_response_set_status[wtf-0-0 wtf] PASSED
835 tests/test_wrappers.py::test_response_set_status[200 TEA POT-200-200 TEA POT] PASSED
836 tests/test_wrappers.py::test_response_set_status[200-200-200 OK] PASSED
837 tests/test_wrappers.py::test_response_set_status[400-400-400 BAD REQUEST] PASSED
838 tests/test_wrappers.py::test_response_init_status_empty_string PASSED
839 tests/test_wrappers.py::test_type_forcing PASSED
840 tests/test_wrappers.py::test_accept PASSED
841 tests/test_wrappers.py::test_etag_request PASSED
842 tests/test_wrappers.py::test_user_agent PASSED
843 tests/test_wrappers.py::test_stream_wrapping PASSED
844 tests/test_wrappers.py::test_data_descriptor_triggers_parsing PASSED
845 tests/test_wrappers.py::test_get_data_method_parsing_caching_behavior PASSED
846 tests/test_wrappers.py::test_etag_response PASSED
847 tests/test_wrappers.py::test_etag_response_412 PASSED
848 tests/test_wrappers.py::test_range_request_basic PASSED
849 tests/test_wrappers.py::test_range_request_out_of_bound PASSED
850 tests/test_wrappers.py::test_range_request_with_file PASSED
851 tests/test_wrappers.py::test_range_request_with_complete_file PASSED
852 tests/test_wrappers.py::test_range_request_without_complete_length[None] PASSED
853 tests/test_wrappers.py::test_range_request_without_complete_length[0] PASSED
854 tests/test_wrappers.py::test_invalid_range_request PASSED
855 tests/test_wrappers.py::test_etag_response_freezing PASSED
856 tests/test_wrappers.py::test_authenticate PASSED
857 tests/test_wrappers.py::test_authenticate_quoted_qop PASSED
858 tests/test_wrappers.py::test_response_stream PASSED
859 tests/test_wrappers.py::test_common_response_descriptors PASSED
860 tests/test_wrappers.py::test_common_request_descriptors PASSED
861 tests/test_wrappers.py::test_request_mimetype_always_lowercase PASSED
862 tests/test_wrappers.py::test_shallow_mode PASSED
863 tests/test_wrappers.py::test_form_parsing_failed PASSED
864 tests/test_wrappers.py::test_file_closing PASSED
865 tests/test_wrappers.py::test_file_closing_with PASSED
866 tests/test_wrappers.py::test_response_streamed PASSED
867 tests/test_wrappers.py::test_response_iter_wrapping PASSED
868 tests/test_wrappers.py::test_response_freeze PASSED
869 tests/test_wrappers.py::test_response_content_length_uses_encode PASSED
870 tests/test_wrappers.py::test_other_method_payload PASSED
871 tests/test_wrappers.py::test_urlfication PASSED
872 tests/test_wrappers.py::test_new_response_iterator_behavior PASSED
873 tests/test_wrappers.py::test_form_data_ordering PASSED
874 tests/test_wrappers.py::test_values PASSED
875 tests/test_wrappers.py::test_storage_classes PASSED
876 tests/test_wrappers.py::test_response_headers_passthrough PASSED
877 tests/test_wrappers.py::test_response_304_no_content_length PASSED
878 tests/test_wrappers.py::test_ranges PASSED
879 tests/test_wrappers.py::test_csp PASSED
880 tests/test_wrappers.py::test_auto_content_length PASSED
881 tests/test_wrappers.py::test_stream_content_length PASSED
882 tests/test_wrappers.py::test_disabled_auto_content_length PASSED
883 tests/test_wrappers.py::test_location_header_autocorrect[False-/test-/test] PASSED
884 tests/test_wrappers.py::test_location_header_autocorrect[False-/\\\\test.example?q-/%5C%5Ctest.example?q] PASSED
885 tests/test_wrappers.py::test_location_header_autocorrect[True-/test-http://localhost/test] PASSED
886 tests/test_wrappers.py::test_location_header_autocorrect[True-test-http://localhost/a/b/test] PASSED
887 tests/test_wrappers.py::test_location_header_autocorrect[True-./test-http://localhost/a/b/test] PASSED
888 tests/test_wrappers.py::test_location_header_autocorrect[True-../test-http://localhost/a/test] PASSED
889 tests/test_wrappers.py::test_204_and_1XX_response_has_no_content_length PASSED
890 tests/test_wrappers.py::test_malformed_204_response_has_no_content_length PASSED
891 tests/test_wrappers.py::test_request_method_case_sensitivity PASSED
892 tests/test_wrappers.py::test_write_length PASSED
893 tests/test_wrappers.py::test_stream_zip PASSED
894 tests/test_wrappers.py::TestSetCookie::test_secure PASSED
895 tests/test_wrappers.py::TestSetCookie::test_httponly PASSED
896 tests/test_wrappers.py::TestSetCookie::test_secure_and_httponly PASSED
897 tests/test_wrappers.py::TestSetCookie::test_samesite PASSED
898 tests/test_wrappers.py::TestJSON::test_request PASSED
899 tests/test_wrappers.py::TestJSON::test_response PASSED
900 tests/test_wrappers.py::TestJSON::test_bad_content_type PASSED
901 tests/test_wrappers.py::TestJSON::test_bad_data PASSED
902 tests/test_wrappers.py::TestJSON::test_cache_disabled PASSED
903 tests/test_wrappers.py::test_response_coop PASSED
904 tests/test_wrappers.py::test_response_coep PASSED
905 tests/test_wsgi.py::test_get_host[host] PASSED
906 tests/test_wsgi.py::test_get_host[host, strip http port] PASSED
907 tests/test_wsgi.py::test_get_host[host, strip https port] PASSED
908 tests/test_wsgi.py::test_get_host[host, custom port] PASSED
909 tests/test_wsgi.py::test_get_host[prefer host] PASSED
910 tests/test_wsgi.py::test_get_host[name, ignore http port] PASSED
911 tests/test_wsgi.py::test_get_host[name, ignore https port] PASSED
912 tests/test_wsgi.py::test_get_host[name, custom port] PASSED
913 tests/test_wsgi.py::test_get_host[ignore x-forwarded-host] PASSED
914 tests/test_wsgi.py::test_get_host_validate_trusted_hosts PASSED
915 tests/test_wsgi.py::test_responder PASSED
916 tests/test_wsgi.py::test_path_info_and_script_name_fetching PASSED
917 tests/test_wsgi.py::test_limited_stream PASSED
918 tests/test_wsgi.py::test_limited_stream_json_load PASSED
919 tests/test_wsgi.py::test_limited_stream_disconnection PASSED
920 tests/test_wsgi.py::test_limited_stream_read_with_raw_io PASSED
921 tests/test_wsgi.py::test_get_host_fallback PASSED
922 tests/test_wsgi.py::test_get_current_url_unicode PASSED
923 tests/test_wsgi.py::test_get_current_url_invalid_utf8 PASSED
924 tests/test_wsgi.py::test_range_wrapper PASSED
925 tests/test_wsgi.py::test_closing_iterator PASSED
927 ======== 915 passed, 25 deselected ========