============================= test session starts ==============================
platform sunos5 -- Python $(PYTHON_VERSION).X -- $(PYTHON)
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('$(@D)/.hypothesis/examples'))
rootdir: $(@D)
configfile: pytest.ini
testpaths: tests/
X workers [1483 items]

scheduling tests via LoadScheduling

tests/test_cache.py::test_cache_clear PASSED
tests/test_cache.py::test_cache_configure_None PASSED
tests/test_cache.py::test_cache_configure_None_including_deprecated PASSED
tests/test_cache.py::test_cache_configure_None_only_deprecated PASSED
tests/test_cache.py::test_cache_configure_default PASSED
tests/test_cache.py::test_cache_configure_explicit PASSED
tests/test_cache.py::test_cache_configure_waring PASSED
tests/test_cache.py::test_cache_info PASSED
tests/test_cached_property.py::test_reify PASSED
tests/test_cached_property.py::test_reify_assignment PASSED
tests/test_cached_property.py::test_reify_class PASSED
tests/test_normalize_path.py::test_normalize_path[-] PASSED
tests/test_normalize_path.py::test_normalize_path[../path/to-path/to] PASSED
tests/test_normalize_path.py::test_normalize_path[././path/to-path/to] PASSED
tests/test_normalize_path.py::test_normalize_path[/-/] PASSED
tests/test_normalize_path.py::test_normalize_path[//-//] PASSED
tests/test_normalize_path.py::test_normalize_path[///-///] PASSED
tests/test_normalize_path.py::test_normalize_path[/foo/../../../..bar-/..bar] PASSED
tests/test_normalize_path.py::test_normalize_path[/foo/../../../ton-/ton] PASSED
tests/test_normalize_path.py::test_normalize_path[/path/to/.-/path/to/] PASSED
tests/test_normalize_path.py::test_normalize_path[\u03bc\u03bf\u03bd\u03bf\u03c0\u03ac\u03c4\u03b9/../../\u03bd\u03b1/\U0001d566\U0001d55f\U0001d55a/\U0001d554\U0001d560\U0001d555\U0001d556/.-\u03bd\u03b1/\U0001d566\U0001d55f\U0001d55a/\U0001d554\U0001d560\U0001d555\U0001d556/] PASSED
tests/test_normalize_path.py::test_normalize_path[\u03bc\u03bf\u03bd\u03bf\u03c0\u03ac\u03c4\u03b9/../../\u03bd\u03b1/\u1d1c\u0274\u026a/\u1d04\u1d0f\u1d05\u1d07-\u03bd\u03b1/\u1d1c\u0274\u026a/\u1d04\u1d0f\u1d05\u1d07] PASSED
tests/test_normalize_path.py::test_normalize_path[path-path] PASSED
tests/test_normalize_path.py::test_normalize_path[path/../../to-to] PASSED
tests/test_normalize_path.py::test_normalize_path[path/../to-to] PASSED
tests/test_normalize_path.py::test_normalize_path[path/././to-path/to] PASSED
tests/test_normalize_path.py::test_normalize_path[path/./to-path/to] PASSED
tests/test_normalize_path.py::test_normalize_path[path/to-path/to] PASSED
tests/test_normalize_path.py::test_normalize_path[path/to/.-path/to/] PASSED
tests/test_normalize_path.py::test_normalize_path[path/to/./.-path/to/] PASSED
tests/test_pickle.py::test_default_style_state PASSED
tests/test_pickle.py::test_empty_url_is_not_cached PASSED
tests/test_pickle.py::test_pickle PASSED
tests/test_pickle.py::test_pickle_does_not_pollute_cache PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-"] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-#] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-<] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter->] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-[] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\\] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\n] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\r] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\t] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x00] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x01] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x02] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x03] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x04] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x05] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x06] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x07] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x08] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x0b] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x0c] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x0e] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x0f] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x10] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x11] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x12] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x13] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x14] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x15] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x16] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x17] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x18] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x19] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x1a] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x1b] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x1c] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x1d] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x1e] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x1f] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-\x7f] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-]] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-^] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-`] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-{] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-|] PASSED
tests/test_quoting.py::test_default_quoting[c_quoter-}] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-"] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-#] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-<] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter->] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-[] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\\] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\n] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\r] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\t] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x00] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x01] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x02] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x03] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x04] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x05] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x06] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x07] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x08] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x0b] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x0c] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x0e] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x0f] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x10] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x11] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x12] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x13] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x14] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x15] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x16] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x17] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x18] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x19] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x1a] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x1b] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x1c] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x1d] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x1e] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x1f] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-\x7f] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-]] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-^] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-`] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-{] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-|] PASSED
tests/test_quoting.py::test_default_quoting[py_quoter-}] PASSED
tests/test_quoting.py::test_default_quoting_partial[c_quoter] PASSED
tests/test_quoting.py::test_default_quoting_partial[py_quoter] PASSED
tests/test_quoting.py::test_default_quoting_percent[c_quoter] PASSED
tests/test_quoting.py::test_default_quoting_percent[py_quoter] PASSED
tests/test_quoting.py::test_fuzz__PyQuoter PASSED
tests/test_quoting.py::test_fuzz__PyUnquoter PASSED
tests/test_quoting.py::test_never_quote[c_quoter] PASSED
tests/test_quoting.py::test_never_quote[py_quoter] PASSED
tests/test_quoting.py::test_quote_None[c_quoter] PASSED
tests/test_quoting.py::test_quote_None[py_quoter] PASSED
tests/test_quoting.py::test_quote_all_percent[c_quoter] PASSED
tests/test_quoting.py::test_quote_all_percent[py_quoter] PASSED
tests/test_quoting.py::test_quote_bad_types[c_quoter] PASSED
tests/test_quoting.py::test_quote_bad_types[py_quoter] PASSED
tests/test_quoting.py::test_quote_empty_string[c_quoter] PASSED
tests/test_quoting.py::test_quote_empty_string[py_quoter] PASSED
tests/test_quoting.py::test_quote_ends_with_percent[c_quoter] PASSED
tests/test_quoting.py::test_quote_ends_with_percent[py_quoter] PASSED
tests/test_quoting.py::test_quote_fastpath_pct[c_quoter] PASSED
tests/test_quoting.py::test_quote_fastpath_pct[py_quoter] PASSED
tests/test_quoting.py::test_quote_fastpath_safe[c_quoter] PASSED
tests/test_quoting.py::test_quote_fastpath_safe[py_quoter] PASSED
tests/test_quoting.py::test_quote_from_bytes[c_quoter] PASSED
tests/test_quoting.py::test_quote_from_bytes[py_quoter] PASSED
tests/test_quoting.py::test_quote_ignore_broken_unicode[c_quoter] PASSED
tests/test_quoting.py::test_quote_ignore_broken_unicode[py_quoter] PASSED
tests/test_quoting.py::test_quote_lowercase[c_quoter] PASSED
tests/test_quoting.py::test_quote_lowercase[py_quoter] PASSED
tests/test_quoting.py::test_quote_non_ascii2[c_quoter] PASSED
tests/test_quoting.py::test_quote_non_ascii2[py_quoter] PASSED
tests/test_quoting.py::test_quote_non_ascii[c_quoter] PASSED
tests/test_quoting.py::test_quote_non_ascii[py_quoter] PASSED
tests/test_quoting.py::test_quote_not_allowed_non_strict[c_quoter] PASSED
tests/test_quoting.py::test_quote_not_allowed_non_strict[py_quoter] PASSED
tests/test_quoting.py::test_quote_percent_digit_percent_encoded[c_quoter] PASSED
tests/test_quoting.py::test_quote_percent_digit_percent_encoded[py_quoter] PASSED
tests/test_quoting.py::test_quote_percent_last_character[c_quoter] PASSED
tests/test_quoting.py::test_quote_percent_last_character[py_quoter] PASSED
tests/test_quoting.py::test_quote_percent_non_ascii2_percent_encoded[c_quoter] PASSED
tests/test_quoting.py::test_quote_percent_non_ascii2_percent_encoded[py_quoter] PASSED
tests/test_quoting.py::test_quote_percent_non_ascii3_percent_encoded[c_quoter] PASSED
tests/test_quoting.py::test_quote_percent_non_ascii3_percent_encoded[py_quoter] PASSED
tests/test_quoting.py::test_quote_percent_non_ascii_percent_encoded[c_quoter] PASSED
tests/test_quoting.py::test_quote_percent_non_ascii_percent_encoded[py_quoter] PASSED
tests/test_quoting.py::test_quote_percent_percent_encoded[c_quoter] PASSED
tests/test_quoting.py::test_quote_percent_percent_encoded[py_quoter] PASSED
tests/test_quoting.py::test_quote_percent_safe_percent_encoded[c_quoter] PASSED
tests/test_quoting.py::test_quote_percent_safe_percent_encoded[py_quoter] PASSED
tests/test_quoting.py::test_quote_percent_unsafe_percent_encoded[c_quoter] PASSED
tests/test_quoting.py::test_quote_percent_unsafe_percent_encoded[py_quoter] PASSED
tests/test_quoting.py::test_quote_plus_with_unicode[c_quoter] PASSED
tests/test_quoting.py::test_quote_plus_with_unicode[py_quoter] PASSED
tests/test_quoting.py::test_quote_protected[c_quoter] PASSED
tests/test_quoting.py::test_quote_protected[py_quoter] PASSED
tests/test_quoting.py::test_quote_qs_with_colon[c_quoter] PASSED
tests/test_quoting.py::test_quote_qs_with_colon[py_quoter] PASSED
tests/test_quoting.py::test_quote_space[c_quoter] PASSED
tests/test_quoting.py::test_quote_space[py_quoter] PASSED
tests/test_quoting.py::test_quote_starts_with_percent[c_quoter] PASSED
tests/test_quoting.py::test_quote_starts_with_percent[py_quoter] PASSED
tests/test_quoting.py::test_quote_str_like[c_quoter] PASSED
tests/test_quoting.py::test_quote_str_like[py_quoter] PASSED
tests/test_quoting.py::test_quote_sub_delims[c_quoter] PASSED
tests/test_quoting.py::test_quote_sub_delims[py_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_digit_non_strict[c_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_digit_non_strict[py_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_non_ascii2_non_strict[c_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_non_ascii2_non_strict[py_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_non_ascii3_non_strict[c_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_non_ascii3_non_strict[py_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_non_ascii_non_strict[c_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_non_ascii_non_strict[py_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_percent_non_strict[c_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_percent_non_strict[py_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_safe_non_strict[c_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_safe_non_strict[py_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_unsafe_non_strict[c_quoter] PASSED
tests/test_quoting.py::test_quote_unfinished_tail_unsafe_non_strict[py_quoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter[CUnquoter-CQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter[CUnquoter-PyQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter[PyUnquoter-CQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter[PyUnquoter-PyQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter_path_safe[CUnquoter-CQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter_path_safe[CUnquoter-PyQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter_path_safe[PyUnquoter-CQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter_path_safe[PyUnquoter-PyQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter_requote[CUnquoter-CQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter_requote[CUnquoter-PyQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter_requote[PyUnquoter-CQuoter] PASSED
tests/test_quoting.py::test_quote_unquote_parameter_requote[PyUnquoter-PyQuoter] PASSED
tests/test_quoting.py::test_quote_unquoted[c_quoter] PASSED
tests/test_quoting.py::test_quote_unquoted[py_quoter] PASSED
tests/test_quoting.py::test_quote_very_large_string[c_quoter] PASSED
tests/test_quoting.py::test_quote_very_large_string[py_quoter] PASSED
tests/test_quoting.py::test_quote_with_unicode[c_quoter] PASSED
tests/test_quoting.py::test_quote_with_unicode[py_quoter] PASSED
tests/test_quoting.py::test_quoter_path_with_plus[c_quoter] PASSED
tests/test_quoting.py::test_quoter_path_with_plus[py_quoter] PASSED
tests/test_quoting.py::test_quoting_c_loaded PASSED
tests/test_quoting.py::test_quoting_plus[c_quoter] PASSED
tests/test_quoting.py::test_quoting_plus[py_quoter] PASSED
tests/test_quoting.py::test_quoting_space[c_quoter] PASSED
tests/test_quoting.py::test_quoting_space[py_quoter] PASSED
tests/test_quoting.py::test_requote_sub_delims[c_quoter] PASSED
tests/test_quoting.py::test_requote_sub_delims[py_quoter] PASSED
tests/test_quoting.py::test_safe[c_quoter] PASSED
tests/test_quoting.py::test_safe[py_quoter] PASSED
tests/test_quoting.py::test_space[c_quoter] PASSED
tests/test_quoting.py::test_space[py_quoter] PASSED
tests/test_quoting.py::test_unquote_None[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_None[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_bad_types[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_bad_types[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_empty_string[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_empty_string[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_explict_empty_unsafe[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_explict_empty_unsafe[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_multiple_unsafe[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_multiple_unsafe[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_non_utf8[c_unquoter-%e2%82%2b-%e2%82+] PASSED
tests/test_quoting.py::test_unquote_non_utf8[c_unquoter-%e2%82%e2%82%ac-%e2%82\u20ac] PASSED
tests/test_quoting.py::test_unquote_non_utf8[c_unquoter-%e2%82%e2%82-%e2%82%e2%82] PASSED
tests/test_quoting.py::test_unquote_non_utf8[c_unquoter-%e2%82%f8-%e2%82%f8] PASSED
tests/test_quoting.py::test_unquote_non_utf8[c_unquoter-%e2%82-%e2%82] PASSED
tests/test_quoting.py::test_unquote_non_utf8[c_unquoter-%e2%82ac-%e2%82ac] PASSED
tests/test_quoting.py::test_unquote_non_utf8[py_unquoter-%e2%82%2b-%e2%82+] PASSED
tests/test_quoting.py::test_unquote_non_utf8[py_unquoter-%e2%82%e2%82%ac-%e2%82\u20ac] PASSED
tests/test_quoting.py::test_unquote_non_utf8[py_unquoter-%e2%82%e2%82-%e2%82%e2%82] PASSED
tests/test_quoting.py::test_unquote_non_utf8[py_unquoter-%e2%82%f8-%e2%82%f8] PASSED
tests/test_quoting.py::test_unquote_non_utf8[py_unquoter-%e2%82-%e2%82] PASSED
tests/test_quoting.py::test_unquote_non_utf8[py_unquoter-%e2%82ac-%e2%82ac] PASSED
tests/test_quoting.py::test_unquote_plus_non_utf8[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_plus_non_utf8[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_plus_to_space[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_plus_to_space[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_plus_to_space_unsafe[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_plus_to_space_unsafe[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_str_like[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_str_like[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_to_bytes[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_to_bytes[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe2[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe2[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe3[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe3[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe4[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe4[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe_non_utf8[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_unsafe_non_utf8[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_with_plus_plus_to_space[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_with_plus_plus_to_space[py_unquoter] PASSED
tests/test_quoting.py::test_unquote_without_plus_plus[c_unquoter] PASSED
tests/test_quoting.py::test_unquote_without_plus_plus[py_unquoter] PASSED
tests/test_quoting.py::test_unquoter_path_with_plus[c_unquoter] PASSED
tests/test_quoting.py::test_unquoter_path_with_plus[py_unquoter] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-0] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-100] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-101] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-102] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-103] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-104] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-105] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-106] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-107] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-108] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-109] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-10] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-110] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-111] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-112] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-113] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-114] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-115] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-116] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-117] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-118] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-119] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-11] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-120] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-121] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-122] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-123] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-124] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-125] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-126] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-127] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-12] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-13] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-14] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-15] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-16] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-17] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-18] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-19] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-1] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-20] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-21] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-22] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-23] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-24] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-25] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-26] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-27] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-28] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-29] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-2] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-30] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-31] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-32] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-33] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-34] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-35] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-36] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-37] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-38] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-39] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-3] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-40] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-41] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-42] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-43] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-44] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-45] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-46] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-47] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-48] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-49] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-4] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-50] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-51] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-52] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-53] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-54] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-55] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-56] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-57] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-58] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-59] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-5] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-60] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-61] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-62] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-63] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-64] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-65] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-66] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-67] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-68] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-69] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-6] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-70] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-71] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-72] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-73] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-74] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-75] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-76] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-77] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-78] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-79] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-7] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-80] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-81] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-82] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-83] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-84] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-85] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-86] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-87] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-88] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-89] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-8] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-90] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-91] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-92] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-93] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-94] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-95] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-96] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-97] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-98] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-99] PASSED
tests/test_quoting.py::test_unquoting[c_unquoter-9] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-0] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-100] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-101] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-102] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-103] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-104] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-105] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-106] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-107] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-108] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-109] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-10] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-110] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-111] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-112] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-113] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-114] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-115] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-116] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-117] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-118] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-119] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-11] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-120] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-121] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-122] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-123] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-124] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-125] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-126] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-127] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-12] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-13] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-14] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-15] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-16] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-17] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-18] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-19] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-1] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-20] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-21] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-22] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-23] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-24] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-25] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-26] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-27] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-28] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-29] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-2] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-30] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-31] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-32] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-33] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-34] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-35] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-36] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-37] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-38] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-39] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-3] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-40] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-41] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-42] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-43] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-44] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-45] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-46] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-47] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-48] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-49] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-4] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-50] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-51] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-52] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-53] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-54] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-55] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-56] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-57] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-58] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-59] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-5] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-60] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-61] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-62] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-63] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-64] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-65] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-66] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-67] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-68] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-69] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-6] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-70] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-71] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-72] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-73] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-74] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-75] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-76] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-77] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-78] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-79] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-7] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-80] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-81] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-82] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-83] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-84] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-85] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-86] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-87] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-88] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-89] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-8] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-90] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-91] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-92] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-93] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-94] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-95] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-96] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-97] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-98] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-99] PASSED
tests/test_quoting.py::test_unquoting[py_unquoter-9] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-% 2-% 2] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%%-%%] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%%3f-%?] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%-%] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%2 -%2 ] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%2%-%2%] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%2%3f-%2?] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%2-%2] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%2x-%2x] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%\u20ac%3f-%\u20ac?] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%\u20ac-%\u20ac] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%x%3f-%x?] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%x-%x] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[c_unquoter-%xa-%xa] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-% 2-% 2] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%%-%%] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%%3f-%?] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%-%] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%2 -%2 ] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%2%-%2%] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%2%3f-%2?] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%2-%2] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%2x-%2x] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%\u20ac%3f-%\u20ac?] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%\u20ac-%\u20ac] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%x%3f-%x?] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%x-%x] PASSED
tests/test_quoting.py::test_unquoting_bad_percent_escapes[py_unquoter-%xa-%xa] PASSED
tests/test_quoting.py::test_unquoting_invalid_utf8_sequence[c_unquoter-%AB%AB] XFAIL
tests/test_quoting.py::test_unquoting_invalid_utf8_sequence[c_unquoter-%AB] XFAIL
tests/test_quoting.py::test_unquoting_invalid_utf8_sequence[py_unquoter-%AB%AB] XFAIL
tests/test_quoting.py::test_unquoting_invalid_utf8_sequence[py_unquoter-%AB] XFAIL
tests/test_quoting.py::test_unquoting_mixed_case_percent_escapes[c_unquoter] PASSED
tests/test_quoting.py::test_unquoting_mixed_case_percent_escapes[py_unquoter] PASSED
tests/test_quoting.py::test_unquoting_parts[c_unquoter] PASSED
tests/test_quoting.py::test_unquoting_parts[py_unquoter] PASSED
tests/test_quoting.py::test_unquoting_plus[c_unquoter] PASSED
tests/test_quoting.py::test_unquoting_plus[py_unquoter] PASSED
tests/test_quoting_benchmarks.py::test_long_query SKIPPED
tests/test_quoting_benchmarks.py::test_long_query_with_pct SKIPPED
tests/test_quoting_benchmarks.py::test_quote_long_path SKIPPED
tests/test_quoting_benchmarks.py::test_quote_query_string SKIPPED
tests/test_quoting_benchmarks.py::test_quoter_ascii SKIPPED
tests/test_quoting_benchmarks.py::test_quoter_pct SKIPPED
tests/test_quoting_benchmarks.py::test_quoter_quote_utf8 SKIPPED
tests/test_quoting_benchmarks.py::test_unquoter_long_ascii SKIPPED
tests/test_quoting_benchmarks.py::test_unquoter_long_pct SKIPPED
tests/test_quoting_benchmarks.py::test_unquoter_short SKIPPED
tests/test_update_query.py::test_extend_query PASSED
tests/test_update_query.py::test_extend_query_existing_keys PASSED
tests/test_update_query.py::test_extend_query_with_args_and_kwargs PASSED
tests/test_update_query.py::test_extend_query_with_args_and_kwargs_with_existing PASSED
tests/test_update_query.py::test_extend_query_with_empty_dict PASSED
tests/test_update_query.py::test_extend_query_with_multiple_args PASSED
tests/test_update_query.py::test_extend_query_with_non_ascii PASSED
tests/test_update_query.py::test_extend_query_with_non_ascii_as_str PASSED
tests/test_update_query.py::test_extend_query_with_non_ascii_same_key PASSED
tests/test_update_query.py::test_extend_query_with_none_arg PASSED
tests/test_update_query.py::test_update_query PASSED
tests/test_update_query.py::test_update_query_multiple_keys PASSED
tests/test_update_query.py::test_update_query_with_args_and_kwargs PASSED
tests/test_update_query.py::test_update_query_with_empty_dict PASSED
tests/test_update_query.py::test_update_query_with_mod_operator PASSED
tests/test_update_query.py::test_update_query_with_multiple_args PASSED
tests/test_update_query.py::test_update_query_with_non_ascii PASSED
tests/test_update_query.py::test_update_query_with_non_ascii_as_str PASSED
tests/test_update_query.py::test_update_query_with_none_arg PASSED
tests/test_update_query.py::test_with_class_that_implements__int__ PASSED
tests/test_update_query.py::test_with_float_enum PASSED
tests/test_update_query.py::test_with_int_enum PASSED
tests/test_update_query.py::test_with_multidict_with_spaces_and_non_ascii PASSED
tests/test_update_query.py::test_with_query PASSED
tests/test_update_query.py::test_with_query_None PASSED
tests/test_update_query.py::test_with_query_bad_type PASSED
tests/test_update_query.py::test_with_query_bytearray PASSED
tests/test_update_query.py::test_with_query_bytes PASSED
tests/test_update_query.py::test_with_query_complex_url PASSED
tests/test_update_query.py::test_with_query_empty_dict PASSED
tests/test_update_query.py::test_with_query_empty_str PASSED
tests/test_update_query.py::test_with_query_empty_value PASSED
tests/test_update_query.py::test_with_query_int PASSED
tests/test_update_query.py::test_with_query_invalid_type[NaN float] PASSED
tests/test_update_query.py::test_with_query_invalid_type[bool] PASSED
tests/test_update_query.py::test_with_query_invalid_type[non-finite float] PASSED
tests/test_update_query.py::test_with_query_invalid_type[none] PASSED
tests/test_update_query.py::test_with_query_kwargs PASSED
tests/test_update_query.py::test_with_query_kwargs_and_args_are_mutually_exclusive PASSED
tests/test_update_query.py::test_with_query_kwargs_int PASSED
tests/test_update_query.py::test_with_query_list_int PASSED
tests/test_update_query.py::test_with_query_list_invalid_type[bool] PASSED
tests/test_update_query.py::test_with_query_list_invalid_type[none] PASSED
tests/test_update_query.py::test_with_query_list_non_pairs PASSED
tests/test_update_query.py::test_with_query_list_of_pairs PASSED
tests/test_update_query.py::test_with_query_list_valid_type[custom float] PASSED
tests/test_update_query.py::test_with_query_list_valid_type[custom int] PASSED
tests/test_update_query.py::test_with_query_list_valid_type[custom str] PASSED
tests/test_update_query.py::test_with_query_list_valid_type[float] PASSED
tests/test_update_query.py::test_with_query_list_valid_type[int] PASSED
tests/test_update_query.py::test_with_query_list_valid_type[str] PASSED
tests/test_update_query.py::test_with_query_memoryview PASSED
tests/test_update_query.py::test_with_query_multidict PASSED
tests/test_update_query.py::test_with_query_multidict_with_unsafe PASSED
tests/test_update_query.py::test_with_query_only PASSED
tests/test_update_query.py::test_with_query_only_single_arg_is_supported PASSED
tests/test_update_query.py::test_with_query_params[mapping ampersand] PASSED
tests/test_update_query.py::test_with_query_params[mapping quote key] PASSED
tests/test_update_query.py::test_with_query_params[mapping semicolon] PASSED
tests/test_update_query.py::test_with_query_params[quote many key braces] PASSED
tests/test_update_query.py::test_with_query_params[quote one key braces] PASSED
tests/test_update_query.py::test_with_query_params[tuple list ampersand] PASSED
tests/test_update_query.py::test_with_query_params[tuple list quote key] PASSED
tests/test_update_query.py::test_with_query_params[tuple list semicolon] PASSED
tests/test_update_query.py::test_with_query_sequence[ampersand then int] PASSED
tests/test_update_query.py::test_with_query_sequence[empty list] PASSED
tests/test_update_query.py::test_with_query_sequence[empty tuple] PASSED
tests/test_update_query.py::test_with_query_sequence[int then ampersand] PASSED
tests/test_update_query.py::test_with_query_sequence[key with braces] PASSED
tests/test_update_query.py::test_with_query_sequence[list then single] PASSED
tests/test_update_query.py::test_with_query_sequence[list] PASSED
tests/test_update_query.py::test_with_query_sequence[mixed types] PASSED
tests/test_update_query.py::test_with_query_sequence[quote key and value] PASSED
tests/test_update_query.py::test_with_query_sequence[quote key] PASSED
tests/test_update_query.py::test_with_query_sequence[single list] PASSED
tests/test_update_query.py::test_with_query_sequence[single then list] PASSED
tests/test_update_query.py::test_with_query_sequence[single tuple] PASSED
tests/test_update_query.py::test_with_query_sequence[tuple] PASSED
tests/test_update_query.py::test_with_query_sequence_invalid_use[nested] PASSED
tests/test_update_query.py::test_with_query_sequence_invalid_use[tuple list] PASSED
tests/test_update_query.py::test_with_query_str PASSED
tests/test_update_query.py::test_with_query_str_non_ascii_and_spaces PASSED
tests/test_update_query.py::test_with_query_valid_type[custom float] PASSED
tests/test_update_query.py::test_with_query_valid_type[custom int] PASSED
tests/test_update_query.py::test_with_query_valid_type[custom str] PASSED
tests/test_update_query.py::test_with_query_valid_type[float] PASSED
tests/test_update_query.py::test_with_query_valid_type[int] PASSED
tests/test_update_query.py::test_with_query_valid_type[str] PASSED
tests/test_url.py::test_abs_cmp PASSED
tests/test_url.py::test_abs_hash PASSED
tests/test_url.py::test_absolute_url_without_host PASSED
tests/test_url.py::test_authority_full PASSED
tests/test_url.py::test_authority_full_nonasci PASSED
tests/test_url.py::test_authority_short PASSED
tests/test_url.py::test_authority_unknown_scheme PASSED
tests/test_url.py::test_bool PASSED
tests/test_url.py::test_build_with_invalid_ipv6_host[other_gen_delim_[-False] PASSED
tests/test_url.py::test_build_with_invalid_ipv6_host[other_gen_delim_]-False] PASSED
tests/test_url.py::test_bytes PASSED
tests/test_url.py::test_clear_fragment_on_getting_parent PASSED
tests/test_url.py::test_clear_fragment_on_getting_parent_toplevel PASSED
tests/test_url.py::test_clear_query_on_getting_parent PASSED
tests/test_url.py::test_clear_query_on_getting_parent_toplevel PASSED
tests/test_url.py::test_compressed_ipv6 PASSED
tests/test_url.py::test_control_chars_are_removed[ ] PASSED
tests/test_url.py::test_control_chars_are_removed[\n] PASSED
tests/test_url.py::test_control_chars_are_removed[\r] PASSED
tests/test_url.py::test_control_chars_are_removed[\t] PASSED
tests/test_url.py::test_control_chars_are_removed[\x00] PASSED
tests/test_url.py::test_control_chars_are_removed[\x01] PASSED
tests/test_url.py::test_control_chars_are_removed[\x02] PASSED
tests/test_url.py::test_control_chars_are_removed[\x03] PASSED
tests/test_url.py::test_control_chars_are_removed[\x04] PASSED
tests/test_url.py::test_control_chars_are_removed[\x05] PASSED
tests/test_url.py::test_control_chars_are_removed[\x06] PASSED
tests/test_url.py::test_control_chars_are_removed[\x07] PASSED
tests/test_url.py::test_control_chars_are_removed[\x08] PASSED
tests/test_url.py::test_control_chars_are_removed[\x0b] PASSED
tests/test_url.py::test_control_chars_are_removed[\x0c] PASSED
tests/test_url.py::test_control_chars_are_removed[\x0e] PASSED
tests/test_url.py::test_control_chars_are_removed[\x0f] PASSED
tests/test_url.py::test_control_chars_are_removed[\x10] PASSED
tests/test_url.py::test_control_chars_are_removed[\x11] PASSED
tests/test_url.py::test_control_chars_are_removed[\x12] PASSED
tests/test_url.py::test_control_chars_are_removed[\x13] PASSED
tests/test_url.py::test_control_chars_are_removed[\x14] PASSED
tests/test_url.py::test_control_chars_are_removed[\x15] PASSED
tests/test_url.py::test_control_chars_are_removed[\x16] PASSED
tests/test_url.py::test_control_chars_are_removed[\x17] PASSED
tests/test_url.py::test_control_chars_are_removed[\x18] PASSED
tests/test_url.py::test_control_chars_are_removed[\x19] PASSED
tests/test_url.py::test_control_chars_are_removed[\x1a] PASSED
tests/test_url.py::test_control_chars_are_removed[\x1b] PASSED
tests/test_url.py::test_control_chars_are_removed[\x1c] PASSED
tests/test_url.py::test_control_chars_are_removed[\x1d] PASSED
tests/test_url.py::test_control_chars_are_removed[\x1e] PASSED
tests/test_url.py::test_control_chars_are_removed[\x1f] PASSED
tests/test_url.py::test_decode_pct_in_path PASSED
tests/test_url.py::test_decode_pct_in_path_lower_case PASSED
tests/test_url.py::test_decoding_with_26_and_3D_in_query PASSED
tests/test_url.py::test_decoding_with_2F_in_path PASSED
tests/test_url.py::test_div PASSED
tests/test_url.py::test_div_bad_type PASSED
tests/test_url.py::test_div_cleanup_query_and_fragment PASSED
tests/test_url.py::test_div_for_empty_url PASSED
tests/test_url.py::test_div_for_relative_url PASSED
tests/test_url.py::test_div_for_relative_url_started_with_slash PASSED
tests/test_url.py::test_div_non_ascii PASSED
tests/test_url.py::test_div_path_srting_subclass PASSED
tests/test_url.py::test_div_path_starting_from_slash_is_forbidden PASSED
tests/test_url.py::test_div_percent_encoded PASSED
tests/test_url.py::test_div_root PASSED
tests/test_url.py::test_div_root_with_slash PASSED
tests/test_url.py::test_div_with_colon_and_at PASSED
tests/test_url.py::test_div_with_dots PASSED
tests/test_url.py::test_div_with_slash PASSED
tests/test_url.py::test_double_parent_raw_path PASSED
tests/test_url.py::test_drop_dots PASSED
tests/test_url.py::test_empty_authority PASSED
tests/test_url.py::test_empty_parent_raw_path PASSED
tests/test_url.py::test_empty_parent_raw_path2 PASSED
tests/test_url.py::test_empty_password_without_user PASSED
tests/test_url.py::test_empty_value_for_query PASSED
tests/test_url.py::test_explicit_port_for_explicit_port PASSED
tests/test_url.py::test_explicit_port_for_implicit_port PASSED
tests/test_url.py::test_explicit_port_for_relative_url PASSED
tests/test_url.py::test_explicit_port_for_unknown_scheme PASSED
tests/test_url.py::test_explicit_zero_port PASSED
tests/test_url.py::test_fragment_non_ascii PASSED
tests/test_url.py::test_fragment_only_url PASSED
tests/test_url.py::test_from_ascii_fragment PASSED
tests/test_url.py::test_from_ascii_login PASSED
tests/test_url.py::test_from_ascii_login_and_password PASSED
tests/test_url.py::test_from_ascii_path PASSED
tests/test_url.py::test_from_ascii_path_lower_case PASSED
tests/test_url.py::test_from_ascii_query_parts PASSED
tests/test_url.py::test_from_bytes_with_non_ascii_fragment PASSED
tests/test_url.py::test_from_idna PASSED
tests/test_url.py::test_from_non_allowed PASSED
tests/test_url.py::test_from_non_ascii_login PASSED
tests/test_url.py::test_from_non_ascii_login_and_password PASSED
tests/test_url.py::test_from_non_ascii_path PASSED
tests/test_url.py::test_from_non_ascii_query_parts PASSED
tests/test_url.py::test_from_non_ascii_query_parts2 PASSED
tests/test_url.py::test_handling_port_zero PASSED
tests/test_url.py::test_host_non_ascii PASSED
tests/test_url.py::test_host_port_subcomponent[/-None] PASSED
tests/test_url.py::test_host_port_subcomponent[http://[::1]-[::1]] PASSED
tests/test_url.py::test_host_port_subcomponent[http://[::1]:8080-[::1]:8080] PASSED
tests/test_url.py::test_host_port_subcomponent[http://example.com-example.com] PASSED
tests/test_url.py::test_host_port_subcomponent[http://example.com.-example.com] PASSED
tests/test_url.py::test_host_port_subcomponent[http://example.com:80-example.com] PASSED
tests/test_url.py::test_host_port_subcomponent[http://example.com:8080-example.com:8080] PASSED
tests/test_url.py::test_host_port_subcomponent[http://xn--gnter-4ya.com-xn--gnter-4ya.com] PASSED
tests/test_url.py::test_host_port_subcomponent[https://example.com.-example.com] PASSED
tests/test_url.py::test_host_subcomponent[[::1]] PASSED
tests/test_url.py::test_host_subcomponent[example.com] PASSED
tests/test_url.py::test_host_subcomponent[xn--gnter-4ya.com] PASSED
tests/test_url.py::test_host_subcomponent_return_idna_encoded_host PASSED
tests/test_url.py::test_host_with_underscore PASSED
tests/test_url.py::test_human_repr PASSED
tests/test_url.py::test_human_repr_default_port PASSED
tests/test_url.py::test_human_repr_defaults PASSED
tests/test_url.py::test_human_repr_delimiters PASSED
tests/test_url.py::test_human_repr_ipv6 PASSED
tests/test_url.py::test_human_repr_non_printable PASSED
tests/test_url.py::test_inheritance PASSED
tests/test_url.py::test_invalid_idna_a_label_encoding PASSED
tests/test_url.py::test_invalid_idna_hyphen_encoding PASSED
tests/test_url.py::test_ipfuture_brackets_not_allowed PASSED
tests/test_url.py::test_ipv4_brackets_not_allowed PASSED
tests/test_url.py::test_ipv4_zone PASSED
tests/test_url.py::test_ipv6_missing_left_bracket PASSED
tests/test_url.py::test_ipv6_missing_right_bracket PASSED
tests/test_url.py::test_is PASSED
tests/test_url.py::test_is_absolute_for_absolute_url PASSED
tests/test_url.py::test_is_absolute_for_relative_url PASSED
tests/test_url.py::test_is_absolute_path_starting_from_double_slash PASSED
tests/test_url.py::test_is_default_port_for_absolute_url_with_default_port PASSED
tests/test_url.py::test_is_default_port_for_absolute_url_with_nondefault_port PASSED
tests/test_url.py::test_is_default_port_for_absolute_url_without_port PASSED
tests/test_url.py::test_is_default_port_for_relative_url PASSED
tests/test_url.py::test_is_default_port_for_unknown_scheme PASSED
tests/test_url.py::test_is_non_absolute_for_empty_url PASSED
tests/test_url.py::test_is_non_absolute_for_empty_url2 PASSED
tests/test_url.py::test_join PASSED
tests/test_url.py::test_join_absolute PASSED
tests/test_url.py::test_join_cpython_urljoin[-http://a/./g-http://a/./g] PASSED
tests/test_url.py::test_join_cpython_urljoin[-http://a/b/c/g?y/./x-http://a/b/c/g?y/./x] PASSED
tests/test_url.py::test_join_cpython_urljoin[a-b-b] PASSED
tests/test_url.py::test_join_cpython_urljoin[a/-b-a/b] PASSED
tests/test_url.py::test_join_cpython_urljoin[a/b-c-a/c] PASSED
tests/test_url.py::test_join_cpython_urljoin[a/b/-c-a/b/c] PASSED
tests/test_url.py::test_join_cpython_urljoin[http:///-..-http:///] PASSED
tests/test_url.py::test_join_cpython_urljoin[http://a/b/-../../f/g/-http://a/f/g/] PASSED
tests/test_url.py::test_join_cpython_urljoin[http://a/b/c/d/-foo-http://a/b/c/d/foo] PASSED
tests/test_url.py::test_join_cpython_urljoin[http://a/b/c/d/e-../../f/g/-http://a/b/f/g/] PASSED
tests/test_url.py::test_join_cpython_urljoin[http://a/b/c/d/e-/../../f/g/-http://a/f/g/] PASSED
tests/test_url.py::test_join_cpython_urljoin[http://a/b/c/d/e/-../../f/g-http://a/b/c/f/g] PASSED
tests/test_url.py::test_join_cpython_urljoin[http://a/b/c/d/e/-../../f/g/-http://a/b/c/f/g/] PASSED
tests/test_url.py::test_join_cpython_urljoin[http://a/b/c/d/e/-/../../f/g/-http://a/f/g/] PASSED
tests/test_url.py::test_join_cpython_urljoin[http://example.com-http://example.com-http://example.com] PASSED
tests/test_url.py::test_join_cpython_urljoin[http://x.org-https://x.org#fragment-https://x.org#fragment] PASSED
tests/test_url.py::test_join_cpython_urljoin[https://x.org/-/?text=Hello+G%C3%BCnter-https://x.org/?text=Hello+G%C3%BCnter] PASSED
tests/test_url.py::test_join_cpython_urljoin[https://x.org/-?text=Hello+G%C3%BCnter-https://x.org/?text=Hello+G%C3%BCnter] PASSED
tests/test_url.py::test_join_cpython_urljoin[svn+ssh://pathtorepo/dir1-dir2-svn+ssh://pathtorepo/dir2] PASSED
tests/test_url.py::test_join_cpython_urljoin[svn://pathtorepo/dir1-dir2-svn://pathtorepo/dir2] PASSED
tests/test_url.py::test_join_cpython_urljoin[ws://a/b-g-ws://a/g] PASSED
tests/test_url.py::test_join_cpython_urljoin[wss://a/b-g-wss://a/g] PASSED
tests/test_url.py::test_join_empty_segments[https://web.archive.org/web/-./https://github.com/aio-libs/yarl-https://web.archive.org/web/https://github.com/aio-libs/yarl] PASSED
tests/test_url.py::test_join_empty_segments[https://web.archive.org/web/https://github.com/-aio-libs/yarl-https://web.archive.org/web/https://github.com/aio-libs/yarl] PASSED
tests/test_url.py::test_join_encoded_url PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[../../../../g-http://a/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[../../../g-http://a/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[..g-http://a/b/c/..g] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[./../g-http://a/b/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[./g/.-http://a/b/c/g/] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[.g-http://a/b/c/.g] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[/../g-http://a/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[/./g-http://a/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g#s/../x-http://a/b/c/g#s/../x] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g#s/./x-http://a/b/c/g#s/./x] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g.-http://a/b/c/g.] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g..-http://a/b/c/g..] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g/../h-http://a/b/c/h] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g/./h-http://a/b/c/g/h] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g;x=1/../y-http://a/b/c/y] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g;x=1/./y-http://a/b/c/g;x=1/y] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g?y/../x-http://a/b/c/g?y/../x] PASSED
tests/test_url.py::test_join_from_rfc_3986_abnormal[g?y/./x-http://a/b/c/g?y/./x] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[#s-http://a/b/c/d;p?q#s] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[-http://a/b/c/d;p?q] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[.-http://a/b/c/] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[..-http://a/b/] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[../-http://a/b/] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[../..-http://a/] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[../../-http://a/] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[../../g-http://a/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[../g-http://a/b/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[./-http://a/b/c/] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[./g-http://a/b/c/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[//g-http://g] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[/g-http://a/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[;x-http://a/b/c/;x] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[?y-http://a/b/c/d;p?y] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[g#s-http://a/b/c/g#s] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[g-http://a/b/c/g] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[g/-http://a/b/c/g/] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[g:h-g:h] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[g;x-http://a/b/c/g;x] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[g;x?y#s-http://a/b/c/g;x?y#s] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[g?y#s-http://a/b/c/g?y#s] PASSED
tests/test_url.py::test_join_from_rfc_3986_normal[g?y-http://a/b/c/g?y] PASSED
tests/test_url.py::test_join_non_url PASSED
tests/test_url.py::test_join_path_normalized[-] PASSED
tests/test_url.py::test_join_path_normalized[../path/to-path/to] PASSED
tests/test_url.py::test_join_path_normalized[././path/to-path/to] PASSED
tests/test_url.py::test_join_path_normalized[\u03bc\u03bf\u03bd\u03bf\u03c0\u03ac\u03c4\u03b9/../../\u03bd\u03b1/\U0001d566\U0001d55f\U0001d55a/\U0001d554\U0001d560\U0001d555\U0001d556/.-\u03bd\u03b1/\U0001d566\U0001d55f\U0001d55a/\U0001d554\U0001d560\U0001d555\U0001d556/] PASSED
tests/test_url.py::test_join_path_normalized[\u03bc\u03bf\u03bd\u03bf\u03c0\u03ac\u03c4\u03b9/../../\u03bd\u03b1/\u1d1c\u0274\u026a/\u1d04\u1d0f\u1d05\u1d07-\u03bd\u03b1/\u1d1c\u0274\u026a/\u1d04\u1d0f\u1d05\u1d07] PASSED
tests/test_url.py::test_join_path_normalized[path-path] PASSED
tests/test_url.py::test_join_path_normalized[path/../../to-to] PASSED
tests/test_url.py::test_join_path_normalized[path/../to-to] PASSED
tests/test_url.py::test_join_path_normalized[path/././to-path/to] PASSED
tests/test_url.py::test_join_path_normalized[path/./to-path/to] PASSED
tests/test_url.py::test_join_path_normalized[path/to-path/to] PASSED
tests/test_url.py::test_join_path_normalized[path/to/.-path/to/] PASSED
tests/test_url.py::test_join_path_normalized[path/to/./.-path/to/] PASSED
tests/test_url.py::test_join_preserves_leading_slash PASSED
tests/test_url.py::test_join_query_string PASSED
tests/test_url.py::test_join_query_string_with_special_chars PASSED
tests/test_url.py::test_joinpath[base-slash-duplicate-slash] PASSED
tests/test_url.py::test_joinpath[base-slash-empty-segments] PASSED
tests/test_url.py::test_joinpath[base-slash-trailing-slash] PASSED
tests/test_url.py::test_joinpath[cleanup-query-and-fragment] PASSED
tests/test_url.py::test_joinpath[duplicate-slash] PASSED
tests/test_url.py::test_joinpath[empty-segments] PASSED
tests/test_url.py::test_joinpath[path-add-trailing-slash] PASSED
tests/test_url.py::test_joinpath[path-with-slash] PASSED
tests/test_url.py::test_joinpath[path] PASSED
tests/test_url.py::test_joinpath[root-with-slash] PASSED
tests/test_url.py::test_joinpath[root] PASSED
tests/test_url.py::test_joinpath[trailing-slash-empty-string] PASSED
tests/test_url.py::test_joinpath[trailing-slash] PASSED
tests/test_url.py::test_joinpath_backtrack_to_base PASSED
tests/test_url.py::test_joinpath_edgecases[with-colon-and-at] PASSED
tests/test_url.py::test_joinpath_edgecases[with-dots] PASSED
tests/test_url.py::test_joinpath_empty_segments[backtrack-in-both] PASSED
tests/test_url.py::test_joinpath_empty_segments[default_default] PASSED
tests/test_url.py::test_joinpath_empty_segments[default_embedded-empty-segment] PASSED
tests/test_url.py::test_joinpath_empty_segments[default_empty-segment] PASSED
tests/test_url.py::test_joinpath_empty_segments[default_relative] PASSED
tests/test_url.py::test_joinpath_empty_segments[default_trailing-empty-segment] PASSED
tests/test_url.py::test_joinpath_empty_segments[default_trailing-empty-segments] PASSED
tests/test_url.py::test_joinpath_empty_segments[empty-segment_default] PASSED
tests/test_url.py::test_joinpath_empty_segments[empty-segment_empty_segment] PASSED
tests/test_url.py::test_joinpath_empty_segments[empty-segment_relative] PASSED
tests/test_url.py::test_joinpath_empty_segments[empty-segments_default] PASSED
tests/test_url.py::test_joinpath_empty_segments[empty-segments_empty-segment] PASSED
tests/test_url.py::test_joinpath_empty_segments[empty-segments_relative] PASSED
tests/test_url.py::test_joinpath_empty_segments[long-backtrack-with-dots] PASSED
tests/test_url.py::test_joinpath_empty_segments[long-backtrack] PASSED
tests/test_url.py::test_joinpath_encoding[encoded-percent-encoded] PASSED
tests/test_url.py::test_joinpath_encoding[non-ascii] PASSED
tests/test_url.py::test_joinpath_encoding[percent-encoded] PASSED
tests/test_url.py::test_joinpath_path_starting_from_slash_is_forbidden PASSED
tests/test_url.py::test_joinpath_relative[absolute-path] PASSED
tests/test_url.py::test_joinpath_relative[duplicate-slash] PASSED
tests/test_url.py::test_joinpath_relative[empty-element] PASSED
tests/test_url.py::test_joinpath_relative[empty-segments] PASSED
tests/test_url.py::test_joinpath_relative[empty-url] PASSED
tests/test_url.py::test_joinpath_relative[relative-path] PASSED
tests/test_url.py::test_joinpath_relative[trailing-slash] PASSED
tests/test_url.py::test_joinpath_single_empty_segments PASSED
tests/test_url.py::test_localhost PASSED
tests/test_url.py::test_lowercase PASSED
tests/test_url.py::test_lowercase_nonascii PASSED
tests/test_url.py::test_lowercase_scheme PASSED
tests/test_url.py::test_name_for_empty_url PASSED
tests/test_url.py::test_name_non_ascii PASSED
tests/test_url.py::test_no_scheme PASSED
tests/test_url.py::test_no_scheme2 PASSED
tests/test_url.py::test_no_user PASSED
tests/test_url.py::test_nonascii_in_qs PASSED
tests/test_url.py::test_none_value_for_query PASSED
tests/test_url.py::test_origin PASSED
tests/test_url.py::test_origin_ipv6 PASSED
tests/test_url.py::test_origin_is_equal_to_self PASSED
tests/test_url.py::test_origin_no_scheme PASSED
tests/test_url.py::test_origin_nonascii PASSED
tests/test_url.py::test_origin_not_absolute_url PASSED
tests/test_url.py::test_origin_with_no_auth PASSED
tests/test_url.py::test_parent_for_absolute_url PASSED
tests/test_url.py::test_parent_for_empty_url PASSED
tests/test_url.py::test_parent_for_no_netloc_url PASSED
tests/test_url.py::test_parent_for_relative_url PASSED
tests/test_url.py::test_parent_for_relative_url_with_child PASSED
tests/test_url.py::test_parent_for_top_level_absolute_url PASSED
tests/test_url.py::test_parent_for_top_level_no_netloc_url PASSED
tests/test_url.py::test_parent_raw_parts PASSED
tests/test_url.py::test_parent_raw_path PASSED
tests/test_url.py::test_parsing_populates_cache PASSED
tests/test_url.py::test_parsing_populates_cache_for_single_dot PASSED
tests/test_url.py::test_parts_for_empty_url PASSED
tests/test_url.py::test_parts_non_ascii PASSED
tests/test_url.py::test_password_non_ascii PASSED
tests/test_url.py::test_password_without_user PASSED
tests/test_url.py::test_path_non_ascii PASSED
tests/test_url.py::test_path_qs PASSED
tests/test_url.py::test_path_safe_only_round_trips[m%252B@bar/baz] PASSED
tests/test_url.py::test_path_safe_only_round_trips[m%2B@bar/baz] PASSED
tests/test_url.py::test_path_safe_only_round_trips[m%2F@bar/baz] PASSED
tests/test_url.py::test_path_safe_only_round_trips[m+@bar/baz] PASSED
tests/test_url.py::test_path_safe_with_25 PASSED
tests/test_url.py::test_path_safe_with_2F PASSED
tests/test_url.py::test_path_safe_with_no_netloc PASSED
tests/test_url.py::test_path_with_2F PASSED
tests/test_url.py::test_path_with_spaces PASSED
tests/test_url.py::test_percent_encoded_in_qs PASSED
tests/test_url.py::test_plus_in_path PASSED
tests/test_url.py::test_port_for_explicit_port PASSED
tests/test_url.py::test_port_for_implicit_port PASSED
tests/test_url.py::test_port_for_relative_url PASSED
tests/test_url.py::test_port_for_unknown_scheme PASSED
tests/test_url.py::test_query_string_non_ascii PASSED
tests/test_url.py::test_query_string_spaces PASSED
tests/test_url.py::test_raw_fragment PASSED
tests/test_url.py::test_raw_fragment_empty PASSED
tests/test_url.py::test_raw_fragment_non_ascii PASSED
tests/test_url.py::test_raw_fragment_safe PASSED
tests/test_url.py::test_raw_host PASSED
tests/test_url.py::test_raw_host_from_str_with_ipv4 PASSED
tests/test_url.py::test_raw_host_from_str_with_ipv6 PASSED
tests/test_url.py::test_raw_host_non_ascii PASSED
tests/test_url.py::test_raw_host_when_port_is_specified PASSED
tests/test_url.py::test_raw_name PASSED
tests/test_url.py::test_raw_name_root PASSED
tests/test_url.py::test_raw_name_root2 PASSED
tests/test_url.py::test_raw_name_root3 PASSED
tests/test_url.py::test_raw_parts PASSED
tests/test_url.py::test_raw_parts_empty PASSED
tests/test_url.py::test_raw_parts_for_relative_double_path PASSED
tests/test_url.py::test_raw_parts_for_relative_path PASSED
tests/test_url.py::test_raw_parts_for_relative_path_starting_from_slash PASSED
tests/test_url.py::test_raw_parts_non_ascii PASSED
tests/test_url.py::test_raw_parts_without_path PASSED
tests/test_url.py::test_raw_password PASSED
tests/test_url.py::test_raw_password_non_ascii PASSED
tests/test_url.py::test_raw_path PASSED
tests/test_url.py::test_raw_path_for_colon_and_at PASSED
tests/test_url.py::test_raw_path_for_empty_url PASSED
tests/test_url.py::test_raw_path_non_ascii PASSED
tests/test_url.py::test_raw_path_parts_with_2F_in_path PASSED
tests/test_url.py::test_raw_path_parts_with_2f_in_path PASSED
tests/test_url.py::test_raw_path_qs PASSED
tests/test_url.py::test_raw_path_string_empty PASSED
tests/test_url.py::test_raw_query_string PASSED
tests/test_url.py::test_raw_query_string_non_ascii PASSED
tests/test_url.py::test_raw_suffix PASSED
tests/test_url.py::test_raw_suffix_root PASSED
tests/test_url.py::test_raw_suffix_root2 PASSED
tests/test_url.py::test_raw_suffix_root3 PASSED
tests/test_url.py::test_raw_suffixes PASSED
tests/test_url.py::test_raw_suffixes_root PASSED
tests/test_url.py::test_raw_suffixes_root2 PASSED
tests/test_url.py::test_raw_suffixes_root3 PASSED
tests/test_url.py::test_raw_user PASSED
tests/test_url.py::test_raw_user_non_ascii PASSED
tests/test_url.py::test_relative PASSED
tests/test_url.py::test_relative_abs_parts_are_removed PASSED
tests/test_url.py::test_relative_fails_on_rel_url PASSED
tests/test_url.py::test_relative_is_relative PASSED
tests/test_url.py::test_relative_raw_name PASSED
tests/test_url.py::test_relative_raw_name_slash PASSED
tests/test_url.py::test_relative_raw_name_starting_from_slash PASSED
tests/test_url.py::test_relative_raw_suffix PASSED
tests/test_url.py::test_relative_raw_suffix_dot PASSED
tests/test_url.py::test_relative_raw_suffix_starting_from_slash PASSED
tests/test_url.py::test_relative_raw_suffixes PASSED
tests/test_url.py::test_relative_raw_suffixes_dot PASSED
tests/test_url.py::test_relative_raw_suffixes_starting_from_slash PASSED
tests/test_url.py::test_relative_url_populates_cache PASSED
tests/test_url.py::test_repr PASSED
tests/test_url.py::test_requoting PASSED
tests/test_url.py::test_scheme PASSED
tests/test_url.py::test_slash_and_question_in_fragment PASSED
tests/test_url.py::test_slash_and_question_in_query PASSED
tests/test_url.py::test_split_result_encoded PASSED
tests/test_url.py::test_split_result_non_decoded PASSED
tests/test_url.py::test_str PASSED
tests/test_url.py::test_str_encoded PASSED
tests/test_url.py::test_str_for_empty_url PASSED
tests/test_url.py::test_str_subclass PASSED
tests/test_url.py::test_subclassed_str_encoded PASSED
tests/test_url.py::test_suffix_for_empty_url PASSED
tests/test_url.py::test_suffix_multi_dot PASSED
tests/test_url.py::test_suffix_non_ascii PASSED
tests/test_url.py::test_suffix_with_dot_name PASSED
tests/test_url.py::test_suffix_with_empty_name PASSED
tests/test_url.py::test_suffixes_for_empty_url PASSED
tests/test_url.py::test_suffixes_multi_dot PASSED
tests/test_url.py::test_suffixes_non_ascii PASSED
tests/test_url.py::test_suffixes_with_dot_name PASSED
tests/test_url.py::test_suffixes_with_empty_name PASSED
tests/test_url.py::test_to_idna PASSED
tests/test_url.py::test_to_str PASSED
tests/test_url.py::test_to_str_long PASSED
tests/test_url.py::test_unsafe_url_bytes_are_removed[\n] PASSED
tests/test_url.py::test_unsafe_url_bytes_are_removed[\r] PASSED
tests/test_url.py::test_unsafe_url_bytes_are_removed[\t] PASSED
tests/test_url.py::test_url_from_url PASSED
tests/test_url.py::test_url_is_not_str PASSED
tests/test_url.py::test_url_with_invalid_unicode[\u2100] PASSED
tests/test_url.py::test_url_with_invalid_unicode[\ufe13] PASSED
tests/test_url.py::test_url_with_invalid_unicode[\uff03] PASSED
tests/test_url.py::test_user_empty_password PASSED
tests/test_url.py::test_user_non_ascii PASSED
tests/test_url.py::test_with_fragment PASSED
tests/test_url.py::test_with_fragment_None PASSED
tests/test_url.py::test_with_fragment_None_matching PASSED
tests/test_url.py::test_with_fragment_bad_type PASSED
tests/test_url.py::test_with_fragment_matching PASSED
tests/test_url.py::test_with_fragment_non_ascii PASSED
tests/test_url.py::test_with_fragment_percent_encoded PASSED
tests/test_url.py::test_with_fragment_safe PASSED
tests/test_url.py::test_with_name PASSED
tests/test_url.py::test_with_name_dot PASSED
tests/test_url.py::test_with_name_double_dot PASSED
tests/test_url.py::test_with_name_empty PASSED
tests/test_url.py::test_with_name_for_naked_path PASSED
tests/test_url.py::test_with_name_for_relative_path PASSED
tests/test_url.py::test_with_name_for_relative_path2 PASSED
tests/test_url.py::test_with_name_for_relative_path_starting_from_slash PASSED
tests/test_url.py::test_with_name_for_relative_path_starting_from_slash2 PASSED
tests/test_url.py::test_with_name_keep_query_keep_fragment_flags[all] PASSED
tests/test_url.py::test_with_name_keep_query_keep_fragment_flags[fragment-only] PASSED
tests/test_url.py::test_with_name_keep_query_keep_fragment_flags[none] PASSED
tests/test_url.py::test_with_name_keep_query_keep_fragment_flags[query-only] PASSED
tests/test_url.py::test_with_name_non_ascii PASSED
tests/test_url.py::test_with_name_non_str PASSED
tests/test_url.py::test_with_name_percent_encoded PASSED
tests/test_url.py::test_with_name_with_slash PASSED
tests/test_url.py::test_with_name_within_colon_and_at PASSED
tests/test_url.py::test_with_path PASSED
tests/test_url.py::test_with_path_dots PASSED
tests/test_url.py::test_with_path_empty PASSED
tests/test_url.py::test_with_path_encoded PASSED
tests/test_url.py::test_with_path_encoded_nonascii PASSED
tests/test_url.py::test_with_path_encoded_percent_encoded PASSED
tests/test_url.py::test_with_path_fragment PASSED
tests/test_url.py::test_with_path_keep_query_keep_fragment_flags[all] PASSED
tests/test_url.py::test_with_path_keep_query_keep_fragment_flags[fragment-only] PASSED
tests/test_url.py::test_with_path_keep_query_keep_fragment_flags[none] PASSED
tests/test_url.py::test_with_path_keep_query_keep_fragment_flags[query-only] PASSED
tests/test_url.py::test_with_path_leading_slash PASSED
tests/test_url.py::test_with_path_nonascii PASSED
tests/test_url.py::test_with_path_percent_encoded PASSED
tests/test_url.py::test_with_path_query PASSED
tests/test_url.py::test_with_path_relative PASSED
tests/test_url.py::test_with_suffix PASSED
tests/test_url.py::test_with_suffix_dot PASSED
tests/test_url.py::test_with_suffix_empty PASSED
tests/test_url.py::test_with_suffix_encoded_suffix PASSED
tests/test_url.py::test_with_suffix_encoded_url PASSED
tests/test_url.py::test_with_suffix_for_naked_path PASSED
tests/test_url.py::test_with_suffix_for_relative_path PASSED
tests/test_url.py::test_with_suffix_for_relative_path2 PASSED
tests/test_url.py::test_with_suffix_for_relative_path_starting_from_slash PASSED
tests/test_url.py::test_with_suffix_for_relative_path_starting_from_slash2 PASSED
tests/test_url.py::test_with_suffix_keep_query_keep_fragment_flags[all] PASSED
tests/test_url.py::test_with_suffix_keep_query_keep_fragment_flags[fragment-only] PASSED
tests/test_url.py::test_with_suffix_keep_query_keep_fragment_flags[none] PASSED
tests/test_url.py::test_with_suffix_keep_query_keep_fragment_flags[query-only] PASSED
tests/test_url.py::test_with_suffix_non_ascii PASSED
tests/test_url.py::test_with_suffix_non_str PASSED
tests/test_url.py::test_with_suffix_percent_encoded PASSED
tests/test_url.py::test_with_suffix_replace PASSED
tests/test_url.py::test_with_suffix_with_slash PASSED
tests/test_url.py::test_with_suffix_with_slash2 PASSED
tests/test_url.py::test_with_suffix_without_dot PASSED
tests/test_url_benchmarks.py::test_empty_path SKIPPED
tests/test_url_benchmarks.py::test_empty_path_safe SKIPPED
tests/test_url_benchmarks.py::test_empty_path_safe_uncached SKIPPED
tests/test_url_benchmarks.py::test_empty_path_uncached SKIPPED
tests/test_url_benchmarks.py::test_empty_query SKIPPED
tests/test_url_benchmarks.py::test_empty_query_string SKIPPED
tests/test_url_benchmarks.py::test_empty_query_string_uncached SKIPPED
tests/test_url_benchmarks.py::test_empty_raw_path_qs SKIPPED
tests/test_url_benchmarks.py::test_empty_raw_path_qs_uncached SKIPPED
tests/test_url_benchmarks.py::test_extend_query_subclassed_str SKIPPED
tests/test_url_benchmarks.py::test_human_repr SKIPPED
tests/test_url_benchmarks.py::test_is_default_port SKIPPED
tests/test_url_benchmarks.py::test_parse_query_uncached[long] SKIPPED
tests/test_url_benchmarks.py::test_parse_query_uncached[short] SKIPPED
tests/test_url_benchmarks.py::test_path_safe SKIPPED
tests/test_url_benchmarks.py::test_path_safe_uncached SKIPPED
tests/test_url_benchmarks.py::test_query SKIPPED
tests/test_url_benchmarks.py::test_query_string SKIPPED
tests/test_url_benchmarks.py::test_raw_host_empty_cache SKIPPED
tests/test_url_benchmarks.py::test_raw_path_qs SKIPPED
tests/test_url_benchmarks.py::test_raw_path_qs_uncached SKIPPED
tests/test_url_benchmarks.py::test_raw_path_qs_with_query SKIPPED
tests/test_url_benchmarks.py::test_raw_path_qs_with_query_uncached SKIPPED
tests/test_url_benchmarks.py::test_update_query_empty SKIPPED
tests/test_url_benchmarks.py::test_update_query_mapping SKIPPED
tests/test_url_benchmarks.py::test_update_query_mapping_with_existing_query SKIPPED
tests/test_url_benchmarks.py::test_update_query_none SKIPPED
tests/test_url_benchmarks.py::test_update_query_sequence_mapping SKIPPED
tests/test_url_benchmarks.py::test_update_query_string SKIPPED
tests/test_url_benchmarks.py::test_url_build_access_fragment SKIPPED
tests/test_url_benchmarks.py::test_url_build_access_raw_host SKIPPED
tests/test_url_benchmarks.py::test_url_build_access_raw_path SKIPPED
tests/test_url_benchmarks.py::test_url_build_access_username_password SKIPPED
tests/test_url_benchmarks.py::test_url_build_encoded_with_host_and_port SKIPPED
tests/test_url_benchmarks.py::test_url_build_no_netloc SKIPPED
tests/test_url_benchmarks.py::test_url_build_no_netloc_relative SKIPPED
tests/test_url_benchmarks.py::test_url_build_with_different_hosts SKIPPED
tests/test_url_benchmarks.py::test_url_build_with_host SKIPPED
tests/test_url_benchmarks.py::test_url_build_with_host_and_port SKIPPED
tests/test_url_benchmarks.py::test_url_build_with_host_path_and_port SKIPPED
tests/test_url_benchmarks.py::test_url_build_with_simple_query SKIPPED
tests/test_url_benchmarks.py::test_url_equality SKIPPED
tests/test_url_benchmarks.py::test_url_extend_query_existing_query_simple_query_dict SKIPPED
tests/test_url_benchmarks.py::test_url_extend_query_existing_query_string SKIPPED
tests/test_url_benchmarks.py::test_url_extend_query_simple_query_dict SKIPPED
tests/test_url_benchmarks.py::test_url_hash SKIPPED
tests/test_url_benchmarks.py::test_url_host_port_subcomponent SKIPPED
tests/test_url_benchmarks.py::test_url_join SKIPPED
tests/test_url_benchmarks.py::test_url_joinpath SKIPPED
tests/test_url_benchmarks.py::test_url_joinpath_encoded SKIPPED
tests/test_url_benchmarks.py::test_url_joinpath_encoded_long SKIPPED
tests/test_url_benchmarks.py::test_url_joinpath_with_truediv SKIPPED
tests/test_url_benchmarks.py::test_url_make_access_fragment SKIPPED
tests/test_url_benchmarks.py::test_url_make_access_raw_host SKIPPED
tests/test_url_benchmarks.py::test_url_make_access_raw_path SKIPPED
tests/test_url_benchmarks.py::test_url_make_access_username_password SKIPPED
tests/test_url_benchmarks.py::test_url_make_empty_password SKIPPED
tests/test_url_benchmarks.py::test_url_make_empty_username SKIPPED
tests/test_url_benchmarks.py::test_url_make_encoded_with_host_path_and_port SKIPPED
tests/test_url_benchmarks.py::test_url_make_no_netloc SKIPPED
tests/test_url_benchmarks.py::test_url_make_no_netloc_relative SKIPPED
tests/test_url_benchmarks.py::test_url_make_with_host_and_path SKIPPED
tests/test_url_benchmarks.py::test_url_make_with_host_path_and_port SKIPPED
tests/test_url_benchmarks.py::test_url_make_with_ipv4_address_and_path SKIPPED
tests/test_url_benchmarks.py::test_url_make_with_ipv4_address_path_and_port SKIPPED
tests/test_url_benchmarks.py::test_url_make_with_ipv6_address_and_path SKIPPED
tests/test_url_benchmarks.py::test_url_make_with_ipv6_address_path_and_port SKIPPED
tests/test_url_benchmarks.py::test_url_make_with_many_hosts SKIPPED
tests/test_url_benchmarks.py::test_url_make_with_many_ipv4_hosts SKIPPED
tests/test_url_benchmarks.py::test_url_make_with_many_ipv6_hosts SKIPPED
tests/test_url_benchmarks.py::test_url_origin SKIPPED
tests/test_url_benchmarks.py::test_url_origin_with_user_pass SKIPPED
tests/test_url_benchmarks.py::test_url_to_string SKIPPED
tests/test_url_benchmarks.py::test_url_with_fragment SKIPPED
tests/test_url_benchmarks.py::test_url_with_host SKIPPED
tests/test_url_benchmarks.py::test_url_with_name SKIPPED
tests/test_url_benchmarks.py::test_url_with_password SKIPPED
tests/test_url_benchmarks.py::test_url_with_path SKIPPED
tests/test_url_benchmarks.py::test_url_with_path_origin SKIPPED
tests/test_url_benchmarks.py::test_url_with_path_parent SKIPPED
tests/test_url_benchmarks.py::test_url_with_path_relative SKIPPED
tests/test_url_benchmarks.py::test_url_with_path_to_string SKIPPED
tests/test_url_benchmarks.py::test_url_with_port SKIPPED
tests/test_url_benchmarks.py::test_url_with_query_to_string SKIPPED
tests/test_url_benchmarks.py::test_url_with_scheme SKIPPED
tests/test_url_benchmarks.py::test_url_with_user SKIPPED
tests/test_url_benchmarks.py::test_with_query_empty SKIPPED
tests/test_url_benchmarks.py::test_with_query_mapping SKIPPED
tests/test_url_benchmarks.py::test_with_query_mapping_int_values SKIPPED
tests/test_url_benchmarks.py::test_with_query_none SKIPPED
tests/test_url_benchmarks.py::test_with_query_sequence_mapping SKIPPED
tests/test_url_build.py::test_build_already_encoded PASSED
tests/test_url_build.py::test_build_already_encoded_empty_host PASSED
tests/test_url_build.py::test_build_already_encoded_username_password PASSED
tests/test_url_build.py::test_build_drop_dots PASSED
tests/test_url_build.py::test_build_encode PASSED
tests/test_url_build.py::test_build_path_quoting PASSED
tests/test_url_build.py::test_build_percent_encoded PASSED
tests/test_url_build.py::test_build_query_only PASSED
tests/test_url_build.py::test_build_query_quoting PASSED
tests/test_url_build.py::test_build_simple PASSED
tests/test_url_build.py::test_build_uppercase_host PASSED
tests/test_url_build.py::test_build_with_all PASSED
tests/test_url_build.py::test_build_with_authority PASSED
tests/test_url_build.py::test_build_with_authority_and_host PASSED
tests/test_url_build.py::test_build_with_authority_and_only_user PASSED
tests/test_url_build.py::test_build_with_authority_empty_host_no_scheme PASSED
tests/test_url_build.py::test_build_with_authority_no_leading_flash PASSED
tests/test_url_build.py::test_build_with_authority_percent_encoded PASSED
tests/test_url_build.py::test_build_with_authority_percent_encoded_already_encoded PASSED
tests/test_url_build.py::test_build_with_authority_with_empty_path PASSED
tests/test_url_build.py::test_build_with_authority_with_ipv6 PASSED
tests/test_url_build.py::test_build_with_authority_with_ipv6_and_port PASSED
tests/test_url_build.py::test_build_with_authority_with_path_with_leading_slash PASSED
tests/test_url_build.py::test_build_with_authority_with_path_without_leading_slash PASSED
tests/test_url_build.py::test_build_with_authority_with_port PASSED
tests/test_url_build.py::test_build_with_authority_without_encoding PASSED
tests/test_url_build.py::test_build_with_host PASSED
tests/test_url_build.py::test_build_with_invalid_host[host:com-False] PASSED
tests/test_url_build.py::test_build_with_invalid_host[not_percent_encoded%Zf-False] PASSED
tests/test_url_build.py::test_build_with_invalid_host[other_gen_delim_#-False] PASSED
tests/test_url_build.py::test_build_with_invalid_host[other_gen_delim_/-False] PASSED
tests/test_url_build.py::test_build_with_invalid_host[other_gen_delim_?-False] PASSED
tests/test_url_build.py::test_build_with_invalid_host[other_gen_delim_[-False] PASSED
tests/test_url_build.py::test_build_with_invalid_host[other_gen_delim_]-False] PASSED
tests/test_url_build.py::test_build_with_invalid_host[still_not_percent_encoded%fZ-False] PASSED
tests/test_url_build.py::test_build_with_invalid_host[user:pass@host.com-True] PASSED
tests/test_url_build.py::test_build_with_invalid_host[user@host.com-True] PASSED
tests/test_url_build.py::test_build_with_none_fragment PASSED
tests/test_url_build.py::test_build_with_none_host PASSED
tests/test_url_build.py::test_build_with_none_path PASSED
tests/test_url_build.py::test_build_with_none_query_string PASSED
tests/test_url_build.py::test_build_with_port[port-only] PASSED
tests/test_url_build.py::test_build_with_port[port-str] PASSED
tests/test_url_build.py::test_build_with_query_and_query_string PASSED
tests/test_url_build.py::test_build_with_scheme PASSED
tests/test_url_build.py::test_build_with_scheme_and_host PASSED
tests/test_url_build.py::test_build_with_user PASSED
tests/test_url_build.py::test_build_with_user_password PASSED
tests/test_url_build.py::test_build_without_arguments PASSED
tests/test_url_build.py::test_query_dict PASSED
tests/test_url_build.py::test_query_str PASSED
tests/test_url_build.py::test_url_build_ipv6 PASSED
tests/test_url_build.py::test_url_build_ipv6_brackets_encoded PASSED
tests/test_url_build.py::test_url_build_ipv6_brackets_not_encoded PASSED
tests/test_url_build.py::test_url_ipv4_in_ipv6 PASSED
tests/test_url_cmp_and_hash.py::test_eq PASSED
tests/test_url_cmp_and_hash.py::test_ge_eq PASSED
tests/test_url_cmp_and_hash.py::test_ge_more PASSED
tests/test_url_cmp_and_hash.py::test_ge_not_implemented PASSED
tests/test_url_cmp_and_hash.py::test_gt PASSED
tests/test_url_cmp_and_hash.py::test_gt_not_implemented PASSED
tests/test_url_cmp_and_hash.py::test_hash PASSED
tests/test_url_cmp_and_hash.py::test_hash_double_call PASSED
tests/test_url_cmp_and_hash.py::test_le_eq PASSED
tests/test_url_cmp_and_hash.py::test_le_less PASSED
tests/test_url_cmp_and_hash.py::test_le_not_implemented PASSED
tests/test_url_cmp_and_hash.py::test_lt PASSED
tests/test_url_cmp_and_hash.py::test_lt_not_implemented PASSED
tests/test_url_cmp_and_hash.py::test_ne_str PASSED
tests/test_url_parsing.py::TestFragment::test_complex_frag PASSED
tests/test_url_parsing.py::TestFragment::test_host_frag PASSED
tests/test_url_parsing.py::TestFragment::test_host_frag_query PASSED
tests/test_url_parsing.py::TestFragment::test_scheme_frag PASSED
tests/test_url_parsing.py::TestFragment::test_scheme_path_frag PASSED
tests/test_url_parsing.py::TestFragment::test_scheme_query_frag PASSED
tests/test_url_parsing.py::TestFragment::test_simple PASSED
tests/test_url_parsing.py::TestHost::test_absolute_no_scheme PASSED
tests/test_url_parsing.py::TestHost::test_absolute_no_scheme_complex_host PASSED
tests/test_url_parsing.py::TestHost::test_absolute_no_scheme_simple_host PASSED
tests/test_url_parsing.py::TestHost::test_canonical PASSED
tests/test_url_parsing.py::TestHost::test_ipv4 PASSED
tests/test_url_parsing.py::TestHost::test_ipv6 PASSED
tests/test_url_parsing.py::TestHost::test_ipvfuture_address PASSED
tests/test_url_parsing.py::TestHost::test_no_scheme_no_host PASSED
tests/test_url_parsing.py::TestHost::test_scheme_no_host PASSED
tests/test_url_parsing.py::TestHost::test_scheme_no_host2 PASSED
tests/test_url_parsing.py::TestHost::test_weird_host PASSED
tests/test_url_parsing.py::TestPort::test_another_bad_port PASSED
tests/test_url_parsing.py::TestPort::test_bad_port PASSED
tests/test_url_parsing.py::TestPort::test_bad_port_again PASSED
tests/test_url_parsing.py::TestPort::test_canonical PASSED
tests/test_url_parsing.py::TestPort::test_double_port PASSED
tests/test_url_parsing.py::TestPort::test_no_host PASSED
tests/test_url_parsing.py::TestPort::test_no_path PASSED
tests/test_url_parsing.py::TestQuery_String::test_abs_url_path_query PASSED
tests/test_url_parsing.py::TestQuery_String::test_abs_url_query PASSED
tests/test_url_parsing.py::TestQuery_String::test_complex_query PASSED
tests/test_url_parsing.py::TestQuery_String::test_double_question_mark PASSED
tests/test_url_parsing.py::TestQuery_String::test_query_in_fragment PASSED
tests/test_url_parsing.py::TestQuery_String::test_scheme_query PASSED
tests/test_url_parsing.py::TestQuery_String::test_simple PASSED
tests/test_url_parsing.py::TestScheme::test_complex_scheme PASSED
tests/test_url_parsing.py::TestScheme::test_no_scheme1 PASSED
tests/test_url_parsing.py::TestScheme::test_no_scheme2 PASSED
tests/test_url_parsing.py::TestScheme::test_not_a_scheme1 PASSED
tests/test_url_parsing.py::TestScheme::test_not_a_scheme2 PASSED
tests/test_url_parsing.py::TestScheme::test_scheme_only PASSED
tests/test_url_parsing.py::TestScheme::test_scheme_path PASSED
tests/test_url_parsing.py::TestScheme::test_scheme_path_other PASSED
tests/test_url_parsing.py::TestScheme::test_scheme_rel_path1 PASSED
tests/test_url_parsing.py::TestScheme::test_scheme_rel_path2 PASSED
tests/test_url_parsing.py::TestScheme::test_scheme_weird PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_all_empty PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_all_empty_http PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_empty_path PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_empty_path_only PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_empty_port PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_empty_port_and_path PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_empty_query PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_empty_query_with_frag PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_empty_query_with_path PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_empty_user PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_path PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_path_empty_frag PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_path_only PASSED
tests/test_url_parsing.py::TestStripEmptyParts::test_relative_path_only PASSED
tests/test_url_parsing.py::TestUserInfo::test_canonical PASSED
tests/test_url_parsing.py::TestUserInfo::test_complex_userinfo PASSED
tests/test_url_parsing.py::TestUserInfo::test_no_user PASSED
tests/test_url_parsing.py::TestUserInfo::test_user_pass PASSED
tests/test_url_parsing.py::TestUserInfo::test_weird_user PASSED
tests/test_url_parsing.py::TestUserInfo::test_weird_user2 PASSED
tests/test_url_parsing.py::TestUserInfo::test_weird_user3 PASSED
tests/test_url_parsing.py::test_schemes_that_require_host[ftp] PASSED
tests/test_url_parsing.py::test_schemes_that_require_host[http] PASSED
tests/test_url_parsing.py::test_schemes_that_require_host[https] PASSED
tests/test_url_parsing.py::test_schemes_that_require_host[ws] PASSED
tests/test_url_parsing.py::test_schemes_that_require_host[wss] PASSED
tests/test_url_parsing.py::test_url_round_trips[http://127.0.0.1:8080-127.0.0.1-127.0.0.1] PASSED
tests/test_url_parsing.py::test_url_round_trips[http://[::1]-[::1]-::1] PASSED
tests/test_url_parsing.py::test_url_round_trips[http://[::1]:8080-[::1]-::1] PASSED
tests/test_url_parsing.py::test_url_round_trips[http://xn--jxagkqfkduily1i.eu-xn--jxagkqfkduily1i.eu-xn--jxagkqfkduily1i.eu] PASSED
tests/test_url_query.py::test_query_basic_parsing[original_url0-expected_query0] PASSED
tests/test_url_query.py::test_query_basic_parsing[original_url1-expected_query1] PASSED
tests/test_url_query.py::test_query_basic_parsing[original_url2-expected_query2] PASSED
tests/test_url_query.py::test_query_basic_parsing[original_url3-expected_query3] PASSED
tests/test_url_query.py::test_query_basic_parsing[original_url4-expected_query4] PASSED
tests/test_url_query.py::test_query_basic_parsing[original_url5-expected_query5] PASSED
tests/test_url_query.py::test_query_basic_parsing[original_url6-expected_query6] PASSED
tests/test_url_query.py::test_query_basic_parsing[original_url7-expected_query7] PASSED
tests/test_url_query.py::test_query_basic_update_query[original_url0-expected_query0] PASSED
tests/test_url_query.py::test_query_basic_update_query[original_url1-expected_query1] PASSED
tests/test_url_query.py::test_query_basic_update_query[original_url2-expected_query2] PASSED
tests/test_url_query.py::test_query_basic_update_query[original_url3-expected_query3] PASSED
tests/test_url_query.py::test_query_basic_update_query[original_url4-expected_query4] PASSED
tests/test_url_query.py::test_query_basic_update_query[original_url5-expected_query5] PASSED
tests/test_url_query.py::test_query_basic_update_query[original_url6-expected_query6] PASSED
tests/test_url_query.py::test_query_basic_update_query[original_url7-expected_query7] PASSED
tests/test_url_query.py::test_query_dont_unqoute_twice PASSED
tests/test_url_query.py::test_query_from_empty_update_query[original_url0-2-10] PASSED
tests/test_url_query.py::test_query_from_empty_update_query[original_url1-1-10&b=20] PASSED
tests/test_url_query.py::test_query_from_empty_update_query[original_url2-1-10;b=20] PASSED
tests/test_url_query.py::test_query_from_empty_update_query[original_url3-1-10;b=20] PASSED
tests/test_url_query.py::test_query_from_empty_update_query[original_url4-1-10&b=20] PASSED
tests/test_url_query.py::test_query_from_empty_update_query[original_url5-1-10;b=20] PASSED
tests/test_url_query.py::test_query_separators_from_parsing[original_url0-2-10] PASSED
tests/test_url_query.py::test_query_separators_from_parsing[original_url1-1-10&b=20] PASSED
tests/test_url_query.py::test_query_separators_from_parsing[original_url2-1-10;b=20] PASSED
tests/test_url_query.py::test_query_separators_from_parsing[original_url3-1-10;b=20] PASSED
tests/test_url_query.py::test_query_separators_from_parsing[original_url4-1-10&b=20] PASSED
tests/test_url_query.py::test_query_separators_from_parsing[original_url5-1-10;b=20] PASSED
tests/test_url_query.py::test_query_separators_from_update_query[original_url0-2-10] PASSED
tests/test_url_query.py::test_query_separators_from_update_query[original_url1-1-10&b=20] PASSED
tests/test_url_query.py::test_query_separators_from_update_query[original_url2-1-10;b=20] PASSED
tests/test_url_query.py::test_query_separators_from_update_query[original_url3-1-10;b=20] PASSED
tests/test_url_query.py::test_query_separators_from_update_query[original_url4-1-10&b=20] PASSED
tests/test_url_query.py::test_query_separators_from_update_query[original_url5-1-10;b=20] PASSED
tests/test_url_query.py::test_query_separators_from_with_query[original_url0-2-10] PASSED
tests/test_url_query.py::test_query_separators_from_with_query[original_url1-1-10&b=20] PASSED
tests/test_url_query.py::test_query_separators_from_with_query[original_url2-1-10;b=20] PASSED
tests/test_url_query.py::test_query_separators_from_with_query[original_url3-1-10;b=20] PASSED
tests/test_url_query.py::test_query_separators_from_with_query[original_url4-1-10&b=20] PASSED
tests/test_url_query.py::test_query_separators_from_with_query[original_url5-1-10;b=20] PASSED
tests/test_url_query.py::test_skip_dropping_query_params[a=10&b=M%C3%B9a+xu%C3%A2n&c=30-keys_to_drop0] PASSED
tests/test_url_query.py::test_skip_dropping_query_params[a=10&b=M%C3%B9a+xu%C3%A2n-keys_to_drop1] PASSED
tests/test_url_query.py::test_update_query_rejects_bytearray PASSED
tests/test_url_query.py::test_update_query_rejects_bytes PASSED
tests/test_url_query.py::test_update_query_rejects_invalid_type PASSED
tests/test_url_query.py::test_update_query_rejects_memoryview PASSED
tests/test_url_query.py::test_update_query_with_sequence_of_pairs PASSED
tests/test_url_query.py::test_without_query_params[a=10&b=M%C3%B9a+xu%C3%A2n&c=30-keys_to_drop2-a=10&c=30] PASSED
tests/test_url_query.py::test_without_query_params[a=10&b=M%C3%B9a+xu%C3%A2n&u%E1%BB%91ng=cafe-keys_to_drop0-b=M\xf9a xu\xe2n&u\u1ed1ng=cafe] PASSED
tests/test_url_query.py::test_without_query_params[a=10&b=M%C3%B9a+xu%C3%A2n&u%E1%BB%91ng=cafe-keys_to_drop3-a=10&b=M\xf9a xu\xe2n] PASSED
tests/test_url_query.py::test_without_query_params[a=10&b=M%C3%B9a+xu%C3%A2n-keys_to_drop1-a=10] PASSED
tests/test_url_query.py::test_without_query_params[a=10&b=M%C3%B9a+xu%C3%A2n-keys_to_drop4-] PASSED
tests/test_url_update_netloc.py::test_from_str_with_host_ipv4 PASSED
tests/test_url_update_netloc.py::test_from_str_with_host_ipv6 PASSED
tests/test_url_update_netloc.py::test_with_custom_port_normalization PASSED
tests/test_url_update_netloc.py::test_with_default_port_normalization PASSED
tests/test_url_update_netloc.py::test_with_explicit_port_normalization PASSED
tests/test_url_update_netloc.py::test_with_host PASSED
tests/test_url_update_netloc.py::test_with_host_empty PASSED
tests/test_url_update_netloc.py::test_with_host_for_relative_url PASSED
tests/test_url_update_netloc.py::test_with_host_invalid_type PASSED
tests/test_url_update_netloc.py::test_with_host_non_ascii PASSED
tests/test_url_update_netloc.py::test_with_host_percent_encoded PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[host:com-False] PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[not_percent_encoded%Zf-False] PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[other_gen_delim_#-False] PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[other_gen_delim_/-False] PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[other_gen_delim_?-False] PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[other_gen_delim_[-False] PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[other_gen_delim_]-False] PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[still_not_percent_encoded%fZ-False] PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[user:pass@host.com-True] PASSED
tests/test_url_update_netloc.py::test_with_invalid_host[user@host.com-True] PASSED
tests/test_url_update_netloc.py::test_with_password PASSED
tests/test_url_update_netloc.py::test_with_password_None PASSED
tests/test_url_update_netloc.py::test_with_password_and_empty_user PASSED
tests/test_url_update_netloc.py::test_with_password_for_relative_url PASSED
tests/test_url_update_netloc.py::test_with_password_invalid_type PASSED
tests/test_url_update_netloc.py::test_with_password_ipv6 PASSED
tests/test_url_update_netloc.py::test_with_password_non_ascii PASSED
tests/test_url_update_netloc.py::test_with_password_non_ascii_with_colon PASSED
tests/test_url_update_netloc.py::test_with_password_percent_encoded PASSED
tests/test_url_update_netloc.py::test_with_port PASSED
tests/test_url_update_netloc.py::test_with_port_for_relative_url PASSED
tests/test_url_update_netloc.py::test_with_port_invalid_range PASSED
tests/test_url_update_netloc.py::test_with_port_invalid_type PASSED
tests/test_url_update_netloc.py::test_with_port_ipv6 PASSED
tests/test_url_update_netloc.py::test_with_port_keeps_query_and_fragment PASSED
tests/test_url_update_netloc.py::test_with_port_percent_encoded PASSED
tests/test_url_update_netloc.py::test_with_port_with_no_port PASSED
tests/test_url_update_netloc.py::test_with_scheme PASSED
tests/test_url_update_netloc.py::test_with_scheme_for_relative_file_url PASSED
tests/test_url_update_netloc.py::test_with_scheme_for_relative_url[HTTP] PASSED
tests/test_url_update_netloc.py::test_with_scheme_for_relative_url[http] PASSED
tests/test_url_update_netloc.py::test_with_scheme_for_relative_url[https] PASSED
tests/test_url_update_netloc.py::test_with_scheme_invalid_type PASSED
tests/test_url_update_netloc.py::test_with_scheme_uppercased PASSED
tests/test_url_update_netloc.py::test_with_user PASSED
tests/test_url_update_netloc.py::test_with_user_None PASSED
tests/test_url_update_netloc.py::test_with_user_None_when_password_present PASSED
tests/test_url_update_netloc.py::test_with_user_for_relative_url PASSED
tests/test_url_update_netloc.py::test_with_user_invalid_type PASSED
tests/test_url_update_netloc.py::test_with_user_ipv6 PASSED
tests/test_url_update_netloc.py::test_with_user_non_ascii PASSED
tests/test_url_update_netloc.py::test_with_user_percent_encoded PASSED

============================= slowest 10 durations =============================
=========================== short test summary info ============================
======== 1378 passed, 101 skipped, 4 xfailed ========