Beispiel #1
0
def test_generic_tags():
    tags = list(pep425._generic_tags("sillywalk33", (3, 3), "abi", ["plat1", "plat2"]))
    assert tags == [
        pep425.Tag("sillywalk33", "abi", "plat1"),
        pep425.Tag("sillywalk33", "abi", "plat2"),
        pep425.Tag("sillywalk33", "none", "plat1"),
        pep425.Tag("sillywalk33", "none", "plat2"),
    ]
Beispiel #2
0
def test_sys_tags_on_mac_pypy(monkeypatch):
    if platform.python_implementation() != "PyPy":
        monkeypatch.setattr(platform, "python_implementation", lambda: "PyPy")
        monkeypatch.setattr(pep425, "_pypy_interpreter", lambda: "pp360")
    if platform.system() != "Darwin":
        monkeypatch.setattr(pep425, "_mac_platforms", lambda: ["macosx_10_5_x86_64"])
    interpreter = pep425._pypy_interpreter()
    abi = pep425._generic_abi()
    platforms = pep425._mac_platforms()
    tags = list(pep425.sys_tags())
    assert tags[0] == pep425.Tag(interpreter, abi, platforms[0])
    assert tags[-1] == pep425.Tag("py{}0".format(sys.version_info[0]), "none", "any")
Beispiel #3
0
def test_pypy_tags(monkeypatch):
    if platform.python_implementation() != "PyPy":
        monkeypatch.setattr(platform, "python_implementation", lambda: "PyPy")
        monkeypatch.setattr(pep425, "_pypy_interpreter", lambda: "pp360")
    interpreter = pep425._pypy_interpreter()
    tags = list(pep425._pypy_tags((3, 3), interpreter, "pypy3_60", ["plat1", "plat2"]))
    assert tags == [
        pep425.Tag(interpreter, "pypy3_60", "plat1"),
        pep425.Tag(interpreter, "pypy3_60", "plat2"),
        pep425.Tag(interpreter, "none", "plat1"),
        pep425.Tag(interpreter, "none", "plat2"),
    ]
Beispiel #4
0
def test_sys_tags_on_mac_cpython(monkeypatch):
    if platform.python_implementation() != "CPython":
        monkeypatch.setattr(platform, "python_implementation", lambda: "CPython")
        monkeypatch.setattr(pep425, "_cpython_abi", lambda py_version: "cp33m")
    if platform.system() != "Darwin":
        monkeypatch.setattr(pep425, "_mac_platforms", lambda: ["macosx_10_5_x86_64"])
    abi = pep425._cpython_abi(sys.version_info[:2])
    platforms = pep425._mac_platforms()
    tags = list(pep425.sys_tags())
    assert tags[0] == pep425.Tag(
        "cp{major}{minor}".format(major=sys.version_info[0], minor=sys.version_info[1]),
        abi,
        platforms[0],
    )
    assert tags[-1] == pep425.Tag("py{}0".format(sys.version_info[0]), "none", "any")
Beispiel #5
0
def test_cpython_tags():
    tags = list(pep425._cpython_tags((3, 3), "cp33", "cp33m", ["plat1", "plat2"]))
    assert tags == [
        pep425.Tag("cp33", "cp33m", "plat1"),
        pep425.Tag("cp33", "cp33m", "plat2"),
        pep425.Tag("cp33", "abi3", "plat1"),
        pep425.Tag("cp33", "abi3", "plat2"),
        pep425.Tag("cp33", "none", "plat1"),
        pep425.Tag("cp33", "none", "plat2"),
        pep425.Tag("cp32", "abi3", "plat1"),
        pep425.Tag("cp32", "abi3", "plat2"),
    ]
Beispiel #6
0
def test_parse_tag_multi_platform():
    expected = {
        pep425.Tag("cp37", "cp37m", platform)
        for platform in (
            "macosx_10_6_intel",
            "macosx_10_9_intel",
            "macosx_10_9_x86_64",
            "macosx_10_10_intel",
            "macosx_10_10_x86_64",
        )
    }
    given = pep425.parse_tag(
        "cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64"
    )
    assert given == expected
Beispiel #7
0
def test_parse_wheel_tag_multi_interpreter(example_tag):
    expected = {example_tag, pep425.Tag("py2", "none", "any")}
    given = pep425.parse_wheel_tag("pip-18.0-py2.py3-none-any.whl")
    assert given == expected
Beispiel #8
0
def test_Tag_equality():
    args = "py3", "none", "any"
    assert pep425.Tag(*args) == pep425.Tag(*args)
Beispiel #9
0
def test_independent_tags():
    assert list(pep425._independent_tags("cp33", (3, 3), ["plat1", "plat2"])) == [
        pep425.Tag("py33", "none", "plat1"),
        pep425.Tag("py33", "none", "plat2"),
        pep425.Tag("py3", "none", "plat1"),
        pep425.Tag("py3", "none", "plat2"),
        pep425.Tag("py32", "none", "plat1"),
        pep425.Tag("py32", "none", "plat2"),
        pep425.Tag("py31", "none", "plat1"),
        pep425.Tag("py31", "none", "plat2"),
        pep425.Tag("py30", "none", "plat1"),
        pep425.Tag("py30", "none", "plat2"),
        pep425.Tag("cp33", "none", "any"),
        pep425.Tag("py33", "none", "any"),
        pep425.Tag("py3", "none", "any"),
        pep425.Tag("py32", "none", "any"),
        pep425.Tag("py31", "none", "any"),
        pep425.Tag("py30", "none", "any"),
    ]
Beispiel #10
0
def test_Tag_lowercasing():
    tag = pep425.Tag("PY3", "None", "ANY")
    assert tag.interpreter == "py3"
    assert tag.abi == "none"
    assert tag.platform == "any"
Beispiel #11
0
def example_tag():
    return pep425.Tag("py3", "none", "any")