============================= test session starts ==============================
platform sunos5 -- Python $(PYTHON_VERSION).X -- $(PYTHON)
cachedir: .pytest_cache
rootdir: $(@D)
configfile: pyproject.toml
collecting ... collected 2578 items / 9 deselected / 2569 selected

tests/constraints/generic/test_constraint.py::test_allows[constraint10-constraint20-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows[constraint11-constraint21-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows[constraint12-constraint22-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows[constraint13-constraint23-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows[constraint14-constraint24-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows[constraint15-constraint25-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows[constraint16-constraint26-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows[constraint17-constraint27-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint10-constraint20-False-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint11-constraint21-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint110-constraint210-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint111-constraint211-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint112-constraint212-False-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint113-constraint213-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint114-constraint214-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint115-constraint215-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint116-constraint216-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint117-constraint217-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint118-constraint218-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint119-constraint219-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint12-constraint22-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint120-constraint220-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint121-constraint221-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint122-constraint222-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint123-constraint223-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint124-constraint224-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint125-constraint225-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint126-constraint226-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint127-constraint227-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint128-constraint228-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint129-constraint229-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint13-constraint23-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint130-constraint230-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint131-constraint231-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint132-constraint232-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint133-constraint233-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint134-constraint234-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint135-constraint235-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint136-constraint236-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint137-constraint237-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint138-constraint238-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint139-constraint239-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint14-constraint24-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint140-constraint240-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint141-constraint241-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint142-constraint242-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint143-constraint243-True-True] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint144-constraint244-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint145-constraint245-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint146-constraint246-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint15-constraint25-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint16-constraint26-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint17-constraint27-False-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint18-constraint28-True-False] PASSED
tests/constraints/generic/test_constraint.py::test_allows_any_and_allows_all[constraint19-constraint29-True-False] 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[constraint128-constraint228-expected28] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint129-constraint229-expected29] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint13-constraint23-expected3] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint130-constraint230-expected30] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint131-constraint231-expected31] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint132-constraint232-expected32] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint133-constraint233-expected33] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint134-constraint234-expected34] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint135-constraint235-expected35] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint136-constraint236-expected36] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint137-constraint237-expected37] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint138-constraint238-expected38] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint139-constraint239-expected39] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint14-constraint24-expected4] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint140-constraint240-expected40] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint141-constraint241-expected41] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint142-constraint242-expected42] PASSED
tests/constraints/generic/test_constraint.py::test_intersect[constraint143-constraint243-expected43] 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_intersect_extra[constraint10-constraint20-expected0] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint11-constraint21-expected1] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint110-constraint210-expected10] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint111-constraint211-expected11] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint112-constraint212-expected12] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint113-constraint213-expected13] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint114-constraint214-expected14] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint115-constraint215-expected15] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint116-constraint216-expected16] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint117-constraint217-expected17] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint118-constraint218-expected18] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint119-constraint219-expected19] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint12-constraint22-expected2] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint120-constraint220-expected20] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint121-constraint221-expected21] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint122-constraint222-expected22] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint123-constraint223-expected23] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint124-constraint224-expected24] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint125-constraint225-expected25] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint126-constraint226-expected26] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint127-constraint227-expected27] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint128-constraint228-expected28] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint129-constraint229-expected29] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint13-constraint23-expected3] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint130-constraint230-expected30] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint131-constraint231-expected31] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint14-constraint24-expected4] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint15-constraint25-expected5] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint16-constraint26-expected6] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint17-constraint27-expected7] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[constraint18-constraint28-expected8] PASSED
tests/constraints/generic/test_constraint.py::test_intersect_extra[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_invert[constraint3-inverted3] PASSED
tests/constraints/generic/test_constraint.py::test_invert_extra[constraint0-inverted0] PASSED
tests/constraints/generic/test_constraint.py::test_invert_extra[constraint1-inverted1] 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[constraint128-constraint228-expected28] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint129-constraint229-expected29] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint13-constraint23-expected3] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint130-constraint230-expected30] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint131-constraint231-expected31] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint132-constraint232-expected32] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint133-constraint233-expected33] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint134-constraint234-expected34] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint135-constraint235-expected35] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint136-constraint236-expected36] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint137-constraint237-expected37] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint138-constraint238-expected38] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint139-constraint239-expected39] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint14-constraint24-expected4] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint140-constraint240-expected40] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint141-constraint241-expected41] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint142-constraint242-expected42] PASSED
tests/constraints/generic/test_constraint.py::test_union[constraint143-constraint243-expected43] 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_constraint.py::test_union_extra[constraint10-constraint20-expected0] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint11-constraint21-expected1] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint110-constraint210-expected10] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint111-constraint211-expected11] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint112-constraint212-expected12] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint113-constraint213-expected13] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint114-constraint214-expected14] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint115-constraint215-expected15] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint116-constraint216-expected16] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint117-constraint217-expected17] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint118-constraint218-expected18] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint119-constraint219-expected19] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint12-constraint22-expected2] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint120-constraint220-expected20] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint121-constraint221-expected21] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint122-constraint222-expected22] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint123-constraint223-expected23] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint124-constraint224-expected24] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint125-constraint225-expected25] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint126-constraint226-expected26] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint127-constraint227-expected27] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint128-constraint228-expected28] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint129-constraint229-expected29] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint13-constraint23-expected3] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint130-constraint230-expected30] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint131-constraint231-expected31] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint14-constraint24-expected4] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint15-constraint25-expected5] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint16-constraint26-expected6] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint17-constraint27-expected7] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint18-constraint28-expected8] PASSED
tests/constraints/generic/test_constraint.py::test_union_extra[constraint19-constraint29-expected9] PASSED
tests/constraints/generic/test_main.py::test_constraint_is_not_equal_to_extra_constraint 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['tegra' in-constraint7] PASSED
tests/constraints/generic/test_main.py::test_parse_constraint['tegra' not in-constraint6] 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_multi['tegra' not in,'rpi-v8' not in-constraint2] PASSED
tests/constraints/generic/test_main.py::test_parse_constraint_union['tegra' in || 'rpi-v8' in-constraint2] 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_main.py::test_parse_extra_constraint[!= extra1-constraint5] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint[!=extra1-constraint4] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint[*-constraint0] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint[==extra1-constraint3] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint[=extra1-constraint2] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint[extra1-constraint1] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint_multi[!=extra1,!=extra2-constraint0] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint_multi[==extra1,!=extra2,==extra3-constraint2] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint_multi[==extra1,==extra2-constraint1] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint_union[extra1 || !=extra2-constraint1] PASSED
tests/constraints/generic/test_main.py::test_parse_extra_constraint_union[extra1 || extra2-constraint0] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint0-False-True] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint1-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint10-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint11-True-True] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint12-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint13-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint14-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint15-True-True] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint16-True-True] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint17-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint18-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint2-False-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint3-False-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint4-True-True] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint5-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint6-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint7-True-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint8-False-False] PASSED
tests/constraints/generic/test_multi_constraint.py::test_allows_any_and_allows_all[constraint9-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint0-False-True] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint1-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint10-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint11-False-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint12-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint13-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint14-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint15-False-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint16-False-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint17-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint18-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint2-True-True] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint3-True-True] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint4-False-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint5-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint6-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint7-True-False] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint8-True-True] PASSED
tests/constraints/generic/test_union_constraint.py::test_allows_any_and_allows_all[constraint9-True-False] 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[1!2.3.4-constraint9] PASSED
tests/constraints/version/test_parse_constraint.py::test_parse_constraint[1.0.0a1.dev0-constraint12] 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[1.2.3b5-constraint11] PASSED
tests/constraints/version/test_parse_constraint.py::test_parse_constraint[<1.2.3-constraint4] PASSED
tests/constraints/version/test_parse_constraint.py::test_parse_constraint[<=1.2.3-constraint5] PASSED
tests/constraints/version/test_parse_constraint.py::test_parse_constraint[=1.0-constraint10] 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.0-constraint3] 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[>dev-constraint13] PASSED
tests/constraints/version/test_parse_constraint.py::test_parse_constraint[v*.*-constraint2] 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.*-constraint5] PASSED
tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[0.*.*-constraint6] 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.*-constraint7] PASSED
tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.0a1.*-constraint8] PASSED
tests/constraints/version/test_parse_constraint.py::test_parse_constraint_wildcard[2.0dev0.*-constraint9] 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_parse_constraint.py::test_parse_marker_constraint_does_allow_invalid_version_if_requested PASSED
tests/constraints/version/test_parse_constraint.py::test_parse_marker_constraint_does_not_allow_invalid_version 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_constraint.py::test_has_upper_bound[constraint0-True] PASSED
tests/constraints/version/test_version_constraint.py::test_has_upper_bound[constraint1-True] PASSED
tests/constraints/version/test_version_constraint.py::test_has_upper_bound[constraint2-False] PASSED
tests/constraints/version/test_version_constraint.py::test_has_upper_bound[constraint3-False] PASSED
tests/constraints/version/test_version_constraint.py::test_has_upper_bound[constraint4-True] PASSED
tests/constraints/version/test_version_constraint.py::test_has_upper_bound[constraint5-True] PASSED
tests/constraints/version/test_version_constraint.py::test_has_upper_bound[constraint6-True] PASSED
tests/constraints/version/test_version_constraint.py::test_has_upper_bound[constraint7-False] 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_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_range.py::test_version_ranges[<1.7-1.6.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<1.7-1.7.0-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<1.7-1.7.1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<1.7.0+local.2-1.7.0+local.1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<1.7.0-1.7.0+local.1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<1.7.0-1.7.0.rc1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<1.7.0.rc1-1.7.0.rc1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<1.7.0.rc2-1.7.0.rc1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0+local.1-3.0.0+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0+local.1-3.0.0+local.2-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0+local.1-3.0.0-1+local.1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0+local.1-3.0.0-1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0+local.1-3.0.0-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0+local.2-3.0.0+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0+local.2-3.0.0+local.2-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-1+local.1-3.0.0+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-1+local.1-3.0.0+local.2-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-1+local.1-3.0.0-1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-1-3.0.0+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-1-3.0.0+local.2-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-1-3.0.0-1+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-1-3.0.0-1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-1-3.0.0-2-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-1-3.0.0-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-2-3.0.0-1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-2-3.0.0-2-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-3.0.0+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[<=3.0.0-3.0.0-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>1.7-1.6.1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>1.7-1.7.0-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>1.7-1.7.0.post1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>1.7-1.7.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>1.7.0-1.7.0+local.1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>1.7.post2-1.7.0-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>1.7.post2-1.7.0.post2-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>1.7.post2-1.7.0.post3-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>1.7.post2-1.7.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+cpu-3.0.0+cuda-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+cuda-3.0.0+cuda-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+local.1-3.0.0+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+local.1-3.0.0+local.2-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+local.1-3.0.0-1+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+local.1-3.0.0-1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+local.1-3.0.0-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+local.2-3.0.0+local.1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+local.2-3.0.0+local.2-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0+local.2-3.0.0-1+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-1+local.1-3.0.0+local.1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-1+local.1-3.0.0+local.2-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-1+local.1-3.0.0-1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-1-3.0.0+local.1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-1-3.0.0+local.2-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-1-3.0.0-1+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-1-3.0.0-2-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-1-3.0.0-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-2-3.0.0-1-False] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-2-3.0.0-2-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-3.0.0+local.1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-3.0.0-1-True] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-3.0.0-True0] PASSED
tests/constraints/version/test_version_range.py::test_version_ranges[>=3.0.0-3.0.0-True1] 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_path_dependencies PASSED
tests/masonry/builders/test_builder.py::test_builder_apply_local_version_label[-1.2.3] PASSED
tests/masonry/builders/test_builder.py::test_builder_apply_local_version_label[some-label-1.2.3+some-label] PASSED
tests/masonry/builders/test_builder.py::test_builder_convert_entry_points[script_callable_legacy_string-result0] PASSED
tests/masonry/builders/test_builder.py::test_builder_convert_entry_points[script_reference_console-result1] PASSED
tests/masonry/builders/test_builder.py::test_builder_convert_entry_points[script_reference_file-result2] PASSED
tests/masonry/builders/test_builder.py::test_builder_convert_script_files[script_callable_legacy_string-result0] PASSED
tests/masonry/builders/test_builder.py::test_builder_convert_script_files[script_reference_console-result1] PASSED
tests/masonry/builders/test_builder.py::test_builder_convert_script_files[script_reference_file-result2] 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_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_license_type_file[file] PASSED
tests/masonry/builders/test_builder.py::test_metadata_license_type_file[str] PASSED
tests/masonry/builders/test_builder.py::test_metadata_license_type_file[text] 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-complete] PASSED
tests/masonry/builders/test_complete.py::test_complete[False-complete_dynamic] PASSED
tests/masonry/builders/test_complete.py::test_complete[False-complete_new] PASSED
tests/masonry/builders/test_complete.py::test_complete[True-complete] PASSED
tests/masonry/builders/test_complete.py::test_complete[True-complete_dynamic] PASSED
tests/masonry/builders/test_complete.py::test_complete[True-complete_new] 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_metadata.py::test_requires_python[>=3.8-None->=3.8] PASSED
tests/masonry/builders/test_metadata.py::test_requires_python[>=3.8-^3.8->=3.8] PASSED
tests/masonry/builders/test_metadata.py::test_requires_python[None-^3.8->=3.8,<4.0] 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[complete] PASSED
tests/masonry/builders/test_sdist.py::test_find_files_to_add[complete_dynamic] PASSED
tests/masonry/builders/test_sdist.py::test_find_files_to_add[complete_new] 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[complete] PASSED
tests/masonry/builders/test_sdist.py::test_find_packages[complete_dynamic] PASSED
tests/masonry/builders/test_sdist.py::test_find_packages[complete_new] PASSED
tests/masonry/builders/test_sdist.py::test_include_formats PASSED
tests/masonry/builders/test_sdist.py::test_includes PASSED
tests/masonry/builders/test_sdist.py::test_make_pkg_info[complete] PASSED
tests/masonry/builders/test_sdist.py::test_make_pkg_info[complete_dynamic] PASSED
tests/masonry/builders/test_sdist.py::test_make_pkg_info[complete_new] 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[complete] PASSED
tests/masonry/builders/test_sdist.py::test_make_setup[complete_dynamic] PASSED
tests/masonry/builders/test_sdist.py::test_make_setup[complete_new] PASSED
tests/masonry/builders/test_sdist.py::test_module PASSED
tests/masonry/builders/test_sdist.py::test_package[complete] PASSED
tests/masonry/builders/test_sdist.py::test_package[complete_dynamic] PASSED
tests/masonry/builders/test_sdist.py::test_package[complete_new] PASSED
tests/masonry/builders/test_sdist.py::test_package_target_dir[None] PASSED
tests/masonry/builders/test_sdist.py::test_package_target_dir[dist/build] PASSED
tests/masonry/builders/test_sdist.py::test_package_target_dir[dist] 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_does_not_include_pycache_and_pyc_files PASSED
tests/masonry/builders/test_sdist.py::test_sdist_members_mtime_default[10] PASSED
tests/masonry/builders/test_sdist.py::test_sdist_members_mtime_default[20] PASSED
tests/masonry/builders/test_sdist.py::test_sdist_mtime_set_from_envvar PASSED
tests/masonry/builders/test_sdist.py::test_sdist_mtime_set_from_envvar_not_int 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[complete] PASSED
tests/masonry/builders/test_sdist.py::test_sdist_reproducibility[complete_dynamic] PASSED
tests/masonry/builders/test_sdist.py::test_sdist_reproducibility[complete_new] PASSED
tests/masonry/builders/test_sdist.py::test_setup_py_context[complete] PASSED
tests/masonry/builders/test_sdist.py::test_setup_py_context[complete_dynamic] PASSED
tests/masonry/builders/test_sdist.py::test_setup_py_context[complete_new] 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_date_time_default_value[10] PASSED
tests/masonry/builders/test_wheel.py::test_dist_info_date_time_default_value[20] PASSED
tests/masonry/builders/test_wheel.py::test_dist_info_date_time_value_from_envvar PASSED
tests/masonry/builders/test_wheel.py::test_dist_info_date_time_value_from_envvar_not_int PASSED
tests/masonry/builders/test_wheel.py::test_dist_info_date_time_value_from_envvar_older_than_1980 PASSED
tests/masonry/builders/test_wheel.py::test_dist_info_file_permissions[complete] PASSED
tests/masonry/builders/test_wheel.py::test_dist_info_file_permissions[complete_dynamic] PASSED
tests/masonry/builders/test_wheel.py::test_dist_info_file_permissions[complete_new] 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_generated_script_file 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_does_not_include_pycache_and_pyc_files 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_include_formats 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[complete] PASSED
tests/masonry/builders/test_wheel.py::test_wheel_package[complete_dynamic] PASSED
tests/masonry/builders/test_wheel.py::test_wheel_package[complete_new] 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_package_target_dir[None] PASSED
tests/masonry/builders/test_wheel.py::test_wheel_package_target_dir[dist/build] PASSED
tests/masonry/builders/test_wheel.py::test_wheel_package_target_dir[dist] 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[complete] PASSED
tests/masonry/test_api.py::test_build_editable_wheel[complete_dynamic] PASSED
tests/masonry/test_api.py::test_build_editable_wheel[complete_new] PASSED
tests/masonry/test_api.py::test_build_editable_wheel_with_local_version PASSED
tests/masonry/test_api.py::test_build_editable_wheel_with_metadata_directory[complete] PASSED
tests/masonry/test_api.py::test_build_editable_wheel_with_metadata_directory[complete_dynamic] PASSED
tests/masonry/test_api.py::test_build_editable_wheel_with_metadata_directory[complete_new] PASSED
tests/masonry/test_api.py::test_build_sdist[complete] PASSED
tests/masonry/test_api.py::test_build_sdist[complete_dynamic] PASSED
tests/masonry/test_api.py::test_build_sdist[complete_new] 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_sdist_with_local_version PASSED
tests/masonry/test_api.py::test_build_wheel[complete] PASSED
tests/masonry/test_api.py::test_build_wheel[complete_dynamic] PASSED
tests/masonry/test_api.py::test_build_wheel[complete_new] 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_local_version PASSED
tests/masonry/test_api.py::test_build_wheel_with_metadata_directory[complete] PASSED
tests/masonry/test_api.py::test_build_wheel_with_metadata_directory[complete_dynamic] PASSED
tests/masonry/test_api.py::test_build_wheel_with_metadata_directory[complete_new] PASSED
tests/masonry/test_api.py::test_get_requires_for_build_sdist[complete] PASSED
tests/masonry/test_api.py::test_get_requires_for_build_sdist[complete_dynamic] PASSED
tests/masonry/test_api.py::test_get_requires_for_build_sdist[complete_new] PASSED
tests/masonry/test_api.py::test_get_requires_for_build_wheel[complete] PASSED
tests/masonry/test_api.py::test_get_requires_for_build_wheel[complete_dynamic] PASSED
tests/masonry/test_api.py::test_get_requires_for_build_wheel[complete_new] PASSED
tests/masonry/test_api.py::test_prepare_metadata_excludes_optional_without_extras PASSED
tests/masonry/test_api.py::test_prepare_metadata_for_build_wheel[complete] PASSED
tests/masonry/test_api.py::test_prepare_metadata_for_build_wheel[complete_dynamic] PASSED
tests/masonry/test_api.py::test_prepare_metadata_for_build_wheel[complete_new] 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_api.py::test_prepare_metadata_for_build_wheel_with_local_version PASSED
tests/masonry/test_metadata.py::test_from_package_multiple_readmes PASSED
tests/masonry/test_metadata.py::test_from_package_readme PASSED
tests/masonry/test_metadata.py::test_from_package_readme_issues[FileNotFoundError-Readme path `MyReadme.md` does not exist.] PASSED
tests/masonry/test_metadata.py::test_from_package_readme_issues[IsADirectoryError-Readme path `MyReadme.md` is a directory.] PASSED
tests/masonry/test_metadata.py::test_from_package_readme_issues[PermissionError-Readme path `MyReadme.md` is not readable.] 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[None-^1.0.0-1] PASSED
tests/packages/test_dependency.py::test_allows_prerelease[None-^1.0.0.alpha0+local] PASSED
tests/packages/test_dependency.py::test_allows_prerelease[None-^1.0.0.alpha0] PASSED
tests/packages/test_dependency.py::test_allows_prerelease[None-^1.0.0.dev0] PASSED
tests/packages/test_dependency.py::test_allows_prerelease[None-^1.0.0.rc0+local] PASSED
tests/packages/test_dependency.py::test_allows_prerelease[None-^1.0.0] PASSED
tests/packages/test_dependency.py::test_allows_prerelease[None-^1.0.dev0] PASSED
tests/packages/test_dependency.py::test_allows_prerelease[None-^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_python_versions_are_made_precise 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_path_requirement[eflips-depot @ git@github.com/mpm-tu-berlin/eflips-depot.git@feature/allow-only-oppo-charging-DirectoryDependency] PASSED
tests/packages/test_dependency.py::test_to_pep_508_with_invalid_path_requirement[eflips-depot @ git@github.com/mpm-tu-berlin/eflips-depot.git@feature/allow-only-oppo-charging.whl-FileDependency] 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_add_dependency_adds_to_correct_list[initial_dependencies0-initial_poetry_dependencies0-expected_dependencies0-expected_poetry_dependencies0] PASSED
tests/packages/test_dependency_group.py::test_add_dependency_adds_to_correct_list[initial_dependencies1-initial_poetry_dependencies1-expected_dependencies1-expected_poetry_dependencies1] PASSED
tests/packages/test_dependency_group.py::test_add_dependency_adds_to_correct_list[initial_dependencies2-initial_poetry_dependencies2-expected_dependencies2-expected_poetry_dependencies2] PASSED
tests/packages/test_dependency_group.py::test_add_dependency_adds_to_correct_list[initial_dependencies3-initial_poetry_dependencies3-expected_dependencies3-expected_poetry_dependencies3] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies0-poetry_dependencies0-expected_dependencies0-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies0-poetry_dependencies0-expected_dependencies0-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies1-poetry_dependencies1-expected_dependencies1-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies1-poetry_dependencies1-expected_dependencies1-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies2-poetry_dependencies2-expected_dependencies2-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies2-poetry_dependencies2-expected_dependencies2-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies3-poetry_dependencies3-expected_dependencies3-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies3-poetry_dependencies3-expected_dependencies3-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies4-poetry_dependencies4-expected_dependencies4-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies4-poetry_dependencies4-expected_dependencies4-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies5-poetry_dependencies5-expected_dependencies5-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies5-poetry_dependencies5-expected_dependencies5-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies6-poetry_dependencies6-expected_dependencies6-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies6-poetry_dependencies6-expected_dependencies6-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies7-poetry_dependencies7-expected_dependencies7-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies7-poetry_dependencies7-expected_dependencies7-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies8-poetry_dependencies8-expected_dependencies8-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies[dependencies8-poetry_dependencies8-expected_dependencies8-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies0-poetry_dependencies0-expected_dependencies0-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies0-poetry_dependencies0-expected_dependencies0-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies1-poetry_dependencies1-expected_dependencies1-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies1-poetry_dependencies1-expected_dependencies1-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies10-poetry_dependencies10-expected_dependencies10-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies10-poetry_dependencies10-expected_dependencies10-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies11-poetry_dependencies11-expected_dependencies11-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies11-poetry_dependencies11-expected_dependencies11-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies12-poetry_dependencies12-expected_dependencies12-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies12-poetry_dependencies12-expected_dependencies12-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies13-poetry_dependencies13-expected_dependencies13-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies13-poetry_dependencies13-expected_dependencies13-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies14-poetry_dependencies14-expected_dependencies14-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies14-poetry_dependencies14-expected_dependencies14-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies15-poetry_dependencies15-expected_dependencies15-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies15-poetry_dependencies15-expected_dependencies15-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies16-poetry_dependencies16-expected_dependencies16-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies16-poetry_dependencies16-expected_dependencies16-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies17-poetry_dependencies17-expected_dependencies17-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies17-poetry_dependencies17-expected_dependencies17-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies18-poetry_dependencies18-expected_dependencies18-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies18-poetry_dependencies18-expected_dependencies18-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies19-poetry_dependencies19-expected_dependencies19-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies19-poetry_dependencies19-expected_dependencies19-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies2-poetry_dependencies2-expected_dependencies2-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies2-poetry_dependencies2-expected_dependencies2-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies20-poetry_dependencies20-expected_dependencies20-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies20-poetry_dependencies20-expected_dependencies20-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies21-poetry_dependencies21-expected_dependencies21-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies21-poetry_dependencies21-expected_dependencies21-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies22-poetry_dependencies22-expected_dependencies22-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies22-poetry_dependencies22-expected_dependencies22-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies23-poetry_dependencies23-expected_dependencies23-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies23-poetry_dependencies23-expected_dependencies23-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies24-poetry_dependencies24-expected_dependencies24-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies24-poetry_dependencies24-expected_dependencies24-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies3-poetry_dependencies3-expected_dependencies3-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies3-poetry_dependencies3-expected_dependencies3-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies4-poetry_dependencies4-expected_dependencies4-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies4-poetry_dependencies4-expected_dependencies4-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies5-poetry_dependencies5-expected_dependencies5-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies5-poetry_dependencies5-expected_dependencies5-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies6-poetry_dependencies6-expected_dependencies6-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies6-poetry_dependencies6-expected_dependencies6-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies7-poetry_dependencies7-expected_dependencies7-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies7-poetry_dependencies7-expected_dependencies7-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies8-poetry_dependencies8-expected_dependencies8-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies8-poetry_dependencies8-expected_dependencies8-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies9-poetry_dependencies9-expected_dependencies9-False] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking[dependencies9-poetry_dependencies9-expected_dependencies9-True] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking_failure[dependencies0-poetry_dependencies0] PASSED
tests/packages/test_dependency_group.py::test_dependencies_for_locking_failure[dependencies1-poetry_dependencies1] PASSED
tests/packages/test_dependency_group.py::test_remove_dependency_removes_from_both_lists 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_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_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_extra_and_inverse_extra 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_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[<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@john.doe] PASSED
tests/packages/test_package.py::test_package_author_names_invalid[john@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[FirstName LastName firstname.lastname@company.com-None] 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_authors_valid[Surname, Given Name [Department]-None] PASSED
tests/packages/test_package.py::test_package_clone PASSED
tests/packages/test_package.py::test_package_empty_python_versions 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_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_normalize_source_url_method[git@github.com:demo/demo.git-ssh://git@github.com/demo/demo.git] PASSED
tests/packages/test_specification.py::test_specification_normalize_source_url_method[https://github.com/demo/demo.git-https://github.com/demo/demo.git] 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_specification.py::test_specification_uses_normalize_source_url_for_git[git@github.com:demo/demo.git-ssh://git@github.com/demo/demo.git] PASSED
tests/packages/test_specification.py::test_specification_uses_normalize_source_url_for_git[https://github.com/demo/demo.git-https://github.com/demo/demo.git] 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/test_vcs_dependency.py::test_vcs_source_is_normalized[git@github.com:demo/demo.git-ssh://git@github.com/demo/demo.git] PASSED
tests/packages/test_vcs_dependency.py::test_vcs_source_is_normalized[https://github.com/demo/demo.git-https://github.com/demo/demo.git] 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_no_poetry_config_but_project_section PASSED
tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_no_poetry_config_but_project_section_but_dynamic 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/pyproject/test_pyproject_toml.py::test_unparseable_pyproject_toml 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_helpers.py::test_valid_trove_classifiers 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_allow_prereleases[1-None] PASSED
tests/test_factory.py::test_create_dependency_allow_prereleases[constraint1-None] PASSED
tests/test_factory.py::test_create_dependency_allow_prereleases[constraint2-False] PASSED
tests/test_factory.py::test_create_dependency_allow_prereleases[constraint3-True] 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-*-<empty>] PASSED
tests/test_factory.py::test_create_poetry[sample_project] PASSED
tests/test_factory.py::test_create_poetry[sample_project_dynamic] PASSED
tests/test_factory.py::test_create_poetry[sample_project_new] PASSED
tests/test_factory.py::test_create_poetry_classifiers[[project]\nname = "foo"\nversion = "1"\nrequires-python = "3.10"\nclassifiers = ["License :: OSI Approved :: MIT License"]\n-expected0] PASSED
tests/test_factory.py::test_create_poetry_classifiers[[project]\nname = "foo"\nversion = "1"\nrequires-python = "3.10"\ndynamic = [ "classifiers" ]\n\n[tool.poetry]\nclassifiers = ["License :: OSI Approved :: MIT License"]\n-expected1] PASSED
tests/test_factory.py::test_create_poetry_classifiers[[tool.poetry]\nname = "foo"\nversion = "1"\nclassifiers = ["License :: OSI Approved :: MIT License"]\n\n[tool.poetry.dependencies]\npython = "~3.10"\n-expected2] PASSED
tests/test_factory.py::test_create_poetry_empty_readme 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_fails_with_missing_license_file PASSED
tests/test_factory.py::test_create_poetry_no_readme 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_python_version[>=3.8-None->=3.8->=3.8] PASSED
tests/test_factory.py::test_create_poetry_python_version[>=3.8-^3.8-^3.8->=3.8,<4.0] PASSED
tests/test_factory.py::test_create_poetry_python_version[None-^3.8-^3.8->=3.8,<4.0] PASSED
tests/test_factory.py::test_create_poetry_python_version_not_compatible 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_license_type_file[file] PASSED
tests/test_factory.py::test_create_poetry_with_license_type_file[str] PASSED
tests/test_factory.py::test_create_poetry_with_license_type_file[text] 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_poetry_build_system_dependencies[requires0-expected0] PASSED
tests/test_factory.py::test_poetry_build_system_dependencies[requires1-expected1] PASSED
tests/test_factory.py::test_poetry_build_system_dependencies[requires2-expected2] PASSED
tests/test_factory.py::test_poetry_build_system_dependencies[requires3-expected3] PASSED
tests/test_factory.py::test_poetry_build_system_dependencies[requires4-expected4] PASSED
tests/test_factory.py::test_poetry_build_system_dependencies[requires5-expected5] PASSED
tests/test_factory.py::test_poetry_build_system_dependencies_from_fixtures[project_with_build_system_requires-expected1] PASSED
tests/test_factory.py::test_poetry_build_system_dependencies_from_fixtures[sample_project-expected0] 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_dependencies_non_package_mode[False] PASSED
tests/test_factory.py::test_validate_dependencies_non_package_mode[True] PASSED
tests/test_factory.py::test_validate_fails PASSED
tests/test_factory.py::test_validate_python_non_package_mode[False] PASSED
tests/test_factory.py::test_validate_python_non_package_mode[True] PASSED
tests/test_factory.py::test_validate_strict_dynamic_warnings PASSED
tests/test_factory.py::test_validate_strict_fails_strict_and_non_strict PASSED
tests/test_factory.py::test_validate_strict_legacy_duplicate_warnings PASSED
tests/test_factory.py::test_validate_strict_legacy_warnings PASSED
tests/test_factory.py::test_validate_strict_new_no_warnings 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 SKIPPED
tests/utils/test_helpers.py::test_temporary_directory_python_3_10_or_newer_ensure_cleanup_on_error SKIPPED
tests/utils/test_helpers.py::test_temporary_directory_python_3_9_or_older PASSED
tests/utils/test_helpers.py::test_temporary_directory_python_3_9_or_older_ensure_cleanup_on_error 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_vc_subdir PASSED
tests/vcs/test_vcs.py::test_get_vcs_encoding PASSED
tests/vcs/test_vcs.py::test_get_vcs_ignored_subdir PASSED
tests/vcs/test_vcs.py::test_get_vcs_no_repo 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-parsed19] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+file://C:\\Users\\hello\\testing.git#zkat/windows-files-parsed20] 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-parsed21] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+https://github.com/sdispater/pendulum#7a018f2d075b03a73409e8356f9b29c9ad4ea2c5-parsed16] 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+https://username+suffix:password@github.com/sdispater/pendulum-parsed15] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+https://username:@github.com/sdispater/pendulum-parsed13] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+https://username:password@github.com/sdispater/pendulum-parsed14] 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-parsed17] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/+git/my_repo.git-parsed23] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git#commit&subdirectory=project-dir-parsed25] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git#subdirectory=project-dir-parsed24] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git-parsed22] 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-parsed28] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git@commit#subdirectory=project-dir-parsed26] PASSED
tests/vcs/test_vcs.py::test_parse_url[git+ssh://git@git.example.com:sdispater/project/my_repo.git@commit&subdirectory=project_dir-parsed27] 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-parsed18] 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 >= "2.7" and (python_version < "2.8" or python_version >= "3.7") and python_version < "3.8" and extra == "foo"-extra-python_version == "2.7" or python_version == "3.7"] 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_intersection_no_endless_recursion PASSED
tests/version/test_markers.py::test_invert["tegra" in platform_release-"tegra" not in platform_release] PASSED
tests/version/test_markers.py::test_invert["tegra" not in platform_release-"tegra" in platform_release] 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"-!= "3.6"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-< "3.6.1"-< "3.6"-None] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-< "3.7.0"-< "3.6"-] 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"-None] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-<= "3.6.1"-< "3.6"-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"-!= "3.6.0"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"-> "3.6.1"->= "3.7"-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"-] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"->= "3.6.1"->= "3.7"-None] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[!= "3.6"->= "3.7.0"->= "3.7"-!= "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"-<empty>-<= "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"-<empty>-!= "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"-<empty>-] 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"-<empty>-<= "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"-<empty>-!= "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"-<empty>-] 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"-<empty>-None] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-< "3.6.0"-<empty>-< "3.7"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-< "3.6.1"-None-< "3.7"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-< "3.7.0"-== "3.6"-< "3.7"] 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"-<empty>-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"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-<= "3.6.1"-None-< "3.7"] 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"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-> "3.6.1"-None->= "3.6"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-> "3.7.0"-<empty>-None] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"-> "3.7.1"-<empty>-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"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"->= "3.6.1"-None->= "3.6"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"->= "3.7.0"-<empty>->= "3.6"] PASSED
tests/version/test_markers.py::test_merging_python_version_and_python_full_version[== "3.6"->= "3.7.1"-<empty>-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"-<empty>-] 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"-<empty>-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"-<empty>-] 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"-<empty>-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["tegra" in platform_release or "rpi-v8" in platform_release] PASSED
tests/version/test_markers.py::test_parse_marker["tegra" in platform_release] PASSED
tests/version/test_markers.py::test_parse_marker["tegra" not in platform_release and "rpi-v8" not in platform_release] PASSED
tests/version/test_markers.py::test_parse_marker["tegra" not in platform_release] 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" and extra != "c" and extra != "d"] 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" or extra != "c" or extra != "d"] 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_marker_non_python_versions[platform_release != "4.9.253-tegra"-True] PASSED
tests/version/test_markers.py::test_parse_marker_non_python_versions[python_version != "4.9.253-tegra"-False] 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["arm" in platform_version-platform_version-'arm' in] PASSED
tests/version/test_markers.py::test_parse_single_marker["arm" not in platform_version-platform_version-'arm' not in] PASSED
tests/version/test_markers.py::test_parse_single_marker["rpi-v8" in platform_release-platform_release-'rpi-v8' in] PASSED
tests/version/test_markers.py::test_parse_single_marker["tegra" not in platform_release-platform_release-'tegra' not in] 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_reduce_by_python_constraint[-~3.8-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[<empty>-~3.8-<empty>] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_full_version < "3.8.0"-~3.8-<empty>] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_full_version >= "3.8.0"-~3.8-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_full_version >= "3.8.1" and python_version < "3.9"-~3.8-python_full_version >= "3.8.1"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_full_version >= "3.8.1"-~3.8-python_full_version >= "3.8.1"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version < "3.8" or python_version >= "3.9" and sys_platform == "linux"-~3.9-sys_platform == "linux"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version < "3.8" or python_version >= "3.9"-<=3.10-python_version < "3.8" or python_version >= "3.9"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version < "3.8" or python_version >= "3.9"->=3.7-python_version < "3.8" or python_version >= "3.9"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version < "3.8" or python_version >= "3.9"-~3.6 || ~3.8-python_version < "3.8"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version < "3.8" or python_version >= "3.9"-~3.7 || ~3.9-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version < "3.8" or python_version >= "3.9"-~3.7-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version < "3.8" or python_version >= "3.9"-~3.9-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version < "3.8" or sys_platform == "linux" or python_version >= "3.9" or sys_platform == "win32"-~3.7 || ~3.9-sys_platform == "linux" or sys_platform == "win32"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version < "3.8" or sys_platform == "linux" or python_version >= "3.9"-~3.7 || ~3.9-sys_platform == "linux"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version == "3.8" or python_version >= "3.9"->=3.8.0,<4.0.0-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version == "3.8" or python_version >= "3.9"->=3.8.7,<4.0.0-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version == "3.8" or sys_platform == "linux" or python_version >= "3.9"->=3.8.0,<4.0.0-sys_platform == "linux"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version == "3.8" or sys_platform == "linux" or python_version >= "3.9"->=3.8.7,<4.0.0-sys_platform == "linux"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version == "3.8"->=3.8.7,<3.9.0-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version > "3.7"-~3.8-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version > "3.8"-~3.8-<empty>] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version >= "3.7" and python_version < "4.0"-~3.8-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version >= "3.8" and python_full_version < "3.8.2"-~3.8-python_full_version < "3.8.2"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version >= "3.8" and python_version < "3.9"-~3.8-] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version >= "3.8" and sys_platform == "linux" and python_version < "3.9"-~3.8-sys_platform == "linux"] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version >= "3.8"-~3.8-0] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version >= "3.8"-~3.8-1] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[python_version >= "3.9"-~3.8-<empty>] PASSED
tests/version/test_markers.py::test_reduce_by_python_constraint[sys_platform == "linux"-~3.8-sys_platform == "linux"] PASSED
tests/version/test_markers.py::test_single_marker_intersect PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a" and extra != "b"-extra != "a"-extra != "a" and extra != "b"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a" and extra != "b"-extra != "c"-extra != "a" and extra != "b" and extra != "c"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a" and extra != "b"-extra == "a" or extra == "b"-<empty>] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a" and extra != "b"-extra == "a" or extra == "c"-extra == "c" and extra != "a" and extra != "b"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a" and extra != "b"-extra == "a"-<empty>] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a" and extra != "b"-extra == "c"-extra != "a" and extra != "b" and extra == "c"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a" and extra == "b"-extra == "a" and extra == "c"-<empty>] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra != "a" or extra == "b"-extra != "a"-extra != "a"] 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"-<empty>] 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" and extra != "b"-extra == "a"-extra == "a" and extra != "b"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" and extra == "b"-extra != "c"-extra == "a" and extra == "b" and extra != "c"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" and extra == "b"-extra == "a" and extra == "b"-extra == "a" and extra == "b"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" and extra == "b"-extra == "b" and extra == "a"-extra == "a" and extra == "b"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" and extra == "b"-extra == "c" and extra != "d"-extra == "a" and extra == "b" and extra == "c" and extra != "d"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" and extra == "b"-extra == "c"-extra == "a" and extra == "b" and extra == "c"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" or extra == "b"-extra != "a"-extra == "b" and extra != "a"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" or extra == "b"-extra != "c"-(extra == "a" or extra == "b") and extra != "c"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" or extra == "b"-extra == "a" or extra != "c"-(extra == "a" or extra == "b") and (extra == "a" or extra != "c")] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" or extra == "b"-extra == "a" or extra == "b"-extra == "a" or extra == "b"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" or extra == "b"-extra == "a"-extra == "a"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" or extra == "b"-extra == "b" or extra == "a"-extra == "a" or extra == "b"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a" or extra == "b"-extra == "c"-(extra == "a" or extra == "b") and extra == "c"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_extras[extra == "a"-extra != "a"-<empty>] 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_is_single_marker[python_version < "3.6"-python_version < "3.4"-python_version < "3.4"] PASSED
tests/version/test_markers.py::test_single_marker_intersect_is_single_marker[python_version >= "3.6"-python_version < "3.7"-python_version == "3.6"] 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" and extra != "b"-extra != "a"-extra != "a"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra != "a" and extra != "b"-extra != "c"-extra != "a" and extra != "b" or extra != "c"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra != "a" and extra != "b"-extra == "a" or extra == "b"-extra != "a" and extra != "b" or extra == "a" or extra == "b"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra != "a" and extra != "b"-extra == "a" or extra == "c"-extra != "a" and extra != "b" or extra == "a" or extra == "c"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra != "a" and extra != "b"-extra == "a"-extra != "b" or extra == "a"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra != "a" and extra != "b"-extra == "c"-extra != "a" and extra != "b" or extra == "c"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra != "a" and extra == "b"-extra == "a" and extra == "c"-extra != "a" and extra == "b" or extra == "a" and extra == "c"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra != "a" or extra == "b"-extra != "a"-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_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" and extra != "b"-extra == "a"-extra == "a"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" and extra == "b"-extra != "c"-extra == "a" and extra == "b" or extra != "c"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" and extra == "b"-extra == "a" and extra == "b"-extra == "a" and extra == "b"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" and extra == "b"-extra == "c" and extra != "d"-extra == "a" and extra == "b" or extra == "c" and extra != "d"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" and extra == "b"-extra == "c"-extra == "a" and extra == "b" or extra == "c"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" or extra == "b"-extra != "a"-] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" or extra == "b"-extra != "c"-extra == "a" or extra == "b" or extra != "c"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" or extra == "b"-extra == "a" or extra != "c"-extra == "a" or extra == "b" or extra != "c"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" or extra == "b"-extra == "a" or extra == "b"-extra == "a" or extra == "b"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" or extra == "b"-extra == "a"-extra == "a" or extra == "b"] PASSED
tests/version/test_markers.py::test_single_marker_union_extras[extra == "a" or extra == "b"-extra == "c"-extra == "a" or extra == "b" or extra == "c"] 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.7"-] 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.7"-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["tegra" in platform_release-environment19-True] PASSED
tests/version/test_markers.py::test_validate["tegra" in platform_release-environment20-False] PASSED
tests/version/test_markers.py::test_validate["tegra" not in platform_release-environment21-False] PASSED
tests/version/test_markers.py::test_validate["tegra" not in platform_release-environment22-True] 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'-environment40-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' and extra != 'b'-environment53-False] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' and extra != 'b'-environment54-False] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' and extra != 'b'-environment55-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' and extra == 'b'-environment42-False] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' and extra == 'b'-environment59-False] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' and extra == 'b'-environment60-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' and extra == 'b'-environment61-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'-environment56-False] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' or extra != 'b'-environment57-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' or extra != 'b'-environment58-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' or extra == 'b'-environment43-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' or extra == 'b'-environment62-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' or extra == 'b'-environment63-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'a' or extra == 'b'-environment64-False] PASSED
tests/version/test_markers.py::test_validate[extra != 'a'-environment34-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'a'-environment46-False] PASSED
tests/version/test_markers.py::test_validate[extra != 'a'-environment47-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'b'-environment37-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'security'-environment30-True] PASSED
tests/version/test_markers.py::test_validate[extra != 'security'-environment31-False] PASSED
tests/version/test_markers.py::test_validate[extra == 'Security.1'-environment32-True] PASSED
tests/version/test_markers.py::test_validate[extra == 'a' and extra == 'b'-environment35-True] PASSED
tests/version/test_markers.py::test_validate[extra == 'a' and extra == 'b'-environment38-False] PASSED
tests/version/test_markers.py::test_validate[extra == 'a' and extra == 'b'-environment48-True] PASSED
tests/version/test_markers.py::test_validate[extra == 'a' and extra == 'b'-environment49-False] PASSED
tests/version/test_markers.py::test_validate[extra == 'a' or extra == 'b'-environment39-False] PASSED
tests/version/test_markers.py::test_validate[extra == 'a' or extra == 'b'-environment50-True] PASSED
tests/version/test_markers.py::test_validate[extra == 'a' or extra == 'b'-environment51-True] PASSED
tests/version/test_markers.py::test_validate[extra == 'a' or extra == 'b'-environment52-False] PASSED
tests/version/test_markers.py::test_validate[extra == 'a'-environment33-True] PASSED
tests/version/test_markers.py::test_validate[extra == 'a'-environment36-False] PASSED
tests/version/test_markers.py::test_validate[extra == 'a'-environment44-True] PASSED
tests/version/test_markers.py::test_validate[extra == 'a'-environment45-False] PASSED
tests/version/test_markers.py::test_validate[extra == 'security'-environment28-False] PASSED
tests/version/test_markers.py::test_validate[extra == 'security'-environment29-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 == 'aarch64' and 'tegra' in platform_release-environment23-True] 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[platform_release != '4.9.253-tegra'-environment24-True] PASSED
tests/version/test_markers.py::test_validate[platform_release != '4.9.253-tegra'-environment25-True] PASSED
tests/version/test_markers.py::test_validate[platform_release < '5.10.123-tegra' and platform_release >= '4.9.254-tegra'-environment27-True] PASSED
tests/version/test_markers.py::test_validate[platform_release >= '6.6.0+rpt-rpi-v8'-environment26-True] 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.7.2"-python_version > "3.6" and python_version < "3.8"-python_version > "3.6" and python_version < "3.8"] 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"] 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"] PASSED
tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_full_version < "3.7.2"-python_full_version >= "3.6.2" and python_version < "3.8"-python_version >= "3.6" and python_version < "3.8"] PASSED
tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_full_version < "3.7.2"-python_version >= "3.6" and python_version < "3.8"-python_version >= "3.6" and python_version < "3.8"] 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"] 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"] PASSED
tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_full_version <= "3.7.2"-python_full_version > "3.6.2" and python_version < "3.8"-python_version >= "3.6" and python_version < "3.8"] PASSED
tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_full_version <= "3.7.8"-python_full_version >= "3.6.2" and python_version < "3.8"-python_version >= "3.6" and python_version < "3.8"] 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"] PASSED
tests/version/test_markers.py::test_version_ranges_collapse_on_union[python_version >= "3.6" and python_version < "3.8"-python_full_version >= "3.6.2" and python_version < "3.8"-python_version >= "3.6" and python_version < "3.8"] 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) ; "tegra" not in platform_release and python_version >= "3.10"-expected25] 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

======== 2564 passed, 5 skipped, 9 deselected ========