def test_parse_version_list_magic_range(fix_max_python_3_version): fix_max_python_3_version(7) assert cpv.parse_version_list('2.7,3.4-') == [ '2.7', '3.4', '3.5', '3.6', '3.7' ] assert cpv.parse_version_list('2.6,-3.4') == [ '2.6', '3.0', '3.1', '3.2', '3.3', '3.4' ]
def test_parse_version_list_too_many_dots(): with pytest.raises(argparse.ArgumentTypeError): cpv.parse_version_list('2.7.1')
def test_parse_version_list_too_few(): with pytest.raises(argparse.ArgumentTypeError): cpv.parse_version_list('2')
def test_parse_version_list_bad_number(): with pytest.raises(argparse.ArgumentTypeError): cpv.parse_version_list('2.x')
def test_parse_version_list_bad_range(v): with pytest.raises(argparse.ArgumentTypeError, match=re.escape(f'bad range: {v}')): cpv.parse_version_list(v)
def test_parse_version_list(): assert cpv.parse_version_list('2.7,3.4-3.6') == [ '2.7', '3.4', '3.5', '3.6' ]
def test_parse_version_list_3_10(): assert cpv.parse_version_list( '3.7-3.10' ) == v(['3.7', '3.8', '3.9', '3.10'])