============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(PYTHON) cachedir: .pytest_cache rootdir: $(@D) configfile: pyproject.toml collecting ... collected 2049 items / 9 deselected / 2040 selected tests/constraints/generic/test_constraint.py::test_allows PASSED tests/constraints/generic/test_constraint.py::test_allows_all PASSED tests/constraints/generic/test_constraint.py::test_allows_any PASSED tests/constraints/generic/test_constraint.py::test_constraints_are_hashable[constraint0] PASSED tests/constraints/generic/test_constraint.py::test_constraints_are_hashable[constraint1] PASSED tests/constraints/generic/test_constraint.py::test_constraints_are_hashable[constraint2] PASSED tests/constraints/generic/test_constraint.py::test_constraints_are_hashable[constraint3] PASSED tests/constraints/generic/test_constraint.py::test_constraints_are_hashable[constraint4] PASSED tests/constraints/generic/test_constraint.py::test_difference PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint10-constraint20-expected0] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint11-constraint21-expected1] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint110-constraint210-expected10] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint111-constraint211-expected11] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint112-constraint212-expected12] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint113-constraint213-expected13] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint114-constraint214-expected14] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint115-constraint215-expected15] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint116-constraint216-expected16] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint117-constraint217-expected17] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint118-constraint218-expected18] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint119-constraint219-expected19] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint12-constraint22-expected2] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint120-constraint220-expected20] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint121-constraint221-expected21] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint122-constraint222-expected22] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint123-constraint223-expected23] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint124-constraint224-expected24] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint125-constraint225-expected25] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint126-constraint226-expected26] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint127-constraint227-expected27] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint13-constraint23-expected3] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint14-constraint24-expected4] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint15-constraint25-expected5] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint16-constraint26-expected6] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint17-constraint27-expected7] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint18-constraint28-expected8] PASSED tests/constraints/generic/test_constraint.py::test_intersect[constraint19-constraint29-expected9] PASSED tests/constraints/generic/test_constraint.py::test_invert[constraint0-inverted0] PASSED tests/constraints/generic/test_constraint.py::test_invert[constraint1-inverted1] PASSED tests/constraints/generic/test_constraint.py::test_invert[constraint2-inverted2] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint10-constraint20-expected0] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint11-constraint21-expected1] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint110-constraint210-expected10] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint111-constraint211-expected11] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint112-constraint212-expected12] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint113-constraint213-expected13] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint114-constraint214-expected14] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint115-constraint215-expected15] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint116-constraint216-expected16] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint117-constraint217-expected17] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint118-constraint218-expected18] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint119-constraint219-expected19] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint12-constraint22-expected2] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint120-constraint220-expected20] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint121-constraint221-expected21] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint122-constraint222-expected22] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint123-constraint223-expected23] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint124-constraint224-expected24] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint125-constraint225-expected25] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint126-constraint226-expected26] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint127-constraint227-expected27] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint13-constraint23-expected3] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint14-constraint24-expected4] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint15-constraint25-expected5] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint16-constraint26-expected6] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint17-constraint27-expected7] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint18-constraint28-expected8] PASSED tests/constraints/generic/test_constraint.py::test_union[constraint19-constraint29-expected9] PASSED tests/constraints/generic/test_main.py::test_parse_constraint[!= win32-constraint5] PASSED tests/constraints/generic/test_main.py::test_parse_constraint[!=win32-constraint4] PASSED tests/constraints/generic/test_main.py::test_parse_constraint[*-constraint0] PASSED tests/constraints/generic/test_main.py::test_parse_constraint[==win32-constraint3] PASSED tests/constraints/generic/test_main.py::test_parse_constraint[=win32-constraint2] PASSED tests/constraints/generic/test_main.py::test_parse_constraint[win32-constraint1] PASSED tests/constraints/generic/test_main.py::test_parse_constraint_multi[!=win32,!=linux,!=linux2-constraint1] PASSED tests/constraints/generic/test_main.py::test_parse_constraint_multi[!=win32,!=linux-constraint0] PASSED tests/constraints/generic/test_main.py::test_parse_constraint_union[win32 || !=linux2-constraint1] PASSED tests/constraints/generic/test_main.py::test_parse_constraint_union[win32 || linux-constraint0] PASSED tests/constraints/generic/test_multi_constraint.py::test_allows PASSED tests/constraints/generic/test_multi_constraint.py::test_allows_all PASSED tests/constraints/generic/test_multi_constraint.py::test_allows_any PASSED tests/constraints/generic/test_union_constraint.py::test_allows PASSED tests/constraints/generic/test_union_constraint.py::test_allows_all PASSED tests/constraints/generic/test_union_constraint.py::test_allows_any PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[!=1-!=1] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[!=1.2-!=1.2] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[!=1.2.3-!=1.2.3] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[1-1] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[1.2-1.2] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[1.2.3-1.2.3] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^0->=0,<1] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^0-alpha.1->=0-alpha.1,<1] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^0.0.2->=0.0.2,<0.0.3] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^0.0.2-alpha.1->=0.0.2-alpha.1,<0.0.3] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^0.1->=0.1,<0.2] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^0.1-alpha.1->=0.1-alpha.1,<0.2] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^0.1.2->=0.1.2,<0.2.0] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^0.1.2-alpha.1->=0.1.2-alpha.1,<0.2.0] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^1->=1,<2] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^1.0->=1.0,<2.0] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^1.0.0->=1.0.0,<2.0.0] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[^1.0.0-alpha.1->=1.0.0-alpha.1,<2.0.0] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[~1->=1,<2] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[~1.0->=1.0,<1.1] PASSED tests/constraints/version/test_parse_constraint.py::test_constraints_keep_version_precision[~1.0.0->=1.0.0,<1.1.0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[*-constraint0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[*.*-constraint1] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[*.x.*-constraint3] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[1!2.3.4-constraint11] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[1.0.0a1.dev0-constraint14] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[1.2.3-constraint10] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[1.2.3b5-constraint13] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[<1.2.3-constraint6] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[<=1.2.3-constraint7] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[=1.0-constraint12] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[=1.2.3-constraint9] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[>1.0.0-constraint5] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[>=1.2.3-constraint8] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[>dev-constraint15] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[v*.*-constraint2] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint[x.X.x.*-constraint4] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^0-constraint1] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^0.0-constraint2] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^0.0.0-alpha.21-constraint12] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^0.0.3-alpha.21-constraint10] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^0.0.3-constraint9] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^0.1.3-alpha.21-constraint11] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^0.2-constraint7] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^0.2.0-constraint8] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^0.2.3-constraint6] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^1.0.0a1-constraint13] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^1.0.0a1.dev0-constraint14] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^1.2-constraint3] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^1.2.3-beta.2-constraint4] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^1.2.3-constraint5] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_caret[^v1-constraint0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_multi PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_multi_wildcard PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_multi_with_epochs[>1!2,<=2!3-output0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_multi_with_epochs[>=1!2,<2!3-output1] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~0.3-constraint9] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~1.0-constraint1] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~1.0.0-constraint2] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~1.0.0a1-constraint5] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~1.0.0a1.dev0-constraint6] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~1.2-b2-constraint8] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~1.2-beta-constraint7] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~1.2-constraint3] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~1.2.3-constraint4] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~3.5-constraint10] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~=3.5-constraint11] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~=3.5.3-constraint12] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~=3.5.3rc1-constraint13] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_tilde[~v1-constraint0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[0.*-constraint8] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[0.*.*-constraint9] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[0.x-constraint10] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.*.*-constraint1] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.0.*-constraint4] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.0.post1.*-constraint11] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.0a1.*-constraint12] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.0dev0.*-constraint13] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.2.X-constraint7] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.x-constraint5] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.x.x-constraint6] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[20.*-constraint2] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[20.*.*-constraint3] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[v2.*-constraint0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts0-expected0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts1-expected1] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts10-expected10] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts11-expected11] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts12-expected12] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts13-expected13] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts14-expected14] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts15-expected15] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts16-expected16] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts2-expected2] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts3-expected3] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts4-expected4] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts5-expected5] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts6-expected6] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts7-expected7] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts8-expected8] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[False-constraint_parts9-expected9] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts0-expected0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts1-expected1] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts10-expected10] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts11-expected11] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts12-expected12] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts13-expected13] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts14-expected14] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts15-expected15] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts16-expected16] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts2-expected2] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts3-expected3] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts4-expected4] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts5-expected5] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts6-expected6] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts7-expected7] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts8-expected8] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraint_with_white_space_padding[True-constraint_parts9-expected9] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_negative_wildcard[!=0.*-constraint3] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_negative_wildcard[!=0.*.*-constraint4] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_negative_wildcard[!=2.*.*-constraint1] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_negative_wildcard[!=2.0.*-constraint2] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_negative_wildcard[!=v2.*-constraint0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_with_trailing_comma[>3.7 , -constraint1] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_with_trailing_comma[>3.7 , || <3.6 , -constraint4] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_with_trailing_comma[>3.7, <3.8, || <3.6, >3.5-constraint5] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_with_trailing_comma[>3.7,-constraint0] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_with_trailing_comma[>3.7,<3.8,-constraint2] PASSED tests/constraints/version/test_parse_constraint.py::test_parse_constraints_with_trailing_comma[>3.7,||<3.6,-constraint3] PASSED tests/constraints/version/test_utils.py::test_constraint_regions[versions0-expected0] PASSED tests/constraints/version/test_utils.py::test_constraint_regions[versions1-expected1] PASSED tests/constraints/version/test_utils.py::test_constraint_regions[versions2-expected2] PASSED tests/constraints/version/test_utils.py::test_constraint_regions[versions3-expected3] PASSED tests/constraints/version/test_utils.py::test_constraint_regions[versions4-expected4] PASSED tests/constraints/version/test_utils.py::test_constraint_regions[versions5-expected5] PASSED tests/constraints/version/test_utils.py::test_constraint_regions[versions6-expected6] PASSED tests/constraints/version/test_version.py::test_allows PASSED tests/constraints/version/test_version.py::test_allows_all PASSED tests/constraints/version/test_version.py::test_allows_any[version10-version20-True] PASSED tests/constraints/version/test_version.py::test_allows_any[version11-version21-True] PASSED tests/constraints/version/test_version.py::test_allows_any[version12-version22-True] PASSED tests/constraints/version/test_version.py::test_allows_any[version13-version23-True] PASSED tests/constraints/version/test_version.py::test_allows_any[version14-version24-False] PASSED tests/constraints/version/test_version.py::test_allows_any[version15-version25-True] PASSED tests/constraints/version/test_version.py::test_allows_any[version16-version26-True] PASSED tests/constraints/version/test_version.py::test_allows_any[version17-version27-False] PASSED tests/constraints/version/test_version.py::test_allows_with_local PASSED tests/constraints/version/test_version.py::test_allows_with_post PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1-1.0.0.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1-1.0.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1-1.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1.2-1.2.0.0.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1.2-1.2.0.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1.2-1.2.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1.2.3-1.2.3.0.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1.2.3-1.2.3.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1.2.3.4-1.2.3.4.0.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1.2.3.4-1.2.3.4.0] PASSED tests/constraints/version/test_version.py::test_allows_zero_padding[1.2.3.4a1-1.2.3.4.0a1] PASSED tests/constraints/version/test_version.py::test_comparison[versions0] PASSED tests/constraints/version/test_version.py::test_comparison[versions1] PASSED tests/constraints/version/test_version.py::test_comparison[versions2] PASSED tests/constraints/version/test_version.py::test_difference PASSED tests/constraints/version/test_version.py::test_equality PASSED tests/constraints/version/test_version.py::test_intersect[version10-version20-expected0] PASSED tests/constraints/version/test_version.py::test_intersect[version11-version21-expected1] PASSED tests/constraints/version/test_version.py::test_intersect[version12-version22-expected2] PASSED tests/constraints/version/test_version.py::test_intersect[version13-version23-expected3] PASSED tests/constraints/version/test_version.py::test_intersect[version14-version24-expected4] PASSED tests/constraints/version/test_version.py::test_intersect[version15-version25-expected5] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0-1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0-alpha.1-1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0-0.1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0-alpha.1-0.1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.1-alpha.2-0.0.2] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.3.4-0.0.4.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.3.4a1-0.0.4.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.3.4a1.post2-0.0.4.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.3.4a1.post2.dev0-0.0.4.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.3.post1-0.0.4] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.3.post1.dev0-0.0.4] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.3dev0-0.0.4] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.post1-0.1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0.post1.dev0-0.1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0a1-0.1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0a1.post2-0.1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0a1.post2.dev0-0.1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.0dev0-0.1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.1.2-alpha.1-0.2.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2-0.3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2-alpha.1-0.3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3+local-0.3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3-0.3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3.4-0.3.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3.4a1-0.3.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3.4a1.post2-0.3.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3.4a1.post2.dev0-0.3.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3.post1-0.3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3.post1.dev0-0.3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3a1-0.3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3a1.post2-0.3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3a1.post2.dev0-0.3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.3dev0-0.3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.post1-0.3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2.post1.dev0-0.3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2a1-0.3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2a1.post2-0.3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2a1.post2.dev0-0.3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.2dev0-0.3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.a1-1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.a1.post2-1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.a1.post2.dev0-1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.dev0-1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.post1-1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[0.post1.dev0-1] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_0_is_treated_with_more_care_and_preserves_precision[2!0.2.3-2!0.3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1-2] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2-2.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2.3+local-2.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2.3-2.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2.3.4-2.0.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2.3.4dev0-2.0.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2.3.post1-2.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2.3.post1.dev0-2.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2.3dev0-2.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2.post1-2.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2.post1.dev0-2.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.2dev0-2.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.dev0-2] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.post1-2] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[1.post1.dev0-2] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2!1.2.3-2!2.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.2.3.4a1-3.0.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.2.3.4a1.post2-3.0.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.2.3.4a1.post2.dev0-3.0.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.2.3a1-3.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.2.3a1.post2-3.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.2.3a1.post2.dev0-3.0.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.2a1-3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.2a1.post2-3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.2a1.post2.dev0-3.0] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.a1-3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.a1.post2-3] PASSED tests/constraints/version/test_version.py::test_next_breaking_for_major_over_0_results_into_next_major_and_preserves_precision[2.a1.post2.dev0-3] PASSED tests/constraints/version/test_version.py::test_parse_invalid[None] PASSED tests/constraints/version/test_version.py::test_parse_invalid[example] PASSED tests/constraints/version/test_version.py::test_parse_valid[0.6c-version13] PASSED tests/constraints/version/test_version.py::test_parse_valid[0.6pre-version14] PASSED tests/constraints/version/test_version.py::test_parse_valid[1!2.3.4-version15] PASSED tests/constraints/version/test_version.py::test_parse_valid[1-version1] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0-version2] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0.0+1-version8] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0.0-1-version9] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0.0-b1-version6] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0.0-beta.1-version7] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0.0-post-version11] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0.0-post1-version12] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0.0-version0] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0.0.0-version10] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0.0b1-version5] PASSED tests/constraints/version/test_version.py::test_parse_valid[1.0b1-version4] PASSED tests/constraints/version/test_version.py::test_parse_valid[1b1-version3] PASSED tests/constraints/version/test_version.py::test_stable[1-1] PASSED tests/constraints/version/test_version.py::test_stable[1.2-1.2] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3+local-1.2.3+local] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3-1.2.3] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3.4-1.2.3.4] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3.4a1-1.2.3.4] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3.4a1.post2-1.2.3.4] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3.4a1.post2.dev0-1.2.3.4] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3.4dev0-1.2.3.4] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3.post1-1.2.3.post1] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3.post1.dev0-1.2.3.post1] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3a1-1.2.3] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3a1.post2-1.2.3] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3a1.post2.dev0-1.2.3] PASSED tests/constraints/version/test_version.py::test_stable[1.2.3dev0-1.2.3] PASSED tests/constraints/version/test_version.py::test_stable[1.2.post1-1.2.post1] PASSED tests/constraints/version/test_version.py::test_stable[1.2.post1.dev0-1.2.post1] PASSED tests/constraints/version/test_version.py::test_stable[1.2a1-1.2] PASSED tests/constraints/version/test_version.py::test_stable[1.2a1.post2-1.2] PASSED tests/constraints/version/test_version.py::test_stable[1.2a1.post2.dev0-1.2] PASSED tests/constraints/version/test_version.py::test_stable[1.2dev0-1.2] PASSED tests/constraints/version/test_version.py::test_stable[1.a1-1] PASSED tests/constraints/version/test_version.py::test_stable[1.a1.post2-1] PASSED tests/constraints/version/test_version.py::test_stable[1.a1.post2.dev0-1] PASSED tests/constraints/version/test_version.py::test_stable[1.dev0-1] PASSED tests/constraints/version/test_version.py::test_stable[1.post1-1.post1] PASSED tests/constraints/version/test_version.py::test_stable[1.post1.dev0-1.post1] PASSED tests/constraints/version/test_version.py::test_stable[2!1.2.3-2!1.2.3] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[ 1.0 -1.0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[00-0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[09000-9000] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1!2.3.4.5.6a7.post8.dev9+local1.123.abc-1!2.3.4.5.6a7.post8.dev9+local1.123.abc] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.0+foo0100-1.0+foo0100] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.0+ubuntu-1-1.0+ubuntu.1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.0+ubuntu_1-1.0+ubuntu.1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.0-1-1.0.post1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.0-r4-1.0.post4] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.0-rev4-1.0.post4] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1-a1-1.1a1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1.a1-1.1a1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1RC1-1.1rc1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1_a1-1.1a1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1a-1-1.1a1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1a.1-1.1a1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1a_1-1.1a1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1alpha1-1.1a1] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1beta2-1.1b2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1c3-1.1rc3] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1pre4-1.1rc4] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.1preview5-1.1rc5] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2-dev2-1.2.dev2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2-post2-1.2.post2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2.dev-1.2.dev0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2.dev2-1.2.dev2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2.post-1.2.post0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2.post2-1.2.post2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2_dev2-1.2.dev2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2_post2-1.2.post2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2a-1.2a0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2dev-2-1.2.dev2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2dev.2-1.2.dev2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2dev_2-1.2.dev2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2post-2-1.2.post2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2post.2-1.2.post2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[1.2post_2-1.2.post2] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[\n1.0\n-1.0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[\r\n1.0\r\n-1.0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[\t1.0\t-1.0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[\x0b1.0\x0b-1.0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[\x0c1.0\x0c-1.0] PASSED tests/constraints/version/test_version.py::test_to_string_normalizes[v1.0-1.0] PASSED tests/constraints/version/test_version.py::test_union PASSED tests/constraints/version/test_version.py::test_versions_are_sortable[unsorted0-sorted_0] PASSED tests/constraints/version/test_version.py::test_versions_are_sortable[unsorted1-sorted_1] PASSED tests/constraints/version/test_version.py::test_versions_are_sortable[unsorted2-sorted_2] PASSED tests/constraints/version/test_version.py::test_versions_are_sortable[unsorted3-sorted_3] PASSED tests/constraints/version/test_version.py::test_versions_are_sortable[unsorted4-sorted_4] PASSED tests/constraints/version/test_version.py::test_versions_are_sortable[unsorted5-sorted_5] PASSED tests/constraints/version/test_version_constraint.py::test_constraints_are_hashable[constraint0] PASSED tests/constraints/version/test_version_constraint.py::test_constraints_are_hashable[constraint1] PASSED tests/constraints/version/test_version_constraint.py::test_constraints_are_hashable[constraint2] PASSED tests/constraints/version/test_version_constraint.py::test_constraints_are_hashable[constraint3] PASSED tests/constraints/version/test_version_range.py::test_allows_all PASSED tests/constraints/version/test_version_range.py::test_allows_all_bordering_range_not_more_inclusive PASSED tests/constraints/version/test_version_range.py::test_allows_all_contained_unions PASSED tests/constraints/version/test_version_range.py::test_allows_all_with_no_max PASSED tests/constraints/version/test_version_range.py::test_allows_all_with_no_min PASSED tests/constraints/version/test_version_range.py::test_allows_any PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_explicit_with_max[local] PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_explicit_with_max[post] PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_explicit_with_min[local] PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_explicit_with_min[post] PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_with_max[local] PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_with_max[post] PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_with_min[local] PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_with_min[post] PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_with_post_and_local_max PASSED tests/constraints/version/test_version_range.py::test_allows_post_releases_with_post_and_local_min PASSED tests/constraints/version/test_version_range.py::test_intersect PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2-1.3-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.0.dev0-1.3-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.1.dev0-1.3.0.0-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.3.4.5.dev0-1.2.3.4.6-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0+local-1.3-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-1.3-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-1.3.0.0-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-1.3.0.0.dev0-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-1.3.dev0+local-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-1.3.dev0-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-1.3.dev1-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-1.3.post0.dev0-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-1.3a0.dev0-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-1.4-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-2.3-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev0-None-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.dev1-1.3-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2.post0-1.3-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.2a0-1.3-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.dev0-1.0.0.1-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[1.dev0-2-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[2.0.post1.dev0-2.0.post1-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[2.0.post1.dev0-2.0.post2-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[2.0.post1.dev0-2.0.post2.dev0-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[2.0.post1.dev0-2.0.post2.dev1-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[2.0.post1.dev0-2.0.post3-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[2.0.post1.dev1-2.0.post2-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[None-1.3-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range[None-None-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range_include_min_include_max[False-False-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range_include_min_include_max[False-True-False] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range_include_min_include_max[True-False-True] PASSED tests/constraints/version/test_version_range.py::test_is_single_wildcard_range_include_min_include_max[True-True-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1-<2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1->=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1-~=1.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.0-!=2!1.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.0-<2!0.1-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.0-<=2!0.1-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.0-==2!1.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.0-==2!1.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.0-~=2!1.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.0.1-~=1.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.1-~=1.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.1-~=1.0a1-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.1.0-~=1.0.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.1.post1-~=1.0.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[1.9999999-~=1.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0-!=1.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0-!=2!1.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0-==1.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0-==1.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0-==2!1.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0-==2!1.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0->2.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0->=2.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0-~=1.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2!1.0-~=2!1.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-!=2+deadbeef-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-!=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-!=2.0+deadbeef-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-!=2.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-!=2.0.0+deadbeef-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-!=2.0.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-==2+deadbeef-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-==2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-==2.0+deadbeef-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-==2.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-==2.0.0+deadbeef-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef-==2.0.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef.0-!=2.0.0+deadbeef.00-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+deadbeef.0-==2.0.0+deadbeef.00-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0+local.version->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-!=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-!=2.0+deadbeef-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-!=2.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-!=2.0.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-!=3.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-<2.1-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-<=2.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-<=2.0.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-==2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-==2.0+deadbeef-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-==2.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-==2.0.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-==3.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0->=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0->=2.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0->=2.0.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0-~=1.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.0-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.0-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.1-!=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.1-!=2.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.1-!=2.0.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.1->2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.5->2.0dev-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.dev0-<2.1-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.dev1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.dev1-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.dev1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.dev1->=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1-!=2.0.post1.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1-<=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1-==2.0.post1.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1->=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1.dev1-!=2.0.post1.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1.dev1-<=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1.dev1-==2.0.post1.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1.dev1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0.post1.dev1->=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0a1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0a1-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0a1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0a1->=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0a1.dev1-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0a1.dev1->=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0a1.post1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0a1.post1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0b1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0b1-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0b1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0b1->=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0b1.dev1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0b1.post1-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0b1.post1->=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0b2.dev1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0c1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0c1-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0c1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0c1->=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0c1.post1.dev1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0c1.post1.dev1-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0c1.post1.dev1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0c1.post1.dev1->=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0rc1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0rc1-<=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0rc1->2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.0rc1->=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1+local.version-==2.1.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1+local.version->2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1-!=2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1-!=2.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1-!=2.0.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1-==2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1-==2.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1-==2.0.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1-==2.0.0-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1->2.0-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.1.post1->2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.dev1-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.dev1-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.post1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2.post1.dev1-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2a1-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2a1-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2a1.post1-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2a1.post1-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2b1-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2b1-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2b1.dev1-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2b1.dev1-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2c1-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2c1-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2c1.post1.dev1-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2c1.post1.dev1-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2rc1-!=2.*-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[2rc1-==2.*-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[3-<2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[3-<=2-False] PASSED tests/constraints/version/test_version_range.py::test_specifiers[3->2-True] PASSED tests/constraints/version/test_version_range.py::test_specifiers[3->=2-True] PASSED tests/constraints/version/test_version_range.py::test_str[*-*] PASSED tests/constraints/version/test_version_range.py::test_str[1.*-==1.*] PASSED tests/constraints/version/test_version_range.py::test_str[1.0.*-==1.0.*] PASSED tests/constraints/version/test_version_range.py::test_str[1.2.*-==1.2.*] PASSED tests/constraints/version/test_version_range.py::test_str[1.2.3.4.5.*-==1.2.3.4.5.*] PASSED tests/constraints/version/test_version_range.py::test_str[2.0.post1.*-==2.0.post1.*] PASSED tests/constraints/version/test_version_range.py::test_str[2.1.post0.*-==2.1.post0.*] PASSED tests/constraints/version/test_version_range.py::test_str[<1.3-<1.3] PASSED tests/constraints/version/test_version_range.py::test_str[<=1.3-<=1.3] PASSED tests/constraints/version/test_version_range.py::test_str[>1.2->1.2] PASSED tests/constraints/version/test_version_range.py::test_str[>=1.2,<1.3->=1.2,<1.3] PASSED tests/constraints/version/test_version_range.py::test_str[>=1.2->=1.2] PASSED tests/constraints/version/test_version_range.py::test_str[>=1.dev0,<2-==1.*] PASSED tests/constraints/version/test_version_range.py::test_union PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1-1.0.0.1.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1-2.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2+local-1.3.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2-1.3-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2-1.3.0.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2-1.3.dev0+local-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2-1.3.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2-1.3.dev1-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2-1.3.post0.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2-1.3a0.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2-1.4.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2-2.3.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2.0.0-1.3.1.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2.0.0-1.3.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2.0.0.dev0-1.3.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2.3.4.5-1.2.3.4.6.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2.dev0-1.3.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2.dev1-1.3.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2.post0-1.3.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[1.2a0-1.3.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[2.0.post0-2.0.post2.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[2.0.post1-2.0.post1.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[2.0.post1-2.0.post2.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[2.0.post1-2.0.post2.dev1-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[2.0.post1.dev0-2.0.post2.dev0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range[2.0.post1.dev1-2.0.post2.dev0-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges0-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges1-True] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges2-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges3-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges4-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges5-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges6-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges7-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges8-False] PASSED tests/constraints/version/test_version_union.py::test_excludes_single_wildcard_range_basics[ranges9-False] PASSED tests/constraints/version/test_version_union.py::test_str[!=1.*-!=1.*] PASSED tests/constraints/version/test_version_union.py::test_str[!=1.0+local-!=1.0+local] PASSED tests/constraints/version/test_version_union.py::test_str[!=1.0-!=1.0] PASSED tests/constraints/version/test_version_union.py::test_str[!=1.0.*-!=1.0.*] PASSED tests/constraints/version/test_version_union.py::test_str[!=1.2.*-!=1.2.*] PASSED tests/constraints/version/test_version_union.py::test_str[!=1.2.3.4.5.*-!=1.2.3.4.5.*] PASSED tests/constraints/version/test_version_union.py::test_str[!=2.0.post1.*-!=2.0.post1.*] PASSED tests/constraints/version/test_version_union.py::test_str[!=2.1.post0.*-!=2.1.post0.*] PASSED tests/constraints/version/test_version_union.py::test_str[<1 || >=2-<1 || >=2] PASSED tests/constraints/version/test_version_union.py::test_str[<1 || >=2.dev0-!=1.*] PASSED tests/constraints/version/test_version_union.py::test_str[<1.2 || >=2.3.dev0-<1.2 || >=2.3.dev0] PASSED tests/json/test_poetry_schema.py::test_bad_extra PASSED tests/json/test_poetry_schema.py::test_git_dependencies[git@github.com:example/example-repository.git] PASSED tests/json/test_poetry_schema.py::test_git_dependencies[https://github.com/example/example-repository.git] PASSED tests/json/test_poetry_schema.py::test_invalid_mode PASSED tests/json/test_poetry_schema.py::test_multi_url_dependencies PASSED tests/json/test_poetry_schema.py::test_multiline_description[Some multi-\nline string] PASSED tests/json/test_poetry_schema.py::test_multiline_description[Some multiline string\n] PASSED tests/json/test_poetry_schema.py::test_multiline_description[\nSome multi-line string] PASSED tests/json/test_poetry_schema.py::test_non_package_mode_no_metadata PASSED tests/json/test_poetry_schema.py::test_non_package_mode_with_metadata PASSED tests/json/test_poetry_schema.py::test_package_mode[-False] PASSED tests/json/test_poetry_schema.py::test_package_mode[-True] PASSED tests/json/test_poetry_schema.py::test_package_mode[authors-False] PASSED tests/json/test_poetry_schema.py::test_package_mode[authors-True] PASSED tests/json/test_poetry_schema.py::test_package_mode[description-False] PASSED tests/json/test_poetry_schema.py::test_package_mode[description-True] PASSED tests/json/test_poetry_schema.py::test_package_mode[name-False] PASSED tests/json/test_poetry_schema.py::test_package_mode[name-True] PASSED tests/json/test_poetry_schema.py::test_package_mode[version-False] PASSED tests/json/test_poetry_schema.py::test_package_mode[version-True] PASSED tests/json/test_poetry_schema.py::test_path_dependencies PASSED tests/masonry/builders/test_builder.py::test_builder_convert_entry_points[script_callable_legacy_string-result1] PASSED tests/masonry/builders/test_builder.py::test_builder_convert_entry_points[script_callable_legacy_table-result0] PASSED tests/masonry/builders/test_builder.py::test_builder_convert_entry_points[script_reference_console-result2] PASSED tests/masonry/builders/test_builder.py::test_builder_convert_entry_points[script_reference_file-result3] PASSED tests/masonry/builders/test_builder.py::test_builder_convert_script_files[script_callable_legacy_string-result1] PASSED tests/masonry/builders/test_builder.py::test_builder_convert_script_files[script_callable_legacy_table-result0] PASSED tests/masonry/builders/test_builder.py::test_builder_convert_script_files[script_reference_console-result2] PASSED tests/masonry/builders/test_builder.py::test_builder_convert_script_files[script_reference_file-result3] PASSED tests/masonry/builders/test_builder.py::test_builder_find_case_sensitive_excluded_files PASSED tests/masonry/builders/test_builder.py::test_builder_find_excluded_files PASSED tests/masonry/builders/test_builder.py::test_builder_find_invalid_case_sensitive_excluded_files PASSED tests/masonry/builders/test_builder.py::test_building_not_possible_in_non_package_mode PASSED tests/masonry/builders/test_builder.py::test_entrypoint_scripts_legacy_warns[script_callable_legacy_table] PASSED tests/masonry/builders/test_builder.py::test_get_metadata_content PASSED tests/masonry/builders/test_builder.py::test_invalid_script_files_definition PASSED tests/masonry/builders/test_builder.py::test_metadata_homepage_default PASSED tests/masonry/builders/test_builder.py::test_metadata_pretty_name PASSED tests/masonry/builders/test_builder.py::test_metadata_with_readme_files PASSED tests/masonry/builders/test_builder.py::test_metadata_with_url_dependencies PASSED tests/masonry/builders/test_builder.py::test_metadata_with_vcs_dependencies PASSED tests/masonry/builders/test_builder.py::test_metadata_with_wildcard_dependency_constraint PASSED tests/masonry/builders/test_builder.py::test_missing_script_files_throws_error PASSED tests/masonry/builders/test_complete.py::test_complete[False] PASSED tests/masonry/builders/test_complete.py::test_complete[True] PASSED tests/masonry/builders/test_complete.py::test_module_src PASSED tests/masonry/builders/test_complete.py::test_package_src PASSED tests/masonry/builders/test_complete.py::test_package_with_include PASSED tests/masonry/builders/test_complete.py::test_respect_format_for_explicit_included_files PASSED tests/masonry/builders/test_complete.py::test_split_source PASSED tests/masonry/builders/test_complete.py::test_wheel_c_extension[extended-extended] PASSED tests/masonry/builders/test_complete.py::test_wheel_c_extension[extended_with_no_setup-extended] PASSED tests/masonry/builders/test_complete.py::test_wheel_c_extension[src_extended-src/extended] PASSED tests/masonry/builders/test_sdist.py::test_convert_dependencies PASSED tests/masonry/builders/test_sdist.py::test_default_with_excluded_data PASSED tests/masonry/builders/test_sdist.py::test_excluded_subpackage PASSED tests/masonry/builders/test_sdist.py::test_find_files_to_add PASSED tests/masonry/builders/test_sdist.py::test_find_files_to_add_with_multiple_readme_files PASSED tests/masonry/builders/test_sdist.py::test_find_packages PASSED tests/masonry/builders/test_sdist.py::test_includes PASSED tests/masonry/builders/test_sdist.py::test_includes_with_inline_table PASSED tests/masonry/builders/test_sdist.py::test_make_pkg_info PASSED tests/masonry/builders/test_sdist.py::test_make_pkg_info_any_python PASSED tests/masonry/builders/test_sdist.py::test_make_pkg_info_multi_constraints_dependency PASSED tests/masonry/builders/test_sdist.py::test_make_setup PASSED tests/masonry/builders/test_sdist.py::test_module PASSED tests/masonry/builders/test_sdist.py::test_package PASSED tests/masonry/builders/test_sdist.py::test_prelease PASSED tests/masonry/builders/test_sdist.py::test_proper_python_requires_if_three_digits_precision_version_specified PASSED tests/masonry/builders/test_sdist.py::test_proper_python_requires_if_two_digits_precision_version_specified PASSED tests/masonry/builders/test_sdist.py::test_sdist_disable_setup_py PASSED tests/masonry/builders/test_sdist.py::test_sdist_mtime_zero PASSED tests/masonry/builders/test_sdist.py::test_sdist_package_pep_561_stub_only PASSED tests/masonry/builders/test_sdist.py::test_sdist_reproducibility PASSED tests/masonry/builders/test_sdist.py::test_setup_py_context PASSED tests/masonry/builders/test_sdist.py::test_split_source PASSED tests/masonry/builders/test_sdist.py::test_src_excluded_nested_data PASSED tests/masonry/builders/test_sdist.py::test_with_build_script_in_subdir PASSED tests/masonry/builders/test_sdist.py::test_with_c_extensions[extended] PASSED tests/masonry/builders/test_sdist.py::test_with_c_extensions[extended_legacy_config] PASSED tests/masonry/builders/test_sdist.py::test_with_c_extensions_src_layout PASSED tests/masonry/builders/test_sdist.py::test_with_src_module_dir PASSED tests/masonry/builders/test_sdist.py::test_with_src_module_file PASSED tests/masonry/builders/test_wheel.py::test_build_py_only_included PASSED tests/masonry/builders/test_wheel.py::test_default_src_with_excluded_data PASSED tests/masonry/builders/test_wheel.py::test_dist_info_file_permissions PASSED tests/masonry/builders/test_wheel.py::test_extended_editable_build_inplace PASSED tests/masonry/builders/test_wheel.py::test_extended_editable_wheel_build PASSED tests/masonry/builders/test_wheel.py::test_include_excluded_code PASSED tests/masonry/builders/test_wheel.py::test_tag[False] PASSED tests/masonry/builders/test_wheel.py::test_tag[True] PASSED tests/masonry/builders/test_wheel.py::test_wheel_build_script_creates_package PASSED tests/masonry/builders/test_wheel.py::test_wheel_epoch PASSED tests/masonry/builders/test_wheel.py::test_wheel_excluded_data PASSED tests/masonry/builders/test_wheel.py::test_wheel_excluded_nested_data PASSED tests/masonry/builders/test_wheel.py::test_wheel_file_is_closed PASSED tests/masonry/builders/test_wheel.py::test_wheel_includes_inline_table PASSED tests/masonry/builders/test_wheel.py::test_wheel_includes_licenses_in_correct_paths PASSED tests/masonry/builders/test_wheel.py::test_wheel_localversionlabel PASSED tests/masonry/builders/test_wheel.py::test_wheel_module PASSED tests/masonry/builders/test_wheel.py::test_wheel_module_src PASSED tests/masonry/builders/test_wheel.py::test_wheel_package PASSED tests/masonry/builders/test_wheel.py::test_wheel_package_pep_561_stub_only[pep_561_stub_only] PASSED tests/masonry/builders/test_wheel.py::test_wheel_package_pep_561_stub_only[pep_561_stub_only_partial] PASSED tests/masonry/builders/test_wheel.py::test_wheel_package_pep_561_stub_only[pep_561_stub_only_src] PASSED tests/masonry/builders/test_wheel.py::test_wheel_package_pep_561_stub_only_includes_typed_marker PASSED tests/masonry/builders/test_wheel.py::test_wheel_package_pep_561_stub_only_partial_namespace PASSED tests/masonry/builders/test_wheel.py::test_wheel_package_src PASSED tests/masonry/builders/test_wheel.py::test_wheel_prerelease PASSED tests/masonry/builders/test_wheel.py::test_wheel_with_file_with_comma PASSED tests/masonry/test_api.py::test_build_editable_wheel PASSED tests/masonry/test_api.py::test_build_editable_wheel_with_metadata_directory PASSED tests/masonry/test_api.py::test_build_sdist PASSED tests/masonry/test_api.py::test_build_sdist_with_bad_path_dep_succeeds PASSED tests/masonry/test_api.py::test_build_sdist_with_bad_path_dev_dep_succeeds PASSED tests/masonry/test_api.py::test_build_sdist_with_include PASSED tests/masonry/test_api.py::test_build_wheel PASSED tests/masonry/test_api.py::test_build_wheel_extended PASSED tests/masonry/test_api.py::test_build_wheel_with_bad_path_dep_succeeds PASSED tests/masonry/test_api.py::test_build_wheel_with_bad_path_dev_dep_succeeds PASSED tests/masonry/test_api.py::test_build_wheel_with_include PASSED tests/masonry/test_api.py::test_build_wheel_with_metadata_directory PASSED tests/masonry/test_api.py::test_get_requires_for_build_sdist PASSED tests/masonry/test_api.py::test_get_requires_for_build_wheel PASSED tests/masonry/test_api.py::test_prepare_metadata_for_build_wheel PASSED tests/masonry/test_api.py::test_prepare_metadata_for_build_wheel_with_bad_path_dep_succeeds PASSED tests/masonry/test_api.py::test_prepare_metadata_for_build_wheel_with_bad_path_dev_dep_succeeds PASSED tests/masonry/test_builder.py::test_builder_creates_packages_in_dist_directory_if_no_output_is_specified[all] PASSED tests/masonry/test_builder.py::test_builder_creates_packages_in_dist_directory_if_no_output_is_specified[sdist] PASSED tests/masonry/test_builder.py::test_builder_creates_packages_in_dist_directory_if_no_output_is_specified[wheel] PASSED tests/masonry/test_builder.py::test_builder_creates_places_built_files_in_specified_directory[all] PASSED tests/masonry/test_builder.py::test_builder_creates_places_built_files_in_specified_directory[sdist] PASSED tests/masonry/test_builder.py::test_builder_creates_places_built_files_in_specified_directory[wheel] PASSED tests/masonry/test_builder.py::test_builder_factory_raises_error_when_format_is_not_valid PASSED tests/masonry/test_builder.py::test_builder_raises_error_in_non_package_mode[all] PASSED tests/masonry/test_builder.py::test_builder_raises_error_in_non_package_mode[sdist] PASSED tests/masonry/test_builder.py::test_builder_raises_error_in_non_package_mode[wheel] PASSED tests/masonry/utils/test_helpers.py::test_escape_name[FOO-bAr-foo_bar] PASSED tests/masonry/utils/test_helpers.py::test_escape_name[foo-bar-foo_bar] PASSED tests/masonry/utils/test_helpers.py::test_escape_name[foo-foo] PASSED tests/masonry/utils/test_helpers.py::test_escape_name[foo.bar-foo_bar] PASSED tests/masonry/utils/test_helpers.py::test_escape_name[foo123-ba---.r-foo123_ba_r] PASSED tests/masonry/utils/test_package_include.py::test_package_include_with_multiple_dirs PASSED tests/masonry/utils/test_package_include.py::test_package_include_with_nested_dir PASSED tests/masonry/utils/test_package_include.py::test_package_include_with_no_python_files_in_dir PASSED tests/masonry/utils/test_package_include.py::test_package_include_with_non_existent_directory PASSED tests/masonry/utils/test_package_include.py::test_package_include_with_simple_dir PASSED tests/masonry/utils/test_package_include.py::test_pep_561_stub_only_package_bad_name_suffix PASSED tests/masonry/utils/test_package_include.py::test_pep_561_stub_only_package_good_name_suffix PASSED tests/masonry/utils/test_package_include.py::test_pep_561_stub_only_partial_namespace_package_good_name_suffix PASSED tests/packages/test_dependency.py::test_allows_prerelease[False-^1.0.0-1] PASSED tests/packages/test_dependency.py::test_allows_prerelease[False-^1.0.0.alpha0+local] PASSED tests/packages/test_dependency.py::test_allows_prerelease[False-^1.0.0.alpha0] PASSED tests/packages/test_dependency.py::test_allows_prerelease[False-^1.0.0.dev0] PASSED tests/packages/test_dependency.py::test_allows_prerelease[False-^1.0.0.rc0+local] PASSED tests/packages/test_dependency.py::test_allows_prerelease[False-^1.0.0] PASSED tests/packages/test_dependency.py::test_allows_prerelease[False-^1.0.dev0] PASSED tests/packages/test_dependency.py::test_allows_prerelease[False-^1.0] PASSED tests/packages/test_dependency.py::test_allows_prerelease[True-^1.0.0-1] PASSED tests/packages/test_dependency.py::test_allows_prerelease[True-^1.0.0.alpha0+local] PASSED tests/packages/test_dependency.py::test_allows_prerelease[True-^1.0.0.alpha0] PASSED tests/packages/test_dependency.py::test_allows_prerelease[True-^1.0.0.dev0] PASSED tests/packages/test_dependency.py::test_allows_prerelease[True-^1.0.0.rc0+local] PASSED tests/packages/test_dependency.py::test_allows_prerelease[True-^1.0.0] PASSED tests/packages/test_dependency.py::test_allows_prerelease[True-^1.0.dev0] PASSED tests/packages/test_dependency.py::test_allows_prerelease[True-^1.0] PASSED tests/packages/test_dependency.py::test_complete_name PASSED tests/packages/test_dependency.py::test_create_from_pep_508_starting_with_digit PASSED tests/packages/test_dependency.py::test_create_from_pep_508_url_with_activated_extras PASSED tests/packages/test_dependency.py::test_dependency_markers_are_the_same_as_markers PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A-!=0.*-None-A (!=0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A-!=0.0.*-None-A (!=0.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A-!=0.1.*-None-A (!=0.1.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A-==0.*-None-A (==0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A-==0.0.*-None-A (==0.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A-==0.1.*-None-A (==0.1.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A-==2.*-None-A (==2.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A-==2.0.*-None-A (==2.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->2.7,<3.0-None-A (>2.7,<3.0)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->2.7,<3.0-extras1-A[x] (>2.7,<3.0)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1,<2-None-A (>=1,<2)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.0.0.0.dev0,<1.1.0.0.0-None-A (==1.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.0.dev0,<1.1-None-A (==1.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.0.dev0,<2-None-A (==1.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.0.dev0,<2.0.dev0-None-A (==1.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.0.dev0,<2.0.dev1-None-A (>=1.0.dev0,<2.0.dev1)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.0.dev1,<2-None-A (>=1.0.dev1,<2)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.1.dev0,<2-None-A (>=1.1.dev0,<2)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.6.5,<1.8.0 || >1.8.0,<3.1.0-None-A (>=1.6.5,!=1.8.0,<3.1.0)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.6.5,<1.8.0 || >1.8.0,<3.1.0-extras3-A[x] (>=1.6.5,!=1.8.0,<3.1.0)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,!=2.*-None-A (>=1.8,!=2.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,!=2.*.*-None-A (>=1.8,!=2.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,!=2.0.*,!=3.0.*-None-A (>=1.8,!=2.0.*,!=3.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,!=2.0.*-None-A (>=1.8,!=2.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,<2 || >=2.1.0.dev0-None-A (>=1.8,!=2.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,<2 || >=2.1.dev0-None-A (>=1.8,!=2.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,<2.0 || >=2.1.0.dev0-None-A (>=1.8,!=2.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,<2.0 || >=2.1.5-None-A (>=1.8,<2.0 || >=2.1.5)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,<2.0 || >=2.2.0-None-A (>=1.8,<2.0 || >=2.2.0)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,<2.0 || >=3.dev0-None-A (>=1.8,!=2.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8,<2.0.0 || >=3.0.0.dev0-None-A (>=1.8,!=2.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8.0.0,!=2.0.0.*-None-A (>=1.8.0.0,!=2.0.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8.0.0,<2 || >=2.0.1.0.dev0-None-A (>=1.8.0.0,!=2.0.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8.0.0,<2 || >=2.0.1.5-None-A (>=1.8.0.0,<2 || >=2.0.1.5)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.8.0.0,<2.0.0.0 || >=2.0.1.0.dev0-None-A (>=1.8.0.0,!=2.0.0.*)] PASSED tests/packages/test_dependency.py::test_dependency_string_representation[A->=1.dev0,<2-None-A (==1.*)] PASSED tests/packages/test_dependency.py::test_eq[dependency10-dependency20-True] PASSED tests/packages/test_dependency.py::test_eq[dependency11-dependency21-False] PASSED tests/packages/test_dependency.py::test_eq[dependency12-dependency22-False] PASSED tests/packages/test_dependency.py::test_eq[dependency13-dependency23-False] PASSED tests/packages/test_dependency.py::test_eq[dependency14-dependency24-True] PASSED tests/packages/test_dependency.py::test_eq[dependency15-dependency25-False] PASSED tests/packages/test_dependency.py::test_eq[dependency16-dependency26-False] PASSED tests/packages/test_dependency.py::test_marker_properly_sets_python_constraint[python_version >= "3.6" and python_version < "4.0"->=3.6,<4.0] PASSED tests/packages/test_dependency.py::test_marker_properly_sets_python_constraint[python_version >= "3.9" and sys_platform == "linux"->=3.9] PASSED tests/packages/test_dependency.py::test_marker_properly_sets_python_constraint[python_version >= "3.9" or sys_platform == "linux"-*] PASSED tests/packages/test_dependency.py::test_marker_properly_sets_python_constraint[sys_platform == "linux"-*] PASSED tests/packages/test_dependency.py::test_marker_properly_unsets_python_constraint PASSED tests/packages/test_dependency.py::test_mutable_attributes_not_in_hash[constraint-2.0] PASSED tests/packages/test_dependency.py::test_mutable_attributes_not_in_hash[marker-sys_platform == 'linux'] PASSED tests/packages/test_dependency.py::test_mutable_attributes_not_in_hash[python_versions-<3.8] PASSED tests/packages/test_dependency.py::test_mutable_attributes_not_in_hash[transitive_marker-sys_platform == 'linux'] PASSED tests/packages/test_dependency.py::test_mutable_attributes_not_in_hash[transitive_python_versions-<3.8] PASSED tests/packages/test_dependency.py::test_set_bogus_constraint_raises_exception PASSED tests/packages/test_dependency.py::test_set_constraint_sets_pretty_constraint PASSED tests/packages/test_dependency.py::test_to_pep_508 PASSED tests/packages/test_dependency.py::test_to_pep_508_caret PASSED tests/packages/test_dependency.py::test_to_pep_508_combination PASSED tests/packages/test_dependency.py::test_to_pep_508_in_extras PASSED tests/packages/test_dependency.py::test_to_pep_508_in_extras_parsed PASSED tests/packages/test_dependency.py::test_to_pep_508_tilde PASSED tests/packages/test_dependency.py::test_to_pep_508_wilcard PASSED tests/packages/test_dependency.py::test_to_pep_508_with_excluded_versions[!=1.2.*-!=1.2.*] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_excluded_versions[!=1.2.3-!=1.2.3] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_excluded_versions[<2.0 || >=2.1.dev0-!=2.0.*] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_invalid_marker[enum34; extra == ":python_version < '3.4'"] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_invalid_marker[enum34; extra == ':python_version < "3.4"'] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_invalid_requirement[enum34; extra == ":python_version < "3.4""] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_patch_python_version[<3.5.4-python_full_version < "3.5.4"] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_patch_python_version[== 3.5.4-python_full_version == "3.5.4"] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_patch_python_version[>=3.5,<3.5.4-python_version >= "3.5" and python_full_version < "3.5.4"] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_patch_python_version[>=3.5.4,<3.6-python_full_version >= "3.5.4" and python_version < "3.6"] PASSED tests/packages/test_dependency.py::test_to_pep_508_with_patch_python_version[>=3.5.4-python_full_version >= "3.5.4"] PASSED tests/packages/test_dependency.py::test_with_constraint PASSED tests/packages/test_dependency_group.py::test_dependency_group_remove_dependency PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_does_not_exist PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_is_file PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_is_not_a_python_project PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_minimal PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_non_poetry_pep517[project_with_pep517_non_poetry-PEP 517] PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_non_poetry_pep517[project_with_setup_cfg_only-setup.cfg] PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_pep_508_extras PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_pep_508_local_absolute PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_pep_508_local_relative PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_pep_508_localhost PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_pep_508_with_marker PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_pep_508_with_subdirectory PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_string_representation[my-package-path0-None-None-my-package (*) @ file://$(@D)/tests/fixtures/sample_project] PASSED tests/packages/test_directory_dependency.py::test_directory_dependency_string_representation[my-package-path1-extras1-1.2-my-package[db] (1.2) @ file://$(@D)/tests/fixtures/sample_project] PASSED tests/packages/test_file_dependency.py::test_default_hash PASSED tests/packages/test_file_dependency.py::test_file_dependency_does_not_exist PASSED tests/packages/test_file_dependency.py::test_file_dependency_is_directory PASSED tests/packages/test_file_dependency.py::test_file_dependency_pep_508_extras PASSED tests/packages/test_file_dependency.py::test_file_dependency_pep_508_local_file_absolute PASSED tests/packages/test_file_dependency.py::test_file_dependency_pep_508_local_file_localhost PASSED tests/packages/test_file_dependency.py::test_file_dependency_pep_508_local_file_relative_path PASSED tests/packages/test_file_dependency.py::test_file_dependency_pep_508_with_subdirectory PASSED tests/packages/test_file_dependency.py::test_file_dependency_string_representation[demo-path0-None-None-demo (*) @ file://$(@D)/tests/fixtures/distributions/demo-0.1.0.tar.gz] PASSED tests/packages/test_file_dependency.py::test_file_dependency_string_representation[demo-path1-extras1-1.2-demo[foo] (1.2) @ file://$(@D)/tests/fixtures/distributions/demo-0.1.0.tar.gz] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[blake2b-48e70abac547ab38e2330e6e6743a0c0f6274dcaa6df2c98135a78a9dd5b04a072d551fc3851b34da03eb0bf50dd71c7f32a8c36956e99fd6c66491bc7844800] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[blake2s-c336ecbc9d867c9d860accfba4c3723c51c4b5c47a1e0a955e1c8df499e36741] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[sha1-4c057579005ac3e68e951a11ffdc4b27c6ae16af] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[sha224-972d02f36539a98599aed0566bc8aaf3e6701f4e895dd797d8f5248e] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[sha256-72e8531e49038c5f9c4a837b088bfcb8011f4a9f76335c8f0654df6ac539b3d6] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[sha384-aa3144e28c6700a83247e8ec8711af5d3f5f75997990d48ec41e66bd275b3d0e19ee6f2fe525a358f874aa717afd06a9] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[sha3_224-64bfc6e4125b4c6d67fd88ad1c7d1b5c4dc11a1970e433cd576c91d4] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[sha3_256-ba3d2a964b0680b6dc9565a03952e29c294c785d5a2307d3e2d785d73b75ed7e] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[sha3_384-d4abb2459941369aabf8880c5287b7eeb80678e14f13c71b9ecf64c772029dc3f93939590bea9ecdb51a1d1a74fefc5a] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[sha3_512-c04ee109ae52d6440445e24dbd6d244a1d0f0289ef79cb7ba9bc3c139c0237169af9a8f61cd1cf4fc17f853ddf84f97c475ac5bb6c91a4aff0b825b884d4896c] PASSED tests/packages/test_file_dependency.py::test_guaranteed_hash[sha512-e08a00a4b86358e49a318e7e3ba7a3d2fabdd17a2fef95559a0af681ea07ab1296b0b8e11e645297da296290661dc07ae3c8f74eab66bd18a80dce0c0ccb355b] PASSED tests/packages/test_file_dependency.py::test_relative_file_dependency_to_pep_508_with_marker PASSED tests/packages/test_file_dependency.py::test_to_pep_508_with_marker PASSED tests/packages/test_main.py::test_dependency_from_pep_508 PASSED tests/packages/test_main.py::test_dependency_from_pep_508_complex PASSED tests/packages/test_main.py::test_dependency_from_pep_508_should_not_produce_empty_constraints_for_correct_markers PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_constraint PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_extras PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_git_url PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_git_url_and_comment_and_extra PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_git_url_and_subdirectory PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_not_in_op_marker PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_parens PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_platform PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_python_full_version PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_python_full_version_pep440_compatible_release_astrix PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_python_full_version_pep440_compatible_release_tilde PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_python_version PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_python_version_union_of_multi PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_single_python_version PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_url PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_url_and_subdirectory PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_version PASSED tests/packages/test_main.py::test_dependency_from_pep_508_with_wheel_url PASSED tests/packages/test_main.py::test_dependency_platform_in[win32 darwin] PASSED tests/packages/test_main.py::test_dependency_platform_in[win32, darwin] PASSED tests/packages/test_main.py::test_dependency_platform_in[win32|darwin] PASSED tests/packages/test_main.py::test_dependency_python_version_in_[3.3 3.4 3.5] PASSED tests/packages/test_main.py::test_dependency_python_version_in_[3.3, 3.4, 3.5] PASSED tests/packages/test_main.py::test_dependency_python_version_in_[3.3|3.4|3.5] PASSED tests/packages/test_main.py::test_dependency_with_extra PASSED tests/packages/test_package.py::test_cannot_update_package_version PASSED tests/packages/test_package.py::test_complete_name PASSED tests/packages/test_package.py::test_dependency_groups PASSED tests/packages/test_package.py::test_get_readme_property_with_multiple_readme_files PASSED tests/packages/test_package.py::test_only_with_dependency_groups PASSED tests/packages/test_package.py::test_package_add_dependency_vcs_groups[groups0] PASSED tests/packages/test_package.py::test_package_add_dependency_vcs_groups[groups1] PASSED tests/packages/test_package.py::test_package_add_dependency_vcs_groups_default_main PASSED tests/packages/test_package.py::test_package_author_names_invalid[] PASSED tests/packages/test_package.py::test_package_author_names_invalid[Jane+Doe] PASSED tests/packages/test_package.py::test_package_author_names_invalid[John? Doe] PASSED tests/packages/test_package.py::test_package_author_names_invalid[John~Doe] PASSED tests/packages/test_package.py::test_package_author_names_invalid[john@john.doe] PASSED tests/packages/test_package.py::test_package_author_names_invalid[~John Doe] PASSED tests/packages/test_package.py::test_package_authors PASSED tests/packages/test_package.py::test_package_authors_invalid PASSED tests/packages/test_package.py::test_package_authors_valid["Jane Doe"-None] PASSED tests/packages/test_package.py::test_package_authors_valid['Jane Doe'-None] PASSED tests/packages/test_package.py::test_package_authors_valid[(Doe, John)-None] PASSED tests/packages/test_package.py::test_package_authors_valid[Doe, John-None] PASSED tests/packages/test_package.py::test_package_authors_valid[Doe, John-dj@john.doe] PASSED tests/packages/test_package.py::test_package_authors_valid[John Doe the 3rd-3rd@jd.net] PASSED tests/packages/test_package.py::test_package_authors_valid[John Doe-None] PASSED tests/packages/test_package.py::test_package_authors_valid[John Doe-john@john.doe] PASSED tests/packages/test_package.py::test_package_authors_valid[John-Paul: Doe-None] PASSED tests/packages/test_package.py::test_package_authors_valid[John-Paul: Doe-jp@nomail.none] PASSED tests/packages/test_package.py::test_package_authors_valid[MyCompany's R&D-rnd@MyCompanyName.MyTLD] PASSED tests/packages/test_package.py::test_package_authors_valid[MyCompany-None] PASSED tests/packages/test_package.py::test_package_authors_valid[MyCompanyName R&D-rnd@MyCompanyName.MyTLD] PASSED tests/packages/test_package.py::test_package_authors_valid[S\xe9bastien Eustace-sebastien@eustace.io] PASSED tests/packages/test_package.py::test_package_authors_valid[Some Company\u2019s-None] PASSED tests/packages/test_package.py::test_package_clone PASSED tests/packages/test_package.py::test_package_equality_simple PASSED tests/packages/test_package.py::test_package_equality_source_reference PASSED tests/packages/test_package.py::test_package_equality_source_subdirectory PASSED tests/packages/test_package.py::test_package_equality_source_type PASSED tests/packages/test_package.py::test_package_equality_source_url PASSED tests/packages/test_package.py::test_package_invalid_python_versions PASSED tests/packages/test_package.py::test_package_invalid_version PASSED tests/packages/test_package.py::test_package_pep592_default_not_yanked PASSED tests/packages/test_package.py::test_package_pep592_yanked[-True-] PASSED tests/packages/test_package.py::test_package_pep592_yanked[False-False-] PASSED tests/packages/test_package.py::test_package_pep592_yanked[True-True-] PASSED tests/packages/test_package.py::test_package_pep592_yanked[the reason-True-the reason] PASSED tests/packages/test_package.py::test_package_resolved_reference_is_relevant_for_equality_only_if_present_for_both_packages PASSED tests/packages/test_package.py::test_package_satisfies[package0-dependency0-False-True] PASSED tests/packages/test_package.py::test_package_satisfies[package1-dependency1-False-False] PASSED tests/packages/test_package.py::test_package_satisfies[package2-dependency2-False-False] PASSED tests/packages/test_package.py::test_package_satisfies[package3-dependency3-True-True] PASSED tests/packages/test_package.py::test_package_satisfies[package4-dependency4-True-False] PASSED tests/packages/test_package.py::test_package_satisfies_on_repositories[private-None-True] PASSED tests/packages/test_package.py::test_package_satisfies_on_repositories[private-private-True] PASSED tests/packages/test_package.py::test_package_satisfies_on_repositories[private-pypi-False] PASSED tests/packages/test_package.py::test_package_satisfies_on_repositories[pypi-None-True] PASSED tests/packages/test_package.py::test_package_satisfies_on_repositories[pypi-private-False] PASSED tests/packages/test_package.py::test_package_satisfies_on_repositories[pypi-pypi-True] PASSED tests/packages/test_package.py::test_package_url_groups_optional[False-groups0] PASSED tests/packages/test_package.py::test_package_url_groups_optional[False-groups1] PASSED tests/packages/test_package.py::test_package_url_groups_optional[True-groups0] PASSED tests/packages/test_package.py::test_package_url_groups_optional[True-groups1] PASSED tests/packages/test_package.py::test_project_package_hash_not_changed_when_version_is_changed PASSED tests/packages/test_package.py::test_project_package_version_update_string PASSED tests/packages/test_package.py::test_project_package_version_update_version PASSED tests/packages/test_package.py::test_python_versions_are_made_precise PASSED tests/packages/test_package.py::test_set_readme_property PASSED tests/packages/test_package.py::test_to_dependency PASSED tests/packages/test_package.py::test_to_dependency_for_directory PASSED tests/packages/test_package.py::test_to_dependency_for_file PASSED tests/packages/test_package.py::test_to_dependency_for_url PASSED tests/packages/test_package.py::test_to_dependency_for_vcs PASSED tests/packages/test_package.py::test_to_dependency_with_features PASSED tests/packages/test_package.py::test_to_dependency_with_python_constraint PASSED tests/packages/test_package.py::test_with_dependency_groups PASSED tests/packages/test_package.py::test_without_dependency_groups PASSED tests/packages/test_package.py::test_without_optional_dependency_groups PASSED tests/packages/test_specification.py::test_equal_specifications_have_same_hash[spec10-spec20] PASSED tests/packages/test_specification.py::test_equal_specifications_have_same_hash[spec11-spec21] PASSED tests/packages/test_specification.py::test_equal_specifications_have_same_hash[spec12-spec22] PASSED tests/packages/test_specification.py::test_equal_specifications_have_same_hash[spec13-spec23] PASSED tests/packages/test_specification.py::test_equal_specifications_have_same_hash[spec14-spec24] PASSED tests/packages/test_specification.py::test_is_direct_origin[None-False] PASSED tests/packages/test_specification.py::test_is_direct_origin[directory-True] PASSED tests/packages/test_specification.py::test_is_direct_origin[file-True] PASSED tests/packages/test_specification.py::test_is_direct_origin[git-True] PASSED tests/packages/test_specification.py::test_is_direct_origin[legacy-False] PASSED tests/packages/test_specification.py::test_is_direct_origin[url-True] PASSED tests/packages/test_specification.py::test_is_same_package_source_type[spec10-spec20-True] PASSED tests/packages/test_specification.py::test_is_same_package_source_type[spec11-spec21-True] PASSED tests/packages/test_specification.py::test_is_same_package_source_type[spec12-spec22-False] PASSED tests/packages/test_specification.py::test_is_same_package_source_type[spec13-spec23-False] PASSED tests/packages/test_specification.py::test_is_same_package_source_type[spec14-spec24-False] PASSED tests/packages/test_specification.py::test_specification_provides[spec10-spec20-True] PASSED tests/packages/test_specification.py::test_specification_provides[spec11-spec21-False] PASSED tests/packages/test_specification.py::test_specification_provides[spec12-spec22-True] PASSED tests/packages/test_specification.py::test_specification_provides[spec13-spec23-True] PASSED tests/packages/test_specification.py::test_specification_provides[spec14-spec24-False] PASSED tests/packages/test_specification.py::test_specification_provides[spec15-spec25-False] PASSED tests/packages/test_specification.py::test_specification_provides[spec16-spec26-False] PASSED tests/packages/test_specification.py::test_specification_provides[spec17-spec27-True] PASSED tests/packages/test_url_dependency.py::test_directory_dependency_string_representation[example-https://example.org/example.whl-None-None-example (*) @ https://example.org/example.whl] PASSED tests/packages/test_url_dependency.py::test_directory_dependency_string_representation[example-https://example.org/example.whl-extras1-1.2-example[foo] (1.2) @ https://example.org/example.whl] PASSED tests/packages/test_url_dependency.py::test_to_pep_508 PASSED tests/packages/test_url_dependency.py::test_to_pep_508_with_extras PASSED tests/packages/test_url_dependency.py::test_to_pep_508_with_marker PASSED tests/packages/test_url_dependency.py::test_to_pep_508_with_subdirectory PASSED tests/packages/test_vcs_dependency.py::test_category[groups0] PASSED tests/packages/test_vcs_dependency.py::test_category[groups1] PASSED tests/packages/test_vcs_dependency.py::test_directory_dependency_string_representation[example-https://example.org/example.git-main-None-None-example (*) @ git+https://example.org/example.git@main] PASSED tests/packages/test_vcs_dependency.py::test_directory_dependency_string_representation[example-https://example.org/example.git-main-extras1-1.2-example[foo] (1.2) @ git+https://example.org/example.git@main] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508[kwargs0-poetry @ git+https://github.com/python-poetry/poetry.git] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508[kwargs1-poetry[foo] @ git+https://github.com/python-poetry/poetry.git] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508[kwargs2-poetry[bar,foo] @ git+https://github.com/python-poetry/poetry.git] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508[kwargs3-poetry[bar,foo] @ git+https://github.com/python-poetry/poetry.git@main] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508[kwargs4-poetry @ git+https://github.com/python-poetry/poetry.git@main] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508[kwargs5-poetry @ git+https://github.com/python-poetry/poetry.git@1.0] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508[kwargs6-poetry @ git+https://github.com/python-poetry/poetry.git@12345] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508[kwargs7-poetry @ git+https://github.com/python-poetry/poetry.git#subdirectory=sub] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508[kwargs8-poetry @ git+https://github.com/python-poetry/poetry.git@main#subdirectory=sub] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_in_extras PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_resolved[kwargs0-poetry @ git+https://github.com/python-poetry/poetry.git] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_resolved[kwargs1-poetry[foo] @ git+https://github.com/python-poetry/poetry.git] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_resolved[kwargs2-poetry[bar,foo] @ git+https://github.com/python-poetry/poetry.git] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_resolved[kwargs3-poetry[bar,foo] @ git+https://github.com/python-poetry/poetry.git@aaaa] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_resolved[kwargs4-poetry @ git+https://github.com/python-poetry/poetry.git@aaaa] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_resolved[kwargs5-poetry @ git+https://github.com/python-poetry/poetry.git@aaaa] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_resolved[kwargs6-poetry @ git+https://github.com/python-poetry/poetry.git@aaaa] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_resolved[kwargs7-poetry @ git+https://github.com/python-poetry/poetry.git#subdirectory=sub] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_resolved[kwargs8-poetry @ git+https://github.com/python-poetry/poetry.git@aaaa#subdirectory=sub] PASSED tests/packages/test_vcs_dependency.py::test_to_pep_508_ssh PASSED tests/packages/test_vcs_dependency.py::test_vcs_dependencies_are_equal_if_resolved_references_match PASSED tests/packages/test_vcs_dependency.py::test_vcs_dependency_can_have_resolved_reference_specified PASSED tests/packages/utils/test_utils.py::test_convert_markers[(python_version < "2.7" or python_full_version >= "3.0.0") and extra == "foo"-expected4] PASSED tests/packages/utils/test_utils.py::test_convert_markers[(python_version < "2.7" or python_full_version >= "3.0.0") and python_full_version < "3.6.0"-expected3] PASSED tests/packages/utils/test_utils.py::test_convert_markers[python_version == "2.7" or python_version == "2.6"-expected2] PASSED tests/packages/utils/test_utils.py::test_convert_markers[python_version >= "3.9" and sys_platform == "linux"-expected6] PASSED tests/packages/utils/test_utils.py::test_convert_markers[python_version >= "3.9" or sys_platform == "linux"-expected5] PASSED tests/packages/utils/test_utils.py::test_convert_markers[sys_platform == "win32" and python_version < "3.6" or sys_platform == "linux" and python_version < "3.6" and python_version >= "3.3" or sys_platform == "darwin" and python_version < "3.3"-expected0] PASSED tests/packages/utils/test_utils.py::test_convert_markers[sys_platform == "win32" and python_version < "3.6" or sys_platform == "win32" and python_version < "3.6" and python_version >= "3.3" or sys_platform == "win32" and python_version < "3.3"-expected1] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_base_constraint[!=linux, !=win32-sys_platform != "linux" and sys_platform != "win32"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_base_constraint[!=win32-sys_platform != "win32"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_base_constraint[*-] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_base_constraint[==linux || ==win32-sys_platform == "linux" or sys_platform == "win32"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_base_constraint[==linux-sys_platform == "linux"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[*-] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[3-python_version == "3"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[3.9-python_version == "3.9"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[3.9.0-python_full_version == "3.9.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[3.9.1-python_full_version == "3.9.1"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[<3-python_version < "3"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[<3.7 || >=3.8-(python_version < "3.7") or (python_version >= "3.8")] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[<3.9-python_version < "3.9"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[<3.9.0-python_full_version < "3.9.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[<3.9.1-python_full_version < "3.9.1"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[<=3-python_full_version <= "3.0.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[<=3.9-python_full_version <= "3.9.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[<=3.9.0-python_full_version <= "3.9.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[<=3.9.1-python_full_version <= "3.9.1"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>3-python_full_version > "3.0.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>3.7, <3.9-python_full_version > "3.7.0" and python_version < "3.9"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>3.7, <=3.9-python_full_version > "3.7.0" and python_full_version <= "3.9.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>3.9-python_full_version > "3.9.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>3.9.0-python_full_version > "3.9.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>3.9.1-python_full_version > "3.9.1"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>=3-python_version >= "3"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>=3.7, <3.9-python_version >= "3.7" and python_version < "3.9"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>=3.7, <=3.9-python_version >= "3.7" and python_full_version <= "3.9.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>=3.7,<3.8 || >=3.9,<=3.10-(python_version >= "3.7" and python_version < "3.8") or (python_version >= "3.9" and python_full_version <= "3.10.0")] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>=3.9-python_version >= "3.9"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>=3.9.0-python_full_version >= "3.9.0"] PASSED tests/packages/utils/test_utils.py::test_create_nested_marker_version_constraint[>=3.9.1-python_full_version >= "3.9.1"] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[(python_version < "2.7" or python_full_version >= "3.0.0") and python_full_version < "3.6.0"-<2.7 || >=3.0,<3.6] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_full_version == "3.6.1"-3.6.1] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_full_version >= "3.6.1" and python_full_version < "4.0.0"->=3.6.1, <4.0.0] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version != "3.6"-!=3.6.*] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version != "3.6.* "-!=3.6.*] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version != "3.6.*"-!=3.6.*] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version < "3"-<3] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version < "3.6" or python_version >= "3.9"-<3.6 || >=3.9] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version < "3.6"-<3.6] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version <= "3"-<3] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version <= "3.6"-<3.7] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version == "3.6"-~3.6] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version == "3.6.* "-==3.6.*] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version == "3.6.*"-==3.6.*] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version > "3"->=3] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version > "3.6"->=3.7] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version >= "3"->=3] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version >= "3.5" and python_full_version != "3.7.6"->=3.5,<3.7.6 || >3.7.6] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version >= "3.6" and python_full_version < "4.0"->=3.6, <4.0] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version >= "3.6"->=3.6] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version >= "3.7" and python_version < "3.8" or python_version >= "3.9" and python_version < "3.10"->=3.7,<3.8 || >=3.9,<3.10] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version >= "3.9" and sys_platform == "linux"->=3.9] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version >= "3.9" or sys_platform == "linux"-*] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version in "2.7, 3.6"->=2.7.0,<2.8.0 || >=3.6.0,<3.7.0] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version in "2.7, 3.6.2"->=2.7.0,<2.8.0 || 3.6.2] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version not in "2.7, 3.6"-<2.7.0 || >=2.8.0,<3.6.0 || >=3.7.0] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[python_version not in "2.7, 3.6.2"-<2.7.0 || >=2.8.0,<3.6.2 || >3.6.2] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[sys_platform != "linux" and sys_platform != "win32"-*] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[sys_platform == "linux" or sys_platform == "win32"-*] PASSED tests/packages/utils/test_utils.py::test_get_python_constraint_from_marker[sys_platform == "linux"-*] PASSED tests/packages/utils/test_utils.py::test_is_python_project[does_not_exist-False] PASSED tests/packages/utils/test_utils.py::test_is_python_project[project_with_pep517_non_poetry-True] PASSED tests/packages/utils/test_utils.py::test_is_python_project[project_with_setup-True] PASSED tests/packages/utils/test_utils.py::test_is_python_project[project_with_setup_cfg_only-True] PASSED tests/packages/utils/test_utils.py::test_is_python_project[project_without_pep517-False] PASSED tests/packages/utils/test_utils.py::test_is_python_project[simple_project-True] PASSED tests/packages/utils/test_utils_link.py::test_package_link_hash PASSED tests/packages/utils/test_utils_link.py::test_package_link_hashes PASSED tests/packages/utils/test_utils_link.py::test_package_link_is_checks[cp36-cp36m-manylinux1_x86_64.whl-wheel] PASSED tests/packages/utils/test_utils_link.py::test_package_link_is_checks[egg-egg] PASSED tests/packages/utils/test_utils_link.py::test_package_link_is_checks[tar.gz-sdist] PASSED tests/packages/utils/test_utils_link.py::test_package_link_is_checks[whl-wheel] PASSED tests/packages/utils/test_utils_link.py::test_package_link_is_checks[zip-sdist] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep592_default_not_yanked PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep592_yanked[-True-] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep592_yanked[False-False-] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep592_yanked[True-True-] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep592_yanked[the reason-True-the reason] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep658[egg-False] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep658[tar.gz-True] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep658[whl-True] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep658[zip-True] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep658_no_default_metadata PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep658_non_hash_metadata_value[-False] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep658_non_hash_metadata_value[false-False] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep658_non_hash_metadata_value[true-True] PASSED tests/packages/utils/test_utils_link.py::test_package_link_pep691 PASSED tests/packages/utils/test_utils_urls.py::test_path_to_url_unix PASSED tests/packages/utils/test_utils_urls.py::test_path_to_url_win SKIPPED tests/packages/utils/test_utils_urls.py::test_url_to_path[file:///c:/tmp/file-C:\\tmp\\file-/c:/tmp/file] PASSED tests/packages/utils/test_utils_urls.py::test_url_to_path[file:///tmp/file-\\tmp\\file-/tmp/file] PASSED tests/packages/utils/test_utils_urls.py::test_url_to_path[file://localhost/c:/tmp/file-C:\\tmp\\file-/c:/tmp/file] PASSED tests/packages/utils/test_utils_urls.py::test_url_to_path[file://localhost/tmp/file-\\tmp\\file-/tmp/file] PASSED tests/packages/utils/test_utils_urls.py::test_url_to_path[file://somehost/tmp/file-\\\\somehost\\tmp\\file-None] PASSED tests/packages/utils/test_utils_urls.py::test_url_to_path[file:/path/to/file-\\path\\to\\file-/path/to/file] PASSED tests/packages/utils/test_utils_urls.py::test_url_to_path[file:c:/path/to/file-C:\\path\\to\\file-c:/path/to/file] PASSED tests/packages/utils/test_utils_urls.py::test_url_to_path[file:tmp-tmp-tmp] PASSED tests/packages/utils/test_utils_urls.py::test_url_to_path_path_to_url_symmetry_win SKIPPED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_build_requires_as_dependencies PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_no_build_system_defaults PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_no_poetry_config PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_non_existent PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_poetry_config PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_simple PASSED tests/spdx/test_helpers.py::test_license_by_id PASSED tests/spdx/test_helpers.py::test_license_by_id_custom PASSED tests/spdx/test_helpers.py::test_license_by_id_invalid PASSED tests/spdx/test_helpers.py::test_license_by_id_is_case_insensitive PASSED tests/spdx/test_helpers.py::test_license_by_id_with_full_name PASSED tests/spdx/test_license.py::test_classifier PASSED tests/spdx/test_license.py::test_classifier_name PASSED tests/spdx/test_license.py::test_classifier_name_no_classifer PASSED tests/spdx/test_license.py::test_classifier_name_no_classifer_osi_approved PASSED tests/spdx/test_license.py::test_classifier_no_classifer PASSED tests/spdx/test_license.py::test_classifier_no_classifer_osi_approved PASSED tests/spdx/test_license.py::test_custom_license PASSED tests/spdx/test_license.py::test_proprietary_license PASSED tests/test_core_version.py::test_version_is_synced PASSED tests/test_factory.py::test_all_classifiers_unique_even_if_classifiers_is_duplicated PASSED tests/test_factory.py::test_create_dependency_marker_variants[constraint0-~3.7-python_version == "3.7"] PASSED tests/test_factory.py::test_create_dependency_marker_variants[constraint1-*-sys_platform == "linux"] PASSED tests/test_factory.py::test_create_dependency_marker_variants[constraint2-~3.7-python_version == "3.7"] PASSED tests/test_factory.py::test_create_dependency_marker_variants[constraint3-*-platform_machine == "x86_64"] PASSED tests/test_factory.py::test_create_dependency_marker_variants[constraint4-~3.7-platform_machine == "x86_64" and python_version == "3.7"] PASSED tests/test_factory.py::test_create_dependency_marker_variants[constraint5-*-platform_machine == "x86_64" and sys_platform == "linux"] PASSED tests/test_factory.py::test_create_dependency_marker_variants[constraint6-~3.7-platform_machine == "x86_64" and python_version == "3.7" and sys_platform == "linux"] PASSED tests/test_factory.py::test_create_dependency_marker_variants[constraint7-<4.0 >=3.7-python_version < "4.0" and python_version >= "3.7"] PASSED tests/test_factory.py::test_create_dependency_marker_variants[constraint8-*-] PASSED tests/test_factory.py::test_create_poetry PASSED tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration PASSED tests/test_factory.py::test_create_poetry_fails_on_invalid_mode PASSED tests/test_factory.py::test_create_poetry_non_package_mode PASSED tests/test_factory.py::test_create_poetry_omits_dev_dependencies_iff_with_dev_is_false PASSED tests/test_factory.py::test_create_poetry_with_dependencies_with_subdirectory PASSED tests/test_factory.py::test_create_poetry_with_groups_and_explicit_main PASSED tests/test_factory.py::test_create_poetry_with_groups_and_legacy_dev PASSED tests/test_factory.py::test_create_poetry_with_invalid_dev_dependencies PASSED tests/test_factory.py::test_create_poetry_with_markers_and_extras PASSED tests/test_factory.py::test_create_poetry_with_multi_constraints_dependency PASSED tests/test_factory.py::test_create_poetry_with_packages_and_includes PASSED tests/test_factory.py::test_strict_validation_fails_on_readme_files_with_unmatching_types PASSED tests/test_factory.py::test_strict_validation_success_on_multiple_readme_files PASSED tests/test_factory.py::test_validate PASSED tests/test_factory.py::test_validate_fails PASSED tests/test_factory.py::test_validate_strict_fails_strict_and_non_strict PASSED tests/test_factory.py::test_validate_without_strict_fails_only_non_strict PASSED tests/utils/test_helpers.py::test_parse_requires PASSED tests/utils/test_helpers.py::test_robust_rmtree PASSED tests/utils/test_helpers.py::test_temporary_directory_python_3_10_or_newer PASSED tests/utils/test_helpers.py::test_temporary_directory_python_3_9_or_older PASSED tests/utils/test_helpers.py::test_utils_helpers_combine_unicode PASSED tests/utils/test_helpers.py::test_utils_helpers_readme_content_type[README-text/plain] PASSED tests/utils/test_helpers.py::test_utils_helpers_readme_content_type[README.md-text/markdown] PASSED tests/utils/test_helpers.py::test_utils_helpers_readme_content_type[README.rst-text/x-rst] PASSED tests/utils/test_helpers.py::test_utils_helpers_readme_content_type[readme3-text/x-rst] PASSED tests/utils/test_helpers.py::test_utils_helpers_readme_content_type[readme4-text/markdown] PASSED tests/utils/test_helpers.py::test_utils_helpers_readme_content_type[readme5-text/plain] PASSED tests/utils/test_helpers.py::test_utils_helpers_temporary_directory_readonly_file PASSED tests/vcs/test_vcs.py::test_ensure_absolute_path_to_git SKIPPED (Ret...) tests/vcs/test_vcs.py::test_get_vcs_encoding PASSED tests/vcs/test_vcs.py::test_git_checkout_raises_error_on_invalid_repository PASSED tests/vcs/test_vcs.py::test_git_clone_raises_error_on_invalid_repository PASSED tests/vcs/test_vcs.py::test_git_rev_parse_raises_error_on_invalid_repository PASSED tests/vcs/test_vcs.py::test_normalize_url[git+file:///foo/bar.git-normalized15] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+file://C:\\Users\\hello$\\testing.git#zkat/windows-files-normalized17] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+file://C:\\Users\\hello\\testing.git#zkat/windows-files-normalized16] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+http://user@hostname/project/blah.git@commit-normalized1] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://git.example.com/sdispater/project/my_repo.git-normalized18] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://github.com/demo/pyproject-demo-subdirectory.git#commit#subdirectory=project-normalized23] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://github.com/demo/pyproject-demo-subdirectory.git#commit&subdirectory=project-normalized22] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://github.com/demo/pyproject-demo-subdirectory.git#subdirectory=project-normalized20] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://github.com/demo/pyproject-demo-subdirectory.git@commit#subdirectory=project-normalized21] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://github.com/demo/pyproject-demo-subdirectory.git@commit&subdirectory=project-normalized24] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://github.com/demo/pyproject-demo-subdirectory.git@subdirectory#subdirectory=subdirectory-normalized25] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://github.com/sdispater/pendulum#7a018f2d075b03a73409e8356f9b29c9ad4ea2c5-normalized12] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://github.com/sdispater/pendulum-normalized11] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://user@hostname/project%20~_-.foo/blah%20~_-.bar.git-normalized3] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://user@hostname/project/blah.git-normalized2] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+https://user@hostname:project/blah.git-normalized4] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+ssh://foo:22/some/path-normalized9] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+ssh://git@git.example.com:b/b.git#v1.0.0-normalized13] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git-normalized19] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+ssh://git@github.com/org/repo-normalized8] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+ssh://git@github.com:/sdispater/poetry.git-normalized6] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+ssh://git@github.com:org/repo-normalized7] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+ssh://git@github.com:sdispater/pendulum.git#foo/bar-normalized14] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+ssh://git@github.com:sdispater/poetry.git#v1.0.27-normalized5] PASSED tests/vcs/test_vcs.py::test_normalize_url[git+ssh://user@hostname:project.git#commit-normalized0] PASSED tests/vcs/test_vcs.py::test_normalize_url[git@github.com:org/repo-normalized10] PASSED tests/vcs/test_vcs.py::test_parse_url[git+file:///foo/bar.git-parsed16] PASSED tests/vcs/test_vcs.py::test_parse_url[git+file://C:\\Users\\hello\\testing.git#zkat/windows-files-parsed17] PASSED tests/vcs/test_vcs.py::test_parse_url[git+http://user@hostname/project/blah.git@commit-parsed1] PASSED tests/vcs/test_vcs.py::test_parse_url[git+https://git.example.com/sdispater/project/my_repo.git-parsed18] PASSED tests/vcs/test_vcs.py::test_parse_url[git+https://github.com/sdispater/pendulum#7a018f2d075b03a73409e8356f9b29c9ad4ea2c5-parsed13] PASSED tests/vcs/test_vcs.py::test_parse_url[git+https://github.com/sdispater/pendulum-parsed12] PASSED tests/vcs/test_vcs.py::test_parse_url[git+https://user@hostname/project%20~_-.foo/blah%20~_-.bar.git-parsed3] PASSED tests/vcs/test_vcs.py::test_parse_url[git+https://user@hostname/project/blah.git-parsed2] PASSED tests/vcs/test_vcs.py::test_parse_url[git+https://user@hostname:project/blah.git-parsed4] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://foo:22/some/path-parsed10] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:b/b.git#v1.0.0-parsed14] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git#commit&subdirectory=project-dir-parsed21] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git#subdirectory=project-dir-parsed20] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git-parsed19] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git@commit#egg=package&subdirectory=project_dir-parsed24] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git@commit#subdirectory=project-dir-parsed22] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git@commit&subdirectory=project_dir-parsed23] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@github.com/org/repo-parsed9] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@github.com:/sdispater/poetry.git-parsed7] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@github.com:org/repo-parsed8] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@github.com:sdispater/pendulum.git#foo/bar-parsed15] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@github.com:sdispater/poetry.git#egg=name-parsed6] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@github.com:sdispater/poetry.git#v1.0.27-parsed5] PASSED tests/vcs/test_vcs.py::test_parse_url[git+ssh://user@hostname:project.git#commit-parsed0] PASSED tests/vcs/test_vcs.py::test_parse_url[git@github.com:org/repo-parsed11] PASSED tests/vcs/test_vcs.py::test_parse_url_should_fail PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[1-1] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[1-2] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[1-3] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[1-4] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[1-5] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[2-1] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[2-2] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[2-3] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[2-4] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[2-5] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[3-1] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[3-2] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[3-3] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[3-4] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[3-5] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[4-1] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[4-2] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[4-3] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[4-4] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[4-5] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[5-1] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[5-2] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[5-3] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[5-4] PASSED tests/version/pep440/test_segments.py::test_release_equal_zero_padding[5-5] PASSED tests/version/pep440/test_segments.py::test_release_from_parts_to_parts[parts0-result0] PASSED tests/version/pep440/test_segments.py::test_release_from_parts_to_parts[parts1-result1] PASSED tests/version/pep440/test_segments.py::test_release_from_parts_to_parts[parts2-result2] PASSED tests/version/pep440/test_segments.py::test_release_from_parts_to_parts[parts3-result3] PASSED tests/version/pep440/test_segments.py::test_release_from_parts_to_parts[parts4-result4] PASSED tests/version/pep440/test_segments.py::test_release_next[release0-expected0] PASSED tests/version/pep440/test_segments.py::test_release_next[release1-expected1] PASSED tests/version/pep440/test_segments.py::test_release_next[release2-expected2] PASSED tests/version/pep440/test_segments.py::test_release_next[release3-expected3] PASSED tests/version/pep440/test_segments.py::test_release_next[release4-expected4] PASSED tests/version/pep440/test_segments.py::test_release_next[release5-expected5] PASSED tests/version/pep440/test_segments.py::test_release_next[release6-expected6] PASSED tests/version/pep440/test_segments.py::test_release_next[release7-expected7] PASSED tests/version/pep440/test_segments.py::test_release_next[release8-expected8] PASSED tests/version/pep440/test_segments.py::test_release_next[release9-expected9] PASSED tests/version/pep440/test_segments.py::test_release_next_major[1] PASSED tests/version/pep440/test_segments.py::test_release_next_major[2] PASSED tests/version/pep440/test_segments.py::test_release_next_major[3] PASSED tests/version/pep440/test_segments.py::test_release_next_major[4] PASSED tests/version/pep440/test_segments.py::test_release_next_major[5] PASSED tests/version/pep440/test_segments.py::test_release_next_minor[1] PASSED tests/version/pep440/test_segments.py::test_release_next_minor[2] PASSED tests/version/pep440/test_segments.py::test_release_next_minor[3] PASSED tests/version/pep440/test_segments.py::test_release_next_minor[4] PASSED tests/version/pep440/test_segments.py::test_release_next_minor[5] PASSED tests/version/pep440/test_segments.py::test_release_next_patch[1] PASSED tests/version/pep440/test_segments.py::test_release_next_patch[2] PASSED tests/version/pep440/test_segments.py::test_release_next_patch[3] PASSED tests/version/pep440/test_segments.py::test_release_next_patch[4] PASSED tests/version/pep440/test_segments.py::test_release_next_patch[5] PASSED tests/version/pep440/test_segments.py::test_release_post_init_minor_and_patch PASSED tests/version/pep440/test_segments.py::test_release_post_init_zero_version PASSED tests/version/pep440/test_segments.py::test_release_precision[1] PASSED tests/version/pep440/test_segments.py::test_release_precision[2] PASSED tests/version/pep440/test_segments.py::test_release_precision[3] PASSED tests/version/pep440/test_segments.py::test_release_precision[4] PASSED tests/version/pep440/test_segments.py::test_release_precision[5] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[-] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[a] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[alpha] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[b] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[beta] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[c] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[dev] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[post] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[pre] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[preview] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[r] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[rc] PASSED tests/version/pep440/test_segments.py::test_release_tag_next[rev] PASSED tests/version/pep440/test_segments.py::test_release_tag_next_phase[parts0-result0] PASSED tests/version/pep440/test_segments.py::test_release_tag_next_phase[parts1-result1] PASSED tests/version/pep440/test_segments.py::test_release_tag_next_phase[parts2-None] PASSED tests/version/pep440/test_segments.py::test_release_tag_next_phase[parts3-None] PASSED tests/version/pep440/test_segments.py::test_release_tag_next_phase[parts4-None] PASSED tests/version/pep440/test_segments.py::test_release_tag_next_phase[parts5-None] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts0-result0] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts1-result1] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts2-result2] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts3-result3] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts4-result4] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts5-result5] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts6-result6] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts7-result7] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts8-result8] PASSED tests/version/pep440/test_segments.py::test_release_tag_normalisation[parts9-result9] PASSED tests/version/pep440/test_segments.py::test_release_text[1] PASSED tests/version/pep440/test_segments.py::test_release_text[2] PASSED tests/version/pep440/test_segments.py::test_release_text[3] PASSED tests/version/pep440/test_segments.py::test_release_text[4] PASSED tests/version/pep440/test_segments.py::test_release_text[5] PASSED tests/version/pep440/test_version.py::test_first_devrelease[1-1.dev0] PASSED tests/version/pep440/test_version.py::test_first_devrelease[1.post2-1.post2.dev0] PASSED tests/version/pep440/test_version.py::test_first_devrelease[1a1-1a1.dev0] PASSED tests/version/pep440/test_version.py::test_first_devrelease[9!1.2.3a1.post2.dev3-9!1.2.3a1.post2.dev0] PASSED tests/version/pep440/test_version.py::test_first_prerelease[1-1a0] PASSED tests/version/pep440/test_version.py::test_first_prerelease[9!1.2.3a1.post2.dev3-9!1.2.3a0] PASSED tests/version/pep440/test_version.py::test_is_devrelease[1-False] PASSED tests/version/pep440/test_version.py::test_is_devrelease[1.a0.dev0-True] PASSED tests/version/pep440/test_version.py::test_is_devrelease[1.dev0-True] PASSED tests/version/pep440/test_version.py::test_is_devrelease[9!1.2.3a1.post2.dev3-True] PASSED tests/version/pep440/test_version.py::test_is_local[1+local-True] PASSED tests/version/pep440/test_version.py::test_is_local[1+local.dev0-True] PASSED tests/version/pep440/test_version.py::test_is_local[1-False] PASSED tests/version/pep440/test_version.py::test_is_local[9!1.2.3a1.post2.dev3+local-True] PASSED tests/version/pep440/test_version.py::test_is_no_suffix_release[1+local-True] PASSED tests/version/pep440/test_version.py::test_is_no_suffix_release[1-True] PASSED tests/version/pep440/test_version.py::test_is_no_suffix_release[1.2-True] PASSED tests/version/pep440/test_version.py::test_is_no_suffix_release[1.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_no_suffix_release[1.post0-False] PASSED tests/version/pep440/test_version.py::test_is_no_suffix_release[1a0-False] PASSED tests/version/pep440/test_version.py::test_is_postrelease[1-False] PASSED tests/version/pep440/test_version.py::test_is_postrelease[1.post1-True] PASSED tests/version/pep440/test_version.py::test_is_postrelease[9!1.2.3a1.post2.dev3-True] PASSED tests/version/pep440/test_version.py::test_is_prerelease[1-False] PASSED tests/version/pep440/test_version.py::test_is_prerelease[1.a0-True] PASSED tests/version/pep440/test_version.py::test_is_prerelease[1.a0.dev0-True] PASSED tests/version/pep440/test_version.py::test_is_prerelease[1.b1-True] PASSED tests/version/pep440/test_version.py::test_is_prerelease[1.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_prerelease[1.rc3-True] PASSED tests/version/pep440/test_version.py::test_is_prerelease[9!1.2.3a1.post2.dev3-True] PASSED tests/version/pep440/test_version.py::test_is_stable[1-True] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2-True] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3+local-True] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3-True] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3.4-True] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3.4a1-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3.4a1.post2-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3.4a1.post2.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3.4dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3.post1-True] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3.post1.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3a1-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3a1.post2-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3a1.post2.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.3dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.post1-True] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2.post1.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2a1-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2a1.post2-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2a1.post2.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.2dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.a1-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.a1.post2-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.a1.post2.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[1.post1-True] PASSED tests/version/pep440/test_version.py::test_is_stable[1.post1.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable[2!1.2.3-True] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0-True] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2-True] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3+local-True] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3-True] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3.4-True] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3.4a1-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3.4a1.post2-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3.4a1.post2.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3.4dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3.post1-True] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3.post1.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3a1-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3a1.post2-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3a1.post2.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.3dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.post1-True] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2.post1.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2a1-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2a1.post2-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2a1.post2.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.2dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.a1-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.a1.post2-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.a1.post2.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.post1-True] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[0.post1.dev0-False] PASSED tests/version/pep440/test_version.py::test_is_stable_all_major_0_versions_are_treated_as_normal_versions[2!0.2.3-True] PASSED tests/version/pep440/test_version.py::test_next_devrelease[0.dev0-0.dev1] PASSED tests/version/pep440/test_version.py::test_next_devrelease[9!1.2.3a1.post2.dev3-9!1.2.3a1.post2.dev4] PASSED tests/version/pep440/test_version.py::test_next_major[1+local-2] PASSED tests/version/pep440/test_version.py::test_next_major[1-2] PASSED tests/version/pep440/test_version.py::test_next_major[1.2-2.0] PASSED tests/version/pep440/test_version.py::test_next_major[1.2.3-2.0.0] PASSED tests/version/pep440/test_version.py::test_next_major[1.2.3.4-2.0.0.0] PASSED tests/version/pep440/test_version.py::test_next_major[1.2.dev0-2.0] PASSED tests/version/pep440/test_version.py::test_next_major[1.2.post1-2.0] PASSED tests/version/pep440/test_version.py::test_next_major[1.2.post1.dev0-2.0] PASSED tests/version/pep440/test_version.py::test_next_major[1.2a1-2.0] PASSED tests/version/pep440/test_version.py::test_next_major[1.2a1.post2-2.0] PASSED tests/version/pep440/test_version.py::test_next_major[1.2a1.post2.dev0-2.0] PASSED tests/version/pep440/test_version.py::test_next_major[1.a1-1] PASSED tests/version/pep440/test_version.py::test_next_major[1.a1.post2-1] PASSED tests/version/pep440/test_version.py::test_next_major[1.a1.post2.dev0-1] PASSED tests/version/pep440/test_version.py::test_next_major[1.dev0-1] PASSED tests/version/pep440/test_version.py::test_next_major[1.post1-2] PASSED tests/version/pep440/test_version.py::test_next_major[1.post1.dev0-2] PASSED tests/version/pep440/test_version.py::test_next_major[2!1-2!2] PASSED tests/version/pep440/test_version.py::test_next_minor[1-1.1] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2+local-1.3] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2-1.3] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2.3-1.3.0] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2.3.4-1.3.0.0] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2.3.post1-1.3.0] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2.3a1-1.3.0] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2.3a1.post2-1.3.0] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2.3a1.post2.dev0-1.3.0] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2.3dev0-1.3.0] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2.post1-1.3] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2.post1.dev0-1.3] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2a1-1.2] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2a1.post2-1.2] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2a1.post2.dev0-1.2] PASSED tests/version/pep440/test_version.py::test_next_minor[1.2dev0-1.2] PASSED tests/version/pep440/test_version.py::test_next_minor[1.a1-1] PASSED tests/version/pep440/test_version.py::test_next_minor[1.a1.post2-1] PASSED tests/version/pep440/test_version.py::test_next_minor[1.a1.post2.dev0-1] PASSED tests/version/pep440/test_version.py::test_next_minor[1.dev0-1] PASSED tests/version/pep440/test_version.py::test_next_minor[1.post1-1.1] PASSED tests/version/pep440/test_version.py::test_next_minor[1.post1.dev0-1.1] PASSED tests/version/pep440/test_version.py::test_next_minor[2!1.2-2!1.3] PASSED tests/version/pep440/test_version.py::test_next_patch[1-1.0.1] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2-1.2.1] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3+local-1.2.4] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3-1.2.4] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3.4-1.2.4.0] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3.4a1-1.2.4.0] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3.4a1.post2-1.2.4.0] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3.4a1.post2.dev0-1.2.4.0] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3.4dev0-1.2.4.0] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3.post1-1.2.4] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3.post1.dev0-1.2.4] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3a1-1.2.3] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3a1.post2-1.2.3] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3a1.post2.dev0-1.2.3] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.3dev0-1.2.3] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.post1-1.2.1] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2.post1.dev0-1.2.1] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2a1-1.2] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2a1.post2-1.2] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2a1.post2.dev0-1.2] PASSED tests/version/pep440/test_version.py::test_next_patch[1.2dev0-1.2] PASSED tests/version/pep440/test_version.py::test_next_patch[1.a1-1] PASSED tests/version/pep440/test_version.py::test_next_patch[1.a1.post2-1] PASSED tests/version/pep440/test_version.py::test_next_patch[1.a1.post2.dev0-1] PASSED tests/version/pep440/test_version.py::test_next_patch[1.dev0-1] PASSED tests/version/pep440/test_version.py::test_next_patch[1.post1-1.0.1] PASSED tests/version/pep440/test_version.py::test_next_patch[1.post1.dev0-1.0.1] PASSED tests/version/pep440/test_version.py::test_next_patch[2!1.2.3-2!1.2.4] PASSED tests/version/pep440/test_version.py::test_next_postrelease[1-1.post0] PASSED tests/version/pep440/test_version.py::test_next_postrelease[1.dev0-1.post0] PASSED tests/version/pep440/test_version.py::test_next_postrelease[1.post1-1.post2] PASSED tests/version/pep440/test_version.py::test_next_postrelease[1.post1.dev0-1.post1] PASSED tests/version/pep440/test_version.py::test_next_postrelease[1a1-1a1.post0] PASSED tests/version/pep440/test_version.py::test_next_postrelease[1a1.dev0-1a1.post0] PASSED tests/version/pep440/test_version.py::test_next_postrelease[1a1.post2-1a1.post3] PASSED tests/version/pep440/test_version.py::test_next_postrelease[1a1.post2.dev0-1a1.post2] PASSED tests/version/pep440/test_version.py::test_next_postrelease[9!1.2.3.4-9!1.2.3.4.post0] PASSED tests/version/pep440/test_version.py::test_next_postrelease[9!1.2.3.4.post2-9!1.2.3.4.post3] PASSED tests/version/pep440/test_version.py::test_next_prerelease[1.2a1-1.2a2] PASSED tests/version/pep440/test_version.py::test_next_prerelease[1.2a1.dev0-1.2a1] PASSED tests/version/pep440/test_version.py::test_next_prerelease[1.2a1.post1.dev0-1.2a2] PASSED tests/version/pep440/test_version.py::test_next_prerelease[1.2dev0-1.2a0] PASSED tests/version/pep440/test_version.py::test_next_prerelease[2!1.2a1-2!1.2a2] PASSED tests/version/pep440/test_version.py::test_next_stable[1+local-2+local] PASSED tests/version/pep440/test_version.py::test_next_stable[1-2] PASSED tests/version/pep440/test_version.py::test_next_stable[1.a4-1] PASSED tests/version/pep440/test_version.py::test_next_stable[1.dev4-1] PASSED tests/version/pep440/test_version.py::test_next_stable[1.post4-2] PASSED tests/version/pep440/test_version.py::test_next_stable[2!1-2!2] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1-result0] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3+1-result8] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3+local-result5] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3+local.1-result6] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3+local1-result7] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3-1-result2] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3-1.dev1-result4] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3-result1] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3.a1-result10] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3.b1-result13] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3.dev1-result3] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3.rc1-result16] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3a1-result9] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3alpha1-result11] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3b1-result12] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3beta1-result14] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[1.2.3rc1-result15] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text[2.2.0dev0+build.05669607-result17] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text_invalid_versions[1.2.3-1-1] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text_invalid_versions[1.2.3-random1] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text_invalid_versions[1.2.3.dev1-1] PASSED tests/version/pep440/test_version.py::test_pep440_parse_text_invalid_versions[example-1] PASSED tests/version/pep440/test_version.py::test_properties[1-1-None-None-non_semver_parts0-parts0] PASSED tests/version/pep440/test_version.py::test_properties[1.2-1-2-None-non_semver_parts1-parts1] PASSED tests/version/pep440/test_version.py::test_properties[1.2.3-1-2-3-non_semver_parts2-parts2] PASSED tests/version/pep440/test_version.py::test_properties[1.2.3.4-1-2-3-non_semver_parts3-parts3] PASSED tests/version/pep440/test_version.py::test_properties[1.2.3.4.5-1-2-3-non_semver_parts4-parts4] PASSED tests/version/pep440/test_version.py::test_properties[9!1.2.3.4.5a6.post7.dev8-1-2-3-non_semver_parts5-parts5] PASSED tests/version/pep440/test_version.py::test_without_devrelease[1-1] PASSED tests/version/pep440/test_version.py::test_without_devrelease[1.dev0-1] PASSED tests/version/pep440/test_version.py::test_without_devrelease[9!1.2.3a1.post2.dev3-9!1.2.3a1.post2] PASSED tests/version/pep440/test_version.py::test_without_local[1+local.dev0-1] PASSED tests/version/pep440/test_version.py::test_without_local[1-1] PASSED tests/version/pep440/test_version.py::test_without_local[9!1.2.3a1.post2.dev3+local-9!1.2.3a1.post2.dev3] PASSED tests/version/pep440/test_version.py::test_without_postrelease[1-1] PASSED tests/version/pep440/test_version.py::test_without_postrelease[1.dev0-1.dev0] PASSED tests/version/pep440/test_version.py::test_without_postrelease[9!1.2.3a1.post2.dev3-9!1.2.3a1] PASSED tests/version/test_markers.py::test_cnf[(A+B(C+D))(E+F)_(A+B)(A+C+D)(E+F)-marker8-expected8] PASSED tests/version/test_markers.py::test_cnf[(A+B)(C+D)_-marker5-expected5] PASSED tests/version/test_markers.py::test_cnf[A(B+C)+(D+E)(F+G)_(A+D+E)(B+C+D+E)(A+F+G)(B+C+F+G)-marker9-expected9] PASSED tests/version/test_markers.py::test_cnf[A+BC_(A+B)(A+C)-marker7-expected7] PASSED tests/version/test_markers.py::test_cnf[A+B_-marker4-expected4] PASSED tests/version/test_markers.py::test_cnf[AB+AC_A(B+C)-marker6-expected6] PASSED tests/version/test_markers.py::test_cnf[AB_-marker3-expected3] PASSED tests/version/test_markers.py::test_cnf[A_-marker2-expected2] PASSED tests/version/test_markers.py::test_cnf[any-marker1-expected1] PASSED tests/version/test_markers.py::test_cnf[empty-marker0-expected0] PASSED tests/version/test_markers.py::test_complex_intersection PASSED tests/version/test_markers.py::test_complex_union PASSED tests/version/test_markers.py::test_dnf[(A+B(C+D))(E+F)_AE+AF+BCE+BCF+BDE+BDF-marker9-expected9] PASSED tests/version/test_markers.py::test_dnf[(A+B)(C+D)_AC+AD+BC+BD-marker7-expected7] PASSED tests/version/test_markers.py::test_dnf[A(B+C)+(D+E)(F+G)_AB+AC+DF+DG+EF+DG-marker8-expected8] PASSED tests/version/test_markers.py::test_dnf[A(B+C)_AB+AC-marker6-expected6] PASSED tests/version/test_markers.py::test_dnf[A+B_-marker4-expected4] PASSED tests/version/test_markers.py::test_dnf[AB+AC_-marker5-expected5] PASSED tests/version/test_markers.py::test_dnf[AB_-marker3-expected3] PASSED tests/version/test_markers.py::test_dnf[A_-marker2-expected2] PASSED tests/version/test_markers.py::test_dnf[any-marker1-expected1] PASSED tests/version/test_markers.py::test_dnf[empty-marker0-expected0] PASSED tests/version/test_markers.py::test_empty_marker_is_found_in_complex_intersection[(platform_system != "Windows" or platform_machine != "x86") and python_version == "3.8"-platform_system == "Windows" and platform_machine == "x86"] PASSED tests/version/test_markers.py::test_empty_marker_is_found_in_complex_intersection[python_version >= "3.8" and python_version < "3.11" and (python_version > "3.9" or platform_system != "Windows" or platform_machine != "x86") or python_version >= "3.11" and python_version < "3.12"-python_version == "3.8" and platform_system == "Windows" and platform_machine == "x86" or python_version == "3.9" and platform_system == "Windows" and platform_machine == "x86"] PASSED tests/version/test_markers.py::test_empty_marker_is_found_in_complex_parse PASSED tests/version/test_markers.py::test_exclude[extra == "foo" and python_version >= "3.6" or python_version >= "3.6"-extra-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_exclude[python_version >= "3.6" and (extra == "foo" or extra == "bar") or implementation_name == "pypy"-python_version-extra == "foo" or extra == "bar" or implementation_name == "pypy"] PASSED tests/version/test_markers.py::test_exclude[python_version >= "3.6" and (extra == "foo" or extra == "bar")-python_version-extra == "foo" or extra == "bar"] PASSED tests/version/test_markers.py::test_exclude[python_version >= "3.6" and extra == "foo" or implementation_name == "pypy" and extra == "bar"-implementation_name-python_version >= "3.6" and extra == "foo" or extra == "bar"] PASSED tests/version/test_markers.py::test_exclude[python_version >= "3.6" and extra == "foo"-extra-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_exclude[python_version >= "3.6" and python_version < "3.11"-python_version-*] PASSED tests/version/test_markers.py::test_exclude[python_version >= "3.6" or extra == "foo" and implementation_name == "pypy" or extra == "bar"-implementation_name-python_version >= "3.6" or extra == "foo" or extra == "bar"] PASSED tests/version/test_markers.py::test_exclude[python_version >= "3.6"-implementation_name-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_exclude[python_version >= "3.6"-python_version-*] PASSED tests/version/test_markers.py::test_intersect_compacts_constraints PASSED tests/version/test_markers.py::test_intersection_avoids_combinatorial_explosion PASSED tests/version/test_markers.py::test_invert[implementation_name != "pypy"-implementation_name == "pypy"] PASSED tests/version/test_markers.py::test_invert[implementation_name == "pypy"-implementation_name != "pypy"] PASSED tests/version/test_markers.py::test_invert[implementation_name === "pypy"-implementation_name != "pypy"] PASSED tests/version/test_markers.py::test_invert[python_full_version ~= "3.6.3"-python_full_version < "3.6.3" or python_full_version >= "3.7.0"] PASSED tests/version/test_markers.py::test_invert[python_version < "3.6"-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_invert[python_version <= "3.6" and implementation_name != "pypy"-python_version > "3.6" or implementation_name == "pypy"] PASSED tests/version/test_markers.py::test_invert[python_version <= "3.6"-python_version > "3.6"] PASSED tests/version/test_markers.py::test_invert[python_version > "3.6" or implementation_name == "pypy"-python_version <= "3.6" and implementation_name != "pypy"] PASSED tests/version/test_markers.py::test_invert[python_version > "3.6"-python_version <= "3.6"] PASSED tests/version/test_markers.py::test_invert[python_version >= "3.6"-python_version < "3.6"] PASSED tests/version/test_markers.py::test_invert[python_version in "2.7, 3.0, 3.1"-python_version not in "2.7, 3.0, 3.1"] PASSED tests/version/test_markers.py::test_invert[python_version not in "2.7, 3.0, 3.1"-python_version in "2.7, 3.0, 3.1"] PASSED tests/version/test_markers.py::test_invert[python_version ~= "3.6"-python_version < "3.6" or python_version >= "4.0"] PASSED tests/version/test_markers.py::test_marker_union PASSED tests/version/test_markers.py::test_marker_union_all_any PASSED tests/version/test_markers.py::test_marker_union_all_empty PASSED tests/version/test_markers.py::test_marker_union_deduplicate PASSED tests/version/test_markers.py::test_marker_union_intersect_marker_union PASSED tests/version/test_markers.py::test_marker_union_intersect_marker_union_drops_unnecessary_markers PASSED tests/version/test_markers.py::test_marker_union_intersect_multi_marker PASSED tests/version/test_markers.py::test_marker_union_intersect_single_marker PASSED tests/version/test_markers.py::test_marker_union_intersect_single_with_overlapping_constraints PASSED tests/version/test_markers.py::test_marker_union_not_all_any PASSED tests/version/test_markers.py::test_marker_union_not_all_empty PASSED tests/version/test_markers.py::test_marker_union_union_duplicates PASSED tests/version/test_markers.py::test_marker_union_union_with_union PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-!= "3.5.2"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-!= "3.6.0"-!= "3.6"-!= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-!= "3.6.1"-!= "3.6"-!= "3.6.1"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-!= "3.7.0"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-!= "3.7.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-< "3.5.2"-< "3.5.2"-!= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-< "3.6.0"-< "3.6.0"-!= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-< "3.6.1"-< "3.6.0"-None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-< "3.7.0"-< "3.6.0"-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-< "3.7.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-<= "3.5.2"-<= "3.5.2"-!= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-<= "3.6.0"-< "3.6.0"-None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-<= "3.6.1"-< "3.6.0"-None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-<= "3.7.0"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-<= "3.7.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-> "3.5.2"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-> "3.6.0"->= "3.7.0"-!= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-> "3.6.1"->= "3.7.0"-None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-> "3.7.0"-> "3.7.0"-!= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-> "3.7.1"-> "3.7.1"-!= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"->= "3.5.2"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"->= "3.6.0"->= "3.7.0"-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"->= "3.6.1"->= "3.7.0"-None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"->= "3.7.0"->= "3.7.0"-!= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"->= "3.7.1"->= "3.7.1"-!= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-!= "3.5.2"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-!= "3.6.0"-< "3.6"-!= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-< "3.5.2"-< "3.5.2"-< "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-< "3.6.0"-< "3.6"-< "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-< "3.6.1"-< "3.6"-< "3.6.1"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-<= "3.5.2"-<= "3.5.2"-< "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-<= "3.6.0"-< "3.6"-<= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-<= "3.6.1"-< "3.6"-<= "3.6.1"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-== "3.5.2"-== "3.5.2"-< "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-== "3.6.0"--<= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-> "3.5.2"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"-> "3.6.0"--!= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"->= "3.5.2"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[< "3.6"->= "3.6.0"--] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-!= "3.6.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-!= "3.7.0"-<= "3.6"-!= "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-< "3.6.1"-< "3.6.1"-<= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-< "3.7.0"-<= "3.6"-<= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-<= "3.6.1"-<= "3.6.1"-<= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-<= "3.7.0"-<= "3.6"-<= "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-== "3.6.1"-== "3.6.1"-<= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-== "3.7.0"--<= "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-> "3.6.2"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"-> "3.7.0"--!= "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"->= "3.6.2"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[<= "3.6"->= "3.7.0"--] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-!= "3.5.2"-== "3.6"-!= "3.5.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-!= "3.6.0"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-!= "3.6.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-!= "3.7.0"-== "3.6"-!= "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-!= "3.7.1"-== "3.6"-!= "3.7.1"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-< "3.5.2"--None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-< "3.6.0"--< "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-< "3.6.1"-None-< "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-< "3.7.0"-== "3.6"-< "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-< "3.7.1"-== "3.6"-< "3.7.1"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-<= "3.5.2"--None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-<= "3.6.0"-== "3.6.0"-< "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-<= "3.6.1"-None-< "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-<= "3.7.0"-== "3.6"-<= "3.7.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-<= "3.7.1"-== "3.6"-<= "3.7.1"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-> "3.5.2"-== "3.6"-> "3.5.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-> "3.6.0"-None->= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-> "3.6.1"-None->= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-> "3.7.0"--None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-> "3.7.1"--None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"->= "3.5.2"-== "3.6"->= "3.5.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"->= "3.6.0"-== "3.6"->= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"->= "3.6.1"-None->= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"->= "3.7.0"-->= "3.6.0"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"->= "3.7.1"--None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-!= "3.6.2"-> "3.6"-!= "3.6.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-!= "3.7.0"-> "3.7.0"-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-!= "3.7.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-< "3.7.0"--] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-< "3.7.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-<= "3.7.0"-== "3.7.0"-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-<= "3.7.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-== "3.6.2"--None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-== "3.7.0"-== "3.7.0"-> "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-== "3.7.1"-== "3.7.1"-> "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-> "3.5.2"-> "3.6"-> "3.5.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-> "3.6.2"-> "3.6"-> "3.6.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-> "3.7.0"-> "3.7.0"-> "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"-> "3.7.1"-> "3.7.1"-> "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"->= "3.5.2"-> "3.6"->= "3.5.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"->= "3.6.2"-> "3.6"->= "3.6.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"->= "3.7.0"-> "3.6"-> "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[> "3.6"->= "3.7.1"->= "3.7.1"-> "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-!= "3.5.2"->= "3.6"-!= "3.5.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-!= "3.6.0"-> "3.6.0"-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-!= "3.6.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-!= "3.7.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-< "3.6.0"--] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-< "3.6.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-<= "3.6.0"-== "3.6.0"-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-<= "3.6.1"-None-] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-== "3.5.2"--None] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-== "3.6.0"-== "3.6.0"->= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-> "3.5.2"->= "3.6"-> "3.5.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-> "3.6.0"-> "3.6.0"->= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"-> "3.6.1"-> "3.6.1"->= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"->= "3.5.2"->= "3.6"->= "3.5.2"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"->= "3.6.0"->= "3.6"->= "3.6"] PASSED tests/version/test_markers.py::test_merging_python_version_and_python_full_version[>= "3.6"->= "3.6.1"->= "3.6.1"->= "3.6"] PASSED tests/version/test_markers.py::test_multi_complex_multi_marker_is_empty PASSED tests/version/test_markers.py::test_multi_marker PASSED tests/version/test_markers.py::test_multi_marker_intersect_multi PASSED tests/version/test_markers.py::test_multi_marker_intersect_multi_with_overlapping_constraints PASSED tests/version/test_markers.py::test_multi_marker_intersect_with_multi_union_leads_to_empty_in_one_step PASSED tests/version/test_markers.py::test_multi_marker_intersect_with_multi_union_leads_to_empty_in_two_steps PASSED tests/version/test_markers.py::test_multi_marker_intersect_with_union_drops_union PASSED tests/version/test_markers.py::test_multi_marker_is_any PASSED tests/version/test_markers.py::test_multi_marker_is_empty_is_contradictory PASSED tests/version/test_markers.py::test_multi_marker_removes_duplicates PASSED tests/version/test_markers.py::test_multi_marker_union_multi PASSED tests/version/test_markers.py::test_multi_marker_union_multi_is_multi[python_version >= "3" and sys_platform == "win32"-python_version >= "3" and sys_platform != "win32" and sys_platform != "linux"-python_version >= "3" and sys_platform != "linux"] PASSED tests/version/test_markers.py::test_multi_marker_union_multi_is_multi[python_version >= "3.8" and python_version < "4.0" and sys_platform == "win32"-python_version >= "3.8" and python_version < "4.0"-python_version >= "3.8" and python_version < "4.0"] PASSED tests/version/test_markers.py::test_multi_marker_union_multi_is_single_marker PASSED tests/version/test_markers.py::test_multi_marker_union_with_multi_union_is_single_marker PASSED tests/version/test_markers.py::test_multi_marker_union_with_union PASSED tests/version/test_markers.py::test_multi_marker_union_with_union_multi_is_single_marker PASSED tests/version/test_markers.py::test_only[python_version >= "3.6" and (extra == "foo" or extra == "bar") or implementation_name == "pypy"-only7-] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6" and (extra == "foo" or extra == "bar") or implementation_name == "pypy"-only8-extra == "foo" or extra == "bar" or implementation_name == "pypy"] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6" and (extra == "foo" or extra == "bar") or implementation_name == "pypy"-only9-python_version >= "3.6" or implementation_name == "pypy"] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6" and (extra == "foo" or extra == "bar")-only6-extra == "foo" or extra == "bar"] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6" and extra == "foo" or implementation_name == "pypy" and extra == "bar"-only10-extra == "foo" or implementation_name == "pypy" and extra == "bar"] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6" and extra == "foo"-only2-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6" and extra == "foo"-only3-] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6" or extra == "foo"-only4-] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6" or extra == "foo"-only5-] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6"-only0-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_only[python_version >= "3.6"-only1-] PASSED tests/version/test_markers.py::test_parse_marker[extra != "a" and extra != "b"] PASSED tests/version/test_markers.py::test_parse_marker[extra != "a" and extra == "b"] PASSED tests/version/test_markers.py::test_parse_marker[extra != "a" or extra != "b"] PASSED tests/version/test_markers.py::test_parse_marker[extra != "a" or extra == "b"] PASSED tests/version/test_markers.py::test_parse_marker[extra == "a" and extra != "b"] PASSED tests/version/test_markers.py::test_parse_marker[extra == "a" and extra == "b"] PASSED tests/version/test_markers.py::test_parse_marker[extra == "a" or extra != "b"] PASSED tests/version/test_markers.py::test_parse_marker[extra == "a" or extra == "b"] PASSED tests/version/test_markers.py::test_parse_marker[python_version < "3.9" or python_version >= "3.10" and sys_platform == "linux" or sys_platform == "win32"] PASSED tests/version/test_markers.py::test_parse_marker[python_version >= "3.6" and extra == "foo" or implementation_name == "pypy" and extra == "bar"] PASSED tests/version/test_markers.py::test_parse_marker[sys_platform == "linux" or sys_platform == "win32" or sys_platform == "darwin"] PASSED tests/version/test_markers.py::test_parse_marker[sys_platform == "linux" or sys_platform == "win32"] PASSED tests/version/test_markers.py::test_parse_marker[sys_platform == "win32" and python_version < "3.6" or sys_platform == "linux" and python_version < "3.6" and python_version >= "3.3" or sys_platform == "darwin" and python_version < "3.3"] PASSED tests/version/test_markers.py::test_parse_marker[sys_platform == "win32" or sys_platform == "linux"] PASSED tests/version/test_markers.py::test_parse_single_marker["2.7" in python_version-python_version->=2.7,<2.8] PASSED tests/version/test_markers.py::test_parse_single_marker[platform_machine in 'x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 win32 WIN32'-platform_machine-x86_64 || X86_64 || aarch64 || AARCH64 || ppc64le || PPC64LE || amd64 || AMD64 || win32 || WIN32] PASSED tests/version/test_markers.py::test_parse_single_marker[platform_machine not in "aarch64|loongarch64"-platform_machine-!=aarch64, !=loongarch64] PASSED tests/version/test_markers.py::test_parse_single_marker[platform_machine not in 'x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 win32 WIN32'-platform_machine-!=x86_64, !=X86_64, !=aarch64, !=AARCH64, !=ppc64le, !=PPC64LE, !=amd64, !=AMD64, !=win32, !=WIN32] PASSED tests/version/test_markers.py::test_parse_single_marker[python_version in "2.7, 3.0, 3.1"-python_version->=2.7,<2.8 || >=3.0,<3.2] PASSED tests/version/test_markers.py::test_parse_single_marker[python_version not in "2.7, 3.0, 3.1"-python_version-<2.7 || >=2.8,<3.0 || >=3.2] PASSED tests/version/test_markers.py::test_parse_single_marker[sys_platform == "darwin"-sys_platform-darwin] PASSED tests/version/test_markers.py::test_parse_version_like_markers[platform_release >= "9.0" and platform_release < "11.0"-env0] PASSED tests/version/test_markers.py::test_single_marker_intersect PASSED tests/version/test_markers.py::test_single_marker_intersect_compacts_constraints PASSED tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a"-extra != "a"-extra != "a"] PASSED tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a"-extra != "b"-extra != "a" and extra != "b"] PASSED tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a"-extra == "a"-] PASSED tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a"-extra == "b"-extra != "a" and extra == "b"] PASSED tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a"-extra != "a"-] PASSED tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a"-extra != "b"-extra == "a" and extra != "b"] PASSED tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a"-extra == "a"-extra == "a"] PASSED tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a"-extra == "b"-extra == "a" and extra == "b"] PASSED tests/version/test_markers.py::test_single_marker_intersect_with_multi PASSED tests/version/test_markers.py::test_single_marker_intersect_with_multi_compacts_constraint PASSED tests/version/test_markers.py::test_single_marker_intersect_with_multi_with_duplicate PASSED tests/version/test_markers.py::test_single_marker_intersect_with_union_leads_to_empty PASSED tests/version/test_markers.py::test_single_marker_intersect_with_union_leads_to_single_marker PASSED tests/version/test_markers.py::test_single_marker_normalisation PASSED tests/version/test_markers.py::test_single_marker_not_in_python_intersection PASSED tests/version/test_markers.py::test_single_marker_not_in_python_union PASSED tests/version/test_markers.py::test_single_marker_union PASSED tests/version/test_markers.py::test_single_marker_union_extras[extra != "a"-extra != "a"-extra != "a"] PASSED tests/version/test_markers.py::test_single_marker_union_extras[extra != "a"-extra != "b"-extra != "a" or extra != "b"] PASSED tests/version/test_markers.py::test_single_marker_union_extras[extra != "a"-extra == "a"-] PASSED tests/version/test_markers.py::test_single_marker_union_extras[extra != "a"-extra == "b"-extra != "a" or extra == "b"] PASSED tests/version/test_markers.py::test_single_marker_union_extras[extra == "a"-extra != "a"-] PASSED tests/version/test_markers.py::test_single_marker_union_extras[extra == "a"-extra != "b"-extra == "a" or extra != "b"] PASSED tests/version/test_markers.py::test_single_marker_union_extras[extra == "a"-extra == "a"-extra == "a"] PASSED tests/version/test_markers.py::test_single_marker_union_extras[extra == "a"-extra == "b"-extra == "a" or extra == "b"] PASSED tests/version/test_markers.py::test_single_marker_union_is_any PASSED tests/version/test_markers.py::test_single_marker_union_is_single_marker[python_version < "3.6"-python_version < "3.4"-python_version < "3.6"] PASSED tests/version/test_markers.py::test_single_marker_union_is_single_marker[python_version < "3.6"-python_version > "3.6"-python_version != "3.6"] PASSED tests/version/test_markers.py::test_single_marker_union_is_single_marker[python_version == "3.6"-python_version < "3.6"-python_version <= "3.6"] PASSED tests/version/test_markers.py::test_single_marker_union_is_single_marker[python_version == "3.6"-python_version > "3.6"-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_single_marker_union_is_single_marker[sys_platform == "linux"-sys_platform != "win32"-sys_platform != "win32"] PASSED tests/version/test_markers.py::test_single_marker_union_with_inverse PASSED tests/version/test_markers.py::test_single_marker_union_with_multi PASSED tests/version/test_markers.py::test_single_marker_union_with_multi_cannot_be_simplified PASSED tests/version/test_markers.py::test_single_marker_union_with_multi_duplicate PASSED tests/version/test_markers.py::test_single_marker_union_with_multi_is_single_marker[python_version >= "3.6"-python_version >= "3.7" and sys_platform == "win32"-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_single_marker_union_with_multi_is_single_marker[sys_platform == "linux"-sys_platform != "linux" and sys_platform != "win32"-sys_platform != "win32"] PASSED tests/version/test_markers.py::test_single_marker_union_with_multi_is_union_of_single_markers PASSED tests/version/test_markers.py::test_single_marker_union_with_multi_union_is_union_of_single_markers PASSED tests/version/test_markers.py::test_single_marker_union_with_union PASSED tests/version/test_markers.py::test_single_marker_union_with_union_duplicate PASSED tests/version/test_markers.py::test_single_markers_are_found_in_complex_intersection PASSED tests/version/test_markers.py::test_union_avoids_combinatorial_explosion PASSED tests/version/test_markers.py::test_union_of_a_single_marker_is_the_single_marker PASSED tests/version/test_markers.py::test_union_of_multi_with_a_containing_single PASSED tests/version/test_markers.py::test_union_should_drop_markers_if_their_complement_is_present[python_version >= "3.6" or python_version < "3.7" or python_version < "3.6"-python_version >= "3.6" or python_version < "3.7"] PASSED tests/version/test_markers.py::test_validate['2.7' in python_version-environment3-True] PASSED tests/version/test_markers.py::test_validate['2.7' not in python_version-environment4-False] PASSED tests/version/test_markers.py::test_validate[extra != 'a' and extra != 'b'-environment31-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a' and extra != 'b'-environment44-False] PASSED tests/version/test_markers.py::test_validate[extra != 'a' and extra != 'b'-environment45-False] PASSED tests/version/test_markers.py::test_validate[extra != 'a' and extra != 'b'-environment46-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a' and extra == 'b'-environment33-False] PASSED tests/version/test_markers.py::test_validate[extra != 'a' and extra == 'b'-environment50-False] PASSED tests/version/test_markers.py::test_validate[extra != 'a' and extra == 'b'-environment51-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a' and extra == 'b'-environment52-False] PASSED tests/version/test_markers.py::test_validate[extra != 'a' or extra != 'b'-environment32-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a' or extra != 'b'-environment47-False] PASSED tests/version/test_markers.py::test_validate[extra != 'a' or extra != 'b'-environment48-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a' or extra != 'b'-environment49-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a' or extra == 'b'-environment34-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a' or extra == 'b'-environment53-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a' or extra == 'b'-environment54-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a' or extra == 'b'-environment55-False] PASSED tests/version/test_markers.py::test_validate[extra != 'a'-environment25-True] PASSED tests/version/test_markers.py::test_validate[extra != 'a'-environment37-False] PASSED tests/version/test_markers.py::test_validate[extra != 'a'-environment38-True] PASSED tests/version/test_markers.py::test_validate[extra != 'b'-environment28-True] PASSED tests/version/test_markers.py::test_validate[extra != 'security'-environment21-True] PASSED tests/version/test_markers.py::test_validate[extra != 'security'-environment22-False] PASSED tests/version/test_markers.py::test_validate[extra == 'Security.1'-environment23-True] PASSED tests/version/test_markers.py::test_validate[extra == 'a' and extra == 'b'-environment26-True] PASSED tests/version/test_markers.py::test_validate[extra == 'a' and extra == 'b'-environment29-False] PASSED tests/version/test_markers.py::test_validate[extra == 'a' and extra == 'b'-environment39-True] PASSED tests/version/test_markers.py::test_validate[extra == 'a' and extra == 'b'-environment40-False] PASSED tests/version/test_markers.py::test_validate[extra == 'a' or extra == 'b'-environment30-False] PASSED tests/version/test_markers.py::test_validate[extra == 'a' or extra == 'b'-environment41-True] PASSED tests/version/test_markers.py::test_validate[extra == 'a' or extra == 'b'-environment42-True] PASSED tests/version/test_markers.py::test_validate[extra == 'a' or extra == 'b'-environment43-False] PASSED tests/version/test_markers.py::test_validate[extra == 'a'-environment24-True] PASSED tests/version/test_markers.py::test_validate[extra == 'a'-environment27-False] PASSED tests/version/test_markers.py::test_validate[extra == 'a'-environment35-True] PASSED tests/version/test_markers.py::test_validate[extra == 'a'-environment36-False] PASSED tests/version/test_markers.py::test_validate[extra == 'security'-environment19-False] PASSED tests/version/test_markers.py::test_validate[extra == 'security'-environment20-True] PASSED tests/version/test_markers.py::test_validate[os.name == 'posix'-None-True] PASSED tests/version/test_markers.py::test_validate[os_name == 'foo' and python_version ~= '2.7.0'-environment5-True] PASSED tests/version/test_markers.py::test_validate[os_name == 'foo'-environment1-True] PASSED tests/version/test_markers.py::test_validate[os_name == 'foo'-environment2-False] PASSED tests/version/test_markers.py::test_validate[os_name == 'posix'-None-True] PASSED tests/version/test_markers.py::test_validate[platform.machine=='x86_64'-environment12-True] PASSED tests/version/test_markers.py::test_validate[platform.python_implementation=='Jython'-environment13-False] PASSED tests/version/test_markers.py::test_validate[platform.version in 'Ubuntu'-environment11-False] PASSED tests/version/test_markers.py::test_validate[platform_machine in 'x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 win32 WIN32'-environment15-False] PASSED tests/version/test_markers.py::test_validate[platform_machine in 'x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 win32 WIN32'-environment16-True] PASSED tests/version/test_markers.py::test_validate[platform_machine not in 'x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 win32 WIN32'-environment17-True] PASSED tests/version/test_markers.py::test_validate[platform_machine not in 'x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 win32 WIN32'-environment18-False] PASSED tests/version/test_markers.py::test_validate[python_version == '2.5' and platform.python_implementation!= 'Jython'-environment14-False] PASSED tests/version/test_markers.py::test_validate[python_version ~= '2.7.0' and (os_name == 'foo' or os_name == 'bar')-environment6-True] PASSED tests/version/test_markers.py::test_validate[python_version ~= '2.7.0' and (os_name == 'foo' or os_name == 'bar')-environment7-True] PASSED tests/version/test_markers.py::test_validate[python_version ~= '2.7.0' and (os_name == 'foo' or os_name == 'bar')-environment8-False] PASSED tests/version/test_markers.py::test_validate[sys.platform == 'win32'-environment10-False] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version > "3.6" and python_full_version < "3.6.2"-python_version > "3.6" and python_version < "3.7"-python_version > "3.6" and python_version < "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_full_version < "3.6.2"-python_full_version >= "3.6.2" and python_version < "3.7"-python_version >= "3.6" and python_version < "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_full_version < "3.6.2"-python_version >= "3.6" and python_version < "3.7"-python_version >= "3.6" and python_version < "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_full_version <= "3.6.2"-python_full_version > "3.6.2" and python_version < "3.7"-python_version >= "3.6" and python_version < "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_full_version <= "3.6.8"-python_full_version >= "3.6.2" and python_version < "3.7"-python_version >= "3.6" and python_version < "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_version < "3.7"-python_full_version >= "3.6.2" and python_version < "3.7"-python_version >= "3.6" and python_version < "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_version <= "3.7"-python_full_version == "3.6.2" and implementation_name == "cpython"-python_version >= "3.6" and python_version <= "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_version <= "3.7"-python_full_version == "3.6.2"-python_version >= "3.6" and python_version <= "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_version <= "3.7"-python_full_version >= "3.6.2" and python_version <= "3.7"-python_version >= "3.6" and python_version <= "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_version <= "3.7"-python_version == "3.6" and implementation_name == "cpython"-python_version >= "3.6" and python_version <= "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_version <= "3.7"-python_version == "3.6"-python_version >= "3.6" and python_version <= "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_version <= "3.7"-python_version == "3.7" and implementation_name == "cpython"-python_version >= "3.6" and python_version <= "3.7"] PASSED tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_version <= "3.7"-python_version == "3.7"-python_version >= "3.6" and python_version <= "3.7"] PASSED tests/version/test_markers.py::test_without_extras[extra == "foo" or extra == "bar"-] PASSED tests/version/test_markers.py::test_without_extras[extra == "foo"-] PASSED tests/version/test_markers.py::test_without_extras[python_version >= "3.6" and (extra == "foo" or extra == "bar") or implementation_name == "pypy"-python_version >= "3.6" or implementation_name == "pypy"] PASSED tests/version/test_markers.py::test_without_extras[python_version >= "3.6" and (extra == "foo" or extra == "bar")-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_without_extras[python_version >= "3.6" and extra == "foo" or implementation_name == "pypy" and extra == "bar"-python_version >= "3.6" or implementation_name == "pypy"] PASSED tests/version/test_markers.py::test_without_extras[python_version >= "3.6" and extra == "foo"-python_version >= "3.6"] PASSED tests/version/test_markers.py::test_without_extras[python_version >= "3.6" or extra == "foo" and implementation_name == "pypy" or extra == "bar"-python_version >= "3.6" or implementation_name == "pypy"] PASSED tests/version/test_markers.py::test_without_extras[python_version >= "3.6"-python_version >= "3.6"] PASSED tests/version/test_requirements.py::test_invalid_requirement[foo (>=bar)-invalid version constraint ">=bar"] PASSED tests/version/test_requirements.py::test_invalid_requirement[foo!-Unexpected character at column 4\n\nfoo!\n ^\n] PASSED tests/version/test_requirements.py::test_invalid_requirement[name @ file:/.-invalid URL] PASSED tests/version/test_requirements.py::test_requirement[A-expected0] PASSED tests/version/test_requirements.py::test_requirement[aa-expected1] PASSED tests/version/test_requirements.py::test_requirement[foo (>=1.2.3) ; python_version >= "2.7" and python_version < "2.8" or python_version >= "3.4" and python_version < "3.5"-expected24] PASSED tests/version/test_requirements.py::test_requirement[foo @ http://example.com ; os_name=="a"-expected19] PASSED tests/version/test_requirements.py::test_requirement[foo @ http://example.com-expected18] PASSED tests/version/test_requirements.py::test_requirement[foo @ https://example.com/name;v=1.1/?query=foo&bar=baz#blah ; python_version=='3.4'-expected23] PASSED tests/version/test_requirements.py::test_requirement[foo-bar.quux_baz-expected3] PASSED tests/version/test_requirements.py::test_requirement[foo[]-expected17] PASSED tests/version/test_requirements.py::test_requirement[foobar [quux,bar]-expected16] PASSED tests/version/test_requirements.py::test_requirement[name (==4)-expected11] PASSED tests/version/test_requirements.py::test_requirement[name (~=3.2)-expected14] PASSED tests/version/test_requirements.py::test_requirement[name (~=3.2.1)-expected15] PASSED tests/version/test_requirements.py::test_requirement[name >=2, <3-expected13] PASSED tests/version/test_requirements.py::test_requirement[name @ file://.-expected21] PASSED tests/version/test_requirements.py::test_requirement[name @ file:///absolute/path-expected20] PASSED tests/version/test_requirements.py::test_requirement[name [fred,bar] @ http://foo.com ; python_version=='2.7'-expected22] PASSED tests/version/test_requirements.py::test_requirement[name-expected2] PASSED tests/version/test_requirements.py::test_requirement[name<3.*-expected6] PASSED tests/version/test_requirements.py::test_requirement[name==1.0.post1-expected8] PASSED tests/version/test_requirements.py::test_requirement[name==1.2.0b1.dev0-expected9] PASSED tests/version/test_requirements.py::test_requirement[name>3.5.*-expected7] PASSED tests/version/test_requirements.py::test_requirement[name>=1.2.3;python_version=='2.6'-expected10] PASSED tests/version/test_requirements.py::test_requirement[name>=2,<3-expected12] PASSED tests/version/test_requirements.py::test_requirement[name>=3-expected4] PASSED tests/version/test_requirements.py::test_requirement[name>=3.*-expected5] PASSED ======== 2037 passed, 3 skipped, 9 deselected ========