py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV) py$(PYV): commands[0]> python --version Python 3.9.19 py$(PYV): commands[1]> python -m pytest --cov=apeye_core -r aR tests/ ============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python cachedir: .tox/py$(PYV)/.pytest_cache rootdir: $(@D) configfile: tox.ini timeout: 300.0s timeout method: signal timeout func_only: False collecting ... collected 460 items tests/test_email_validator.py::test_dict_accessor PASSED tests/test_email_validator.py::test_email_invalid[..twodots@domain.com-The email address contains invalid characters before the @-sign: ..] PASSED tests/test_email_validator.py::test_email_invalid[.leadingdot@domain.com-The email address contains invalid characters before the @-sign: ..] PASSED tests/test_email_validator.py::test_email_invalid[111111111122222222223333333333444444444455555555556666666666777777@example.com-The email address is too long before the @-sign (2 characters too many).] PASSED tests/test_email_validator.py::test_email_invalid[11111111112222222222333333333344444444445555555555666666666677777@example.com-The email address is too long before the @-sign (1 character too many).] PASSED tests/test_email_validator.py::test_email_invalid[@example.com-There must be something before the @-sign.] PASSED tests/test_email_validator.py::test_email_invalid[\nmy@example.com-The email address contains invalid characters before the @-sign: \n.] PASSED tests/test_email_validator.py::test_email_invalid[\xe2\x98\x83@example.com.-The email address is not valid ASCII.] PASSED tests/test_email_validator.py::test_email_invalid[dom@ex@mple.com-The email address is not valid. It must have exactly one @-sign.] PASSED tests/test_email_validator.py::test_email_invalid[dom@example.com.-An email address cannot end with a period.] PASSED tests/test_email_validator.py::test_email_invalid[example.com-The email address is not valid. It must have exactly one @-sign.] PASSED tests/test_email_validator.py::test_email_invalid[local_part_only@-There must be something after the @-sign.] PASSED tests/test_email_validator.py::test_email_invalid[m\ny@example.com-The email address contains invalid characters before the @-sign: \n.] PASSED tests/test_email_validator.py::test_email_invalid[me@1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.111111111122222222223333333333444444444455555555556.com-The email address is too long after the @-sign.] PASSED tests/test_email_validator.py::test_email_invalid[me@\u2488wouldbeinvalid.com-The domain name \u2488wouldbeinvalid.com contains invalid characters (Codepoint U+2488 not allowed at position 1 in '\u2488wouldbeinvalid.com').] PASSED tests/test_email_validator.py::test_email_invalid[my.\u03bbong.address@1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.111111111122222222223333333333444.info-The email address is too long (when encoded in bytes).] PASSED tests/test_email_validator.py::test_email_invalid[my.\u03bbong.address@1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444.info-The email address is too long (at least 1 character too many).] PASSED tests/test_email_validator.py::test_email_invalid[my.long.address@1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.11111111112222222222333333333344444.info-The email address is too long (2 characters too many).] PASSED tests/test_email_validator.py::test_email_invalid[my.long.address@\u03bb111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.11111111112222222222333333.info-The email address is too long (when converted to IDNA ASCII).] PASSED tests/test_email_validator.py::test_email_invalid[my.long.address@\u03bb111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444.info-The email address is too long (at least 1 character too many).] PASSED tests/test_email_validator.py::test_email_invalid[my@..twodots.com-An email address cannot have a period immediately after the @-sign.] PASSED tests/test_email_validator.py::test_email_invalid[my@.leadingdot.com-An email address cannot have a period immediately after the @-sign.] PASSED tests/test_email_validator.py::test_email_invalid[my@\uff0e\uff0eleadingfwdot.com-An email address cannot have a period immediately after the @-sign.] PASSED tests/test_email_validator.py::test_email_invalid[my@baddash.-.com-error_msg4] PASSED tests/test_email_validator.py::test_email_invalid[my@baddash.-a.com-error_msg5] PASSED tests/test_email_validator.py::test_email_invalid[my@baddash.b-.com-error_msg6] PASSED tests/test_email_validator.py::test_email_invalid[my@example.com\n-error_msg7] PASSED tests/test_email_validator.py::test_email_invalid[my@example\n.com-error_msg8] PASSED tests/test_email_validator.py::test_email_invalid[my@twodots..com-An email address cannot have two periods in a row.] PASSED tests/test_email_validator.py::test_email_invalid[my\n@example.com-The email address contains invalid characters before the @-sign: \n.] PASSED tests/test_email_validator.py::test_email_invalid[twodots..here@domain.com-The email address contains invalid characters before the @-sign: ..] PASSED tests/test_email_validator.py::test_email_valid[!#$%&'*+-/=?^_`.{|}~@example.com-output6] PASSED tests/test_email_validator.py::test_email_valid[Abc.123@example.com-output2] PASSED tests/test_email_validator.py::test_email_valid[Abc.123@example.com-output3] PASSED tests/test_email_validator.py::test_email_valid[Abc@example.com-output0] PASSED tests/test_email_validator.py::test_email_valid[Abc@example.com-output1] PASSED tests/test_email_validator.py::test_email_valid[\u03b8\u03c3\u03b5\u03c1@\u03b5\u03c7\u03b1\u03bc\u03c0\u03bb\u03b5.\u03c8\u03bf\u03bc-output10] PASSED tests/test_email_validator.py::test_email_valid[\u03b9\u03c9\u03ac\u03bd\u03bd\u03b7\u03c2@\u03b5\u03b5\u03c4\u03c4.gr-output20] PASSED tests/test_email_validator.py::test_email_valid[\u044e\u0437\u0435\u0440@\u0435\u043a\u0437\u0430\u043c\u043f\u043b.\u043a\u043e\u043c-output9] PASSED tests/test_email_validator.py::test_email_valid[\u0909\u0926\u093e\u0939\u0930\u0923.\u092a\u0930\u0940\u0915\u094d\u0937@domain.with.idn.tld-output19] PASSED tests/test_email_validator.py::test_email_valid[\u0930\u093e\u092e@\u092e\u094b\u0939\u0928.\u0908\u0928\u094d\u092b\u094b-output8] PASSED tests/test_email_validator.py::test_email_valid[\u4f0a\u662d\u5091@\u90f5\u4ef6.\u5546\u52d9-output7] PASSED tests/test_email_validator.py::test_email_valid[\u6211\u8cb7@example.com-output16] PASSED tests/test_email_validator.py::test_email_valid[\u7532\u6590\u9ed2\u5ddd\u65e5\u672c@example.com-output17] PASSED tests/test_email_validator.py::test_email_valid[\uf96e\u58eb\u8c6a@\u81fa\u7db2\u4e2d\u5fc3.\u53f0\u7063-output13] PASSED tests/test_email_validator.py::test_email_valid[\uf96e\u58eb\u8c6a@\u81fa\u7db2\u4e2d\u5fc3.tw-output11] PASSED tests/test_email_validator.py::test_email_valid[\xf1o\xf1\xf3@example.com-output15] PASSED tests/test_email_validator.py::test_email_valid[jeff@\u81fa\u7db2\u4e2d\u5fc3.tw-output12] PASSED tests/test_email_validator.py::test_email_valid[jeff\uf96e@\u81fa\u7db2\u4e2d\u5fc3.tw-output14] PASSED tests/test_email_validator.py::test_email_valid[unicode_1] PASSED tests/test_email_validator.py::test_email_valid[user+mailbox/department=shipping@example.com-output4] PASSED tests/test_email_validator.py::test_email_valid[user+mailbox/department=shipping@example.com-output5] PASSED tests/test_email_validator.py::test_main_multi_input PASSED tests/test_email_validator.py::test_main_single_bad_input PASSED tests/test_email_validator.py::test_main_single_good_input PASSED tests/test_tld.py::test_american PASSED tests/test_tld.py::test_british PASSED tests/test_tld.py::test_dns_root_label PASSED tests/test_tld.py::test_empty PASSED tests/test_tld.py::test_idna_2008 PASSED tests/test_tld.py::test_invalid_puny_with_puny PASSED tests/test_tld.py::test_ip PASSED tests/test_tld.py::test_ipv4 PASSED tests/test_tld.py::test_ipv4_bad PASSED tests/test_tld.py::test_ipv4_lookalike PASSED tests/test_tld.py::test_local_host PASSED tests/test_tld.py::test_looks_like_ip PASSED tests/test_tld.py::test_nested_subdomain PASSED tests/test_tld.py::test_no_subdomain PASSED tests/test_tld.py::test_odd_but_possible PASSED tests/test_tld.py::test_port PASSED tests/test_tld.py::test_private_domains PASSED tests/test_tld.py::test_puny_with_non_puny PASSED tests/test_tld.py::test_punycode PASSED tests/test_tld.py::test_qualified_local_host PASSED tests/test_tld.py::test_query_fragment PASSED tests/test_tld.py::test_regex_order PASSED tests/test_tld.py::test_result_as_dict PASSED tests/test_tld.py::test_scheme PASSED tests/test_tld.py::test_suffix PASSED tests/test_tld.py::test_tld_is_a_website_too PASSED tests/test_tld.py::test_unhandled_by_iana PASSED tests/test_tld.py::test_username PASSED tests/test_url.py::TestURL::test_cast_to_pathlib[bbc.co.uk/news-bbc.co.uk/news] PASSED tests/test_url.py::TestURL::test_cast_to_pathlib[https://bbc.co.uk/news-bbc.co.uk/news] PASSED tests/test_url.py::TestURL::test_cast_to_pathlib[https://www.bbc.co.uk/news-www.bbc.co.uk/news] PASSED tests/test_url.py::TestURL::test_creation[//www.bbc.co.uk/programmes/b006qtlx/episodes/player--www.bbc.co.uk-path3] PASSED tests/test_url.py::TestURL::test_creation[/programmes/b006qtlx/episodes/player---path2] PASSED tests/test_url.py::TestURL::test_creation[https://www.bbc.co.uk/programmes/b006qtlx/episodes/player-https-www.bbc.co.uk-path0] PASSED tests/test_url.py::TestURL::test_creation[www.bbc.co.uk/programmes/b006qtlx/episodes/player--www.bbc.co.uk-path1] PASSED tests/test_url.py::TestURL::test_division PASSED tests/test_url.py::TestURL::test_division_errors[ABC] PASSED tests/test_url.py::TestURL::test_division_errors[obj0] PASSED tests/test_url.py::TestURL::test_division_errors[obj1] PASSED tests/test_url.py::TestURL::test_division_errors[obj2] PASSED tests/test_url.py::TestURL::test_division_errors[obj3] PASSED tests/test_url.py::TestURL::test_division_errors[raises] PASSED tests/test_url.py::TestURL::test_division_number[0] PASSED tests/test_url.py::TestURL::test_division_number[10] PASSED tests/test_url.py::TestURL::test_division_number[11] PASSED tests/test_url.py::TestURL::test_division_number[12] PASSED tests/test_url.py::TestURL::test_division_number[13] PASSED tests/test_url.py::TestURL::test_division_number[14] PASSED tests/test_url.py::TestURL::test_division_number[15] PASSED tests/test_url.py::TestURL::test_division_number[16] PASSED tests/test_url.py::TestURL::test_division_number[17] PASSED tests/test_url.py::TestURL::test_division_number[18] PASSED tests/test_url.py::TestURL::test_division_number[19] PASSED tests/test_url.py::TestURL::test_division_number[1] PASSED tests/test_url.py::TestURL::test_division_number[20] PASSED tests/test_url.py::TestURL::test_division_number[21] PASSED tests/test_url.py::TestURL::test_division_number[22] PASSED tests/test_url.py::TestURL::test_division_number[23] PASSED tests/test_url.py::TestURL::test_division_number[24] PASSED tests/test_url.py::TestURL::test_division_number[25] PASSED tests/test_url.py::TestURL::test_division_number[26] PASSED tests/test_url.py::TestURL::test_division_number[27] PASSED tests/test_url.py::TestURL::test_division_number[28] PASSED tests/test_url.py::TestURL::test_division_number[29] PASSED tests/test_url.py::TestURL::test_division_number[2] PASSED tests/test_url.py::TestURL::test_division_number[30] PASSED tests/test_url.py::TestURL::test_division_number[31] PASSED tests/test_url.py::TestURL::test_division_number[32] PASSED tests/test_url.py::TestURL::test_division_number[33] PASSED tests/test_url.py::TestURL::test_division_number[34] PASSED tests/test_url.py::TestURL::test_division_number[35] PASSED tests/test_url.py::TestURL::test_division_number[36] PASSED tests/test_url.py::TestURL::test_division_number[37] PASSED tests/test_url.py::TestURL::test_division_number[38] PASSED tests/test_url.py::TestURL::test_division_number[39] PASSED tests/test_url.py::TestURL::test_division_number[3] PASSED tests/test_url.py::TestURL::test_division_number[40] PASSED tests/test_url.py::TestURL::test_division_number[41] PASSED tests/test_url.py::TestURL::test_division_number[42] PASSED tests/test_url.py::TestURL::test_division_number[43] PASSED tests/test_url.py::TestURL::test_division_number[44] PASSED tests/test_url.py::TestURL::test_division_number[45] PASSED tests/test_url.py::TestURL::test_division_number[46] PASSED tests/test_url.py::TestURL::test_division_number[47] PASSED tests/test_url.py::TestURL::test_division_number[48] PASSED tests/test_url.py::TestURL::test_division_number[49] PASSED tests/test_url.py::TestURL::test_division_number[4] PASSED tests/test_url.py::TestURL::test_division_number[50] PASSED tests/test_url.py::TestURL::test_division_number[51] PASSED tests/test_url.py::TestURL::test_division_number[52] PASSED tests/test_url.py::TestURL::test_division_number[53] PASSED tests/test_url.py::TestURL::test_division_number[54] PASSED tests/test_url.py::TestURL::test_division_number[55] PASSED tests/test_url.py::TestURL::test_division_number[56] PASSED tests/test_url.py::TestURL::test_division_number[57] PASSED tests/test_url.py::TestURL::test_division_number[58] PASSED tests/test_url.py::TestURL::test_division_number[59] PASSED tests/test_url.py::TestURL::test_division_number[5] PASSED tests/test_url.py::TestURL::test_division_number[60] PASSED tests/test_url.py::TestURL::test_division_number[61] PASSED tests/test_url.py::TestURL::test_division_number[62] PASSED tests/test_url.py::TestURL::test_division_number[63] PASSED tests/test_url.py::TestURL::test_division_number[64] PASSED tests/test_url.py::TestURL::test_division_number[65] PASSED tests/test_url.py::TestURL::test_division_number[66] PASSED tests/test_url.py::TestURL::test_division_number[67] PASSED tests/test_url.py::TestURL::test_division_number[68] PASSED tests/test_url.py::TestURL::test_division_number[69] PASSED tests/test_url.py::TestURL::test_division_number[6] PASSED tests/test_url.py::TestURL::test_division_number[70] PASSED tests/test_url.py::TestURL::test_division_number[71] PASSED tests/test_url.py::TestURL::test_division_number[72] PASSED tests/test_url.py::TestURL::test_division_number[73] PASSED tests/test_url.py::TestURL::test_division_number[74] PASSED tests/test_url.py::TestURL::test_division_number[75] PASSED tests/test_url.py::TestURL::test_division_number[76] PASSED tests/test_url.py::TestURL::test_division_number[77] PASSED tests/test_url.py::TestURL::test_division_number[78] PASSED tests/test_url.py::TestURL::test_division_number[79] PASSED tests/test_url.py::TestURL::test_division_number[7] PASSED tests/test_url.py::TestURL::test_division_number[80] PASSED tests/test_url.py::TestURL::test_division_number[81] PASSED tests/test_url.py::TestURL::test_division_number[82] PASSED tests/test_url.py::TestURL::test_division_number[83] PASSED tests/test_url.py::TestURL::test_division_number[84] PASSED tests/test_url.py::TestURL::test_division_number[85] PASSED tests/test_url.py::TestURL::test_division_number[86] PASSED tests/test_url.py::TestURL::test_division_number[87] PASSED tests/test_url.py::TestURL::test_division_number[88] PASSED tests/test_url.py::TestURL::test_division_number[89] PASSED tests/test_url.py::TestURL::test_division_number[8] PASSED tests/test_url.py::TestURL::test_division_number[90] PASSED tests/test_url.py::TestURL::test_division_number[91] PASSED tests/test_url.py::TestURL::test_division_number[92] PASSED tests/test_url.py::TestURL::test_division_number[93] PASSED tests/test_url.py::TestURL::test_division_number[94] PASSED tests/test_url.py::TestURL::test_division_number[95] PASSED tests/test_url.py::TestURL::test_division_number[96] PASSED tests/test_url.py::TestURL::test_division_number[97] PASSED tests/test_url.py::TestURL::test_division_number[98] PASSED tests/test_url.py::TestURL::test_division_number[99] PASSED tests/test_url.py::TestURL::test_division_number[9] PASSED tests/test_url.py::TestURL::test_division_pathlike PASSED tests/test_url.py::TestURL::test_domain[/programmes/b006qtlx/episodes----None] PASSED tests/test_url.py::TestURL::test_domain[ftp://127.0.0.1/download.zip--127.0.0.1--ipv43] PASSED tests/test_url.py::TestURL::test_domain[https://www.bbc.co.uk-www-bbc-co.uk-None] PASSED tests/test_url.py::TestURL::test_domain[https://www.bbc.co.uk/programmes/b006qtlx/episodes-www-bbc-co.uk-None] PASSED tests/test_url.py::TestURL::test_empty_url_operations PASSED tests/test_url.py::TestURL::test_equality PASSED tests/test_url.py::TestURL::test_fqdn[/programmes/b006qtlx/episodes-] PASSED tests/test_url.py::TestURL::test_fqdn[https://imgs.xkcd.com/comics/workflow.png-imgs.xkcd.com] PASSED tests/test_url.py::TestURL::test_fqdn[https://www.bbc.co.uk/programmes/b006qtlx/episodes-www.bbc.co.uk] PASSED tests/test_url.py::TestURL::test_fqdn[www.bbc.co.uk-www.bbc.co.uk] PASSED tests/test_url.py::TestURL::test_from_url PASSED tests/test_url.py::TestURL::test_fspath[bbc.co.uk/news-bbc.co.uk/news] PASSED tests/test_url.py::TestURL::test_fspath[https://bbc.co.uk/news-bbc.co.uk/news] PASSED tests/test_url.py::TestURL::test_fspath[https://www.bbc.co.uk/news-www.bbc.co.uk/news] PASSED tests/test_url.py::TestURL::test_hash PASSED tests/test_url.py::TestURL::test_isinstance PASSED tests/test_url.py::TestURL::test_joinurl PASSED tests/test_url.py::TestURL::test_name[/programmes/b006qtlx/episodes-episodes] PASSED tests/test_url.py::TestURL::test_name[https://www.bbc.co.uk/programmes/b006qtlx/episodes-episodes] PASSED tests/test_url.py::TestURL::test_name[www.bbc.co.uk-] PASSED tests/test_url.py::TestURL::test_notimplemented_eq PASSED tests/test_url.py::TestURL::test_ordering PASSED tests/test_url.py::TestURL::test_ordering_other_classes[URL] PASSED tests/test_url.py::TestURL::test_parent[/programmes/b006qtlx/episodes-/programmes/b006qtlx] PASSED tests/test_url.py::TestURL::test_parent[https://imgs.xkcd.com/comics/workflow.png-https://imgs.xkcd.com/comics] PASSED tests/test_url.py::TestURL::test_parent[https://www.bbc.co.uk/programmes/b006qtlx/episodes-https://www.bbc.co.uk/programmes/b006qtlx] PASSED tests/test_url.py::TestURL::test_parents PASSED tests/test_url.py::TestURL::test_parts[https://hub.docker.com/r/tobix/pywine/dockerfile-parts0] PASSED tests/test_url.py::TestURL::test_port[/programmes/b006qtlx/episodes-None] PASSED tests/test_url.py::TestURL::test_port[https://www.bbc.co.uk/programmes/b006qtlx/episodes-None] PASSED tests/test_url.py::TestURL::test_port[https://www.bbc.co.uk:443/programmes/b006qtlx/episodes-443] PASSED tests/test_url.py::TestURL::test_port[https://www.bbc.co.uk:80/programmes/b006qtlx/episodes-80] PASSED tests/test_url.py::TestURL::test_port[https://www.bbc.co.uk:8080/programmes/b006qtlx/episodes-8080] PASSED tests/test_url.py::TestURL::test_port[www.bbc.co.uk-None] PASSED tests/test_url.py::TestURL::test_port[www.bbc.co.uk:443-443] PASSED tests/test_url.py::TestURL::test_port[www.bbc.co.uk:80-80] PASSED tests/test_url.py::TestURL::test_port[www.bbc.co.uk:8080-8080] PASSED tests/test_url.py::TestURL::test_relative_to PASSED tests/test_url.py::TestURL::test_repr[url0-URL('https://www.bbc.co.uk/programmes/b006qtlx/episodes/player')] PASSED tests/test_url.py::TestURL::test_repr[url1-URL('www.bbc.co.uk/programmes/b006qtlx/episodes/player')] PASSED tests/test_url.py::TestURL::test_repr[url2-URL('www.bbc.co.uk')] PASSED tests/test_url.py::TestURL::test_repr[url3-URL('/programmes/b006qtlx/episodes/player')] PASSED tests/test_url.py::TestURL::test_repr[url4-URL('programmes/b006qtlx/episodes/player')] PASSED tests/test_url.py::TestURL::test_repr[url5-URL('https://127.0.0.1/programmes/b006qtlx/episodes/player')] PASSED tests/test_url.py::TestURL::test_repr[url6-URL('ftp://127.0.0.1/programmes/b006qtlx/episodes/player')] PASSED tests/test_url.py::TestURL::test_rtruediv_typerror[12.34] PASSED tests/test_url.py::TestURL::test_rtruediv_typerror[1234] PASSED tests/test_url.py::TestURL::test_rtruediv_typerror[ABC] PASSED tests/test_url.py::TestURL::test_rtruediv_typerror[abcdefg] PASSED tests/test_url.py::TestURL::test_rtruediv_typerror[obj3] PASSED tests/test_url.py::TestURL::test_rtruediv_typerror[obj4] PASSED tests/test_url.py::TestURL::test_rtruediv_typerror[obj5] PASSED tests/test_url.py::TestURL::test_rtruediv_typerror[obj6] PASSED tests/test_url.py::TestURL::test_rtruediv_typerror[raises] PASSED tests/test_url.py::TestURL::test_stem[/programmes/b006qtlx/episodes-episodes] PASSED tests/test_url.py::TestURL::test_stem[https://github.com/domdfcoding/domdf_python_tools/releases/download/v0.4.8/domdf_python_tools-0.4.8.tar.gz-domdf_python_tools-0.4.8.tar] PASSED tests/test_url.py::TestURL::test_stem[https://imgs.xkcd.com/comics/workflow.png-workflow] PASSED tests/test_url.py::TestURL::test_stem[https://www.bbc.co.uk/programmes/b006qtlx/episodes-episodes] PASSED tests/test_url.py::TestURL::test_stem[www.bbc.co.uk-] PASSED tests/test_url.py::TestURL::test_str[/programmes/b006qtlx/episodes/player] PASSED tests/test_url.py::TestURL::test_str[ftp://127.0.0.1/programmes/b006qtlx/episodes/player] PASSED tests/test_url.py::TestURL::test_str[https://127.0.0.1/programmes/b006qtlx/episodes/player] PASSED tests/test_url.py::TestURL::test_str[https://www.bbc.co.uk/programmes/b006qtlx/episodes/player] PASSED tests/test_url.py::TestURL::test_str[programmes/b006qtlx/episodes/player] PASSED tests/test_url.py::TestURL::test_str[www.bbc.co.uk/programmes/b006qtlx/episodes/player] PASSED tests/test_url.py::TestURL::test_str[www.bbc.co.uk] PASSED tests/test_url.py::TestURL::test_strict_equality PASSED tests/test_url.py::TestURL::test_suffix[/programmes/b006qtlx/episodes-] PASSED tests/test_url.py::TestURL::test_suffix[https://imgs.xkcd.com/comics/workflow.png-.png] PASSED tests/test_url.py::TestURL::test_suffix[https://www.bbc.co.uk/programmes/b006qtlx/episodes-] PASSED tests/test_url.py::TestURL::test_suffix[www.bbc.co.uk-] PASSED tests/test_url.py::TestURL::test_suffixes[/programmes/b006qtlx/episodes-suffixes2] PASSED tests/test_url.py::TestURL::test_suffixes[https://github.com/domdfcoding/domdf_python_tools/releases/download/v0.4.8/domdf_python_tools-0.4.8.tar.gz-suffixes4] PASSED tests/test_url.py::TestURL::test_suffixes[https://imgs.xkcd.com/comics/workflow.png-suffixes3] PASSED tests/test_url.py::TestURL::test_suffixes[https://www.bbc.co.uk/programmes/b006qtlx/episodes-suffixes0] PASSED tests/test_url.py::TestURL::test_suffixes[www.bbc.co.uk-suffixes1] PASSED tests/test_url.py::TestURL::test_with_fragment PASSED tests/test_url.py::TestURL::test_with_name[/programmes/b006qtlx/episodes-/programmes/b006qtlx/foo-foo] PASSED tests/test_url.py::TestURL::test_with_name[https://imgs.xkcd.com/comics/workflow.png-https://imgs.xkcd.com/comics/baz-baz] PASSED tests/test_url.py::TestURL::test_with_name[https://www.bbc.co.uk/programmes/b006qtlx/episodes#fragment-https://www.bbc.co.uk/programmes/b006qtlx/foo-foo] PASSED tests/test_url.py::TestURL::test_with_name[https://www.bbc.co.uk/programmes/b006qtlx/episodes-https://www.bbc.co.uk/programmes/b006qtlx/foo-foo] PASSED tests/test_url.py::TestURL::test_with_name[https://www.bbc.co.uk/programmes/b006qtlx/episodes?que=ry#fragment-https://www.bbc.co.uk/programmes/b006qtlx/foo-foo] PASSED tests/test_url.py::TestURL::test_with_name[https://www.bbc.co.uk/programmes/b006qtlx/episodes?que=ry-https://www.bbc.co.uk/programmes/b006qtlx/foo-foo] PASSED tests/test_url.py::TestURL::test_with_name_errors PASSED tests/test_url.py::TestURL::test_with_name_inherit[https://www.bbc.co.uk/programmes/b006qtlx/episodes#fragment-https://www.bbc.co.uk/programmes/b006qtlx/foo#fragment] PASSED tests/test_url.py::TestURL::test_with_name_inherit[https://www.bbc.co.uk/programmes/b006qtlx/episodes-https://www.bbc.co.uk/programmes/b006qtlx/foo] PASSED tests/test_url.py::TestURL::test_with_name_inherit[https://www.bbc.co.uk/programmes/b006qtlx/episodes?que=ry#fragment-https://www.bbc.co.uk/programmes/b006qtlx/foo?que=ry#fragment] PASSED tests/test_url.py::TestURL::test_with_name_inherit[https://www.bbc.co.uk/programmes/b006qtlx/episodes?que=ry-https://www.bbc.co.uk/programmes/b006qtlx/foo?que=ry] PASSED tests/test_url.py::TestURL::test_with_query PASSED tests/test_url.py::TestURL::test_with_suffix[/programmes/b006qtlx/episodes-/programmes/b006qtlx/episodes.foo-.foo] PASSED tests/test_url.py::TestURL::test_with_suffix[https://imgs.xkcd.com/comics/workflow.png-https://imgs.xkcd.com/comics/workflow.baz-.baz] PASSED tests/test_url.py::TestURL::test_with_suffix[https://www.bbc.co.uk/programmes/b006qtlx/episodes#fragment-https://www.bbc.co.uk/programmes/b006qtlx/episodes.foo-.foo] PASSED tests/test_url.py::TestURL::test_with_suffix[https://www.bbc.co.uk/programmes/b006qtlx/episodes-https://www.bbc.co.uk/programmes/b006qtlx/episodes.foo-.foo] PASSED tests/test_url.py::TestURL::test_with_suffix[https://www.bbc.co.uk/programmes/b006qtlx/episodes?que=ry#fragment-https://www.bbc.co.uk/programmes/b006qtlx/episodes.foo-.foo] PASSED tests/test_url.py::TestURL::test_with_suffix[https://www.bbc.co.uk/programmes/b006qtlx/episodes?que=ry-https://www.bbc.co.uk/programmes/b006qtlx/episodes.foo-.foo] PASSED tests/test_url.py::TestURL::test_with_suffix_inherit[https://www.bbc.co.uk/programmes/b006qtlx/episodes#fragment-https://www.bbc.co.uk/programmes/b006qtlx/episodes.foo#fragment] PASSED tests/test_url.py::TestURL::test_with_suffix_inherit[https://www.bbc.co.uk/programmes/b006qtlx/episodes-https://www.bbc.co.uk/programmes/b006qtlx/episodes.foo] PASSED tests/test_url.py::TestURL::test_with_suffix_inherit[https://www.bbc.co.uk/programmes/b006qtlx/episodes?que=ry#fragment-https://www.bbc.co.uk/programmes/b006qtlx/episodes.foo?que=ry#fragment] PASSED tests/test_url.py::TestURL::test_with_suffix_inherit[https://www.bbc.co.uk/programmes/b006qtlx/episodes?que=ry-https://www.bbc.co.uk/programmes/b006qtlx/episodes.foo?que=ry] PASSED tests/test_url.py::TestURLPath::test_division[value0-expects0] PASSED tests/test_url.py::TestURLPath::test_division[value1-expects1] PASSED tests/test_url.py::TestURLPath::test_division[value2-expects2] PASSED tests/test_url.py::TestURLPath::test_division[value3-expects3] PASSED tests/test_url.py::TestURLPath::test_division_errors[ABC] PASSED tests/test_url.py::TestURLPath::test_division_errors[obj0] PASSED tests/test_url.py::TestURLPath::test_division_errors[obj1] PASSED tests/test_url.py::TestURLPath::test_division_errors[obj2] PASSED tests/test_url.py::TestURLPath::test_division_errors[obj3] PASSED tests/test_url.py::TestURLPath::test_division_errors[raises] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[0] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[10] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[11] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[12] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[13] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[14] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[15] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[16] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[17] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[18] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[19] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[1] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[20] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[21] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[22] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[23] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[24] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[25] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[26] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[27] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[28] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[29] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[2] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[30] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[31] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[32] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[33] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[34] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[35] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[36] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[37] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[38] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[39] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[3] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[40] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[41] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[42] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[43] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[44] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[45] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[46] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[47] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[48] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[49] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[4] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[50] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[51] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[52] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[53] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[54] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[55] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[56] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[57] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[58] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[59] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[5] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[60] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[61] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[62] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[63] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[64] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[65] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[66] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[67] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[68] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[69] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[6] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[70] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[71] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[72] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[73] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[74] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[75] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[76] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[77] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[78] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[79] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[7] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[80] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[81] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[82] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[83] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[84] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[85] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[86] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[87] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[88] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[89] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[8] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[90] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[91] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[92] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[93] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[94] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[95] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[96] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[97] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[98] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[99] PASSED tests/test_url.py::TestURLPath::test_division_errors_number[9] PASSED tests/test_url.py::TestURLPath::test_division_pathlike[value0-expects0] PASSED tests/test_url.py::TestURLPath::test_division_pathlike[value1-expects1] PASSED tests/test_url.py::TestURLPath::test_division_pathlike[value2-expects2] PASSED tests/test_url.py::TestURLPath::test_division_pathlike[value3-expects3] PASSED tests/test_url.py::TestURLPath::test_division_pathlike[value4-expects4] PASSED tests/test_url.py::TestURLPath::test_division_pathlike[value5-expects5] PASSED tests/test_url.py::TestURLPath::test_division_pathlike[value6-expects6] PASSED tests/test_url.py::TestURLPath::test_division_pathlike[value7-expects7] XFAIL tests/test_url.py::TestURLPath::test_drive_root_anchor[-] PASSED tests/test_url.py::TestURLPath::test_drive_root_anchor[/news-/] PASSED tests/test_url.py::TestURLPath::test_drive_root_anchor[/programmes/b006qtlx/episodes/player-/] PASSED tests/test_url.py::TestURLPath::test_drive_root_anchor[/watch?v=NG21KWZSiok-/] PASSED tests/test_url.py::TestURLPath::test_drive_root_anchor[news-] PASSED tests/test_url.py::TestURLPath::test_drive_root_anchor[watch?v=NG21KWZSiok-] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value0-False] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value1-False] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value2-True] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value3-True] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value4-False] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value5-True] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value6-False] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value7-True] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value8-True] PASSED tests/test_url.py::TestURLPath::test_is_absolute[value9-False] PASSED tests/test_url.py::TestURLPath::test_joinpath[value0-expects0] PASSED tests/test_url.py::TestURLPath::test_joinpath[value1-expects1] PASSED tests/test_url.py::TestURLPath::test_joinpath[value2-expects2] PASSED tests/test_url.py::TestURLPath::test_joinpath[value3-expects3] PASSED tests/test_url.py::TestURLPath::test_notimplemented[as_uri] PASSED tests/test_url.py::TestURLPath::test_relative_to[base0-/news] PASSED tests/test_url.py::TestURLPath::test_relative_to[base1-other1] PASSED tests/test_url.py::TestURLPath::test_relative_to[base2-other2] PASSED tests/test_url.py::TestURLPath::test_relative_to[base3-news] PASSED tests/test_url.py::TestURLPath::test_relative_to[base4-other4] PASSED tests/test_url.py::TestURLPath::test_relative_to[base5-other5] PASSED tests/test_url.py::TestURLPath::test_repr[-URLPath('')] PASSED tests/test_url.py::TestURLPath::test_repr[/programmes/b006qtlx/episodes/player-URLPath('/programmes/b006qtlx/episodes/player')] PASSED tests/test_url.py::TestURLPath::test_repr[/watch?v=NG21KWZSiok-URLPath('/watch?v=NG21KWZSiok')] PASSED tests/test_url.py::TestURLPath::test_repr[watch?v=NG21KWZSiok-URLPath('watch?v=NG21KWZSiok')] PASSED tests/test_url.py::TestURLPath::test_rtruediv_typerror[12.34] PASSED tests/test_url.py::TestURLPath::test_rtruediv_typerror[1234] PASSED tests/test_url.py::TestURLPath::test_rtruediv_typerror[ABC] PASSED tests/test_url.py::TestURLPath::test_rtruediv_typerror[obj2] PASSED tests/test_url.py::TestURLPath::test_rtruediv_typerror[obj3] PASSED tests/test_url.py::TestURLPath::test_rtruediv_typerror[obj4] PASSED tests/test_url.py::TestURLPath::test_rtruediv_typerror[obj5] PASSED tests/test_url.py::TestURLPath::test_rtruediv_typerror[raises] PASSED tests/test_url.py::TestURLPath::test_str[/programmes/b006qtlx/episodes/player] PASSED tests/test_url.py::TestURLPath::test_str[/watch?v=NG21KWZSiok] PASSED tests/test_url.py::TestURLPath::test_str[] PASSED tests/test_url.py::TestURLPath::test_str[watch?v=NG21KWZSiok] PASSED tests/test_url.py::test_domain_class PASSED tests/test_url.py::test_string PASSED ================================== XFAILURES =================================== $(@D)/tests/test_url.py:121: AssertionError: assert False Required test coverage of 94.0% reached. Total coverage: 94.57% ============================= slowest 25 durations ============================= =========================== short test summary info ============================ ======== 459 passed, 1 xfailed ======== py$(PYV): OK congratulations :)