def test_pypy_tags(monkeypatch): if platform.python_implementation() != "PyPy": monkeypatch.setattr(platform, "python_implementation", lambda: "PyPy") monkeypatch.setattr(tags, "_pypy_interpreter", lambda: "pp360") interpreter = tags._pypy_interpreter() result = list(tags._pypy_tags((3, 3), interpreter, "pypy3_60", ["plat1", "plat2"])) assert result == [ tags.Tag(interpreter, "pypy3_60", "plat1"), tags.Tag(interpreter, "pypy3_60", "plat2"), tags.Tag(interpreter, "none", "plat1"), tags.Tag(interpreter, "none", "plat2"), ]
def test_sys_tags_on_mac_pypy(monkeypatch): if platform.python_implementation() != "PyPy": monkeypatch.setattr(platform, "python_implementation", lambda: "PyPy") monkeypatch.setattr(tags, "_pypy_interpreter", lambda: "pp360") if platform.system() != "Darwin": monkeypatch.setattr(platform, "system", lambda: "Darwin") monkeypatch.setattr(tags, "_mac_platforms", lambda: ["macosx_10_5_x86_64"]) interpreter = tags._pypy_interpreter() abi = tags._generic_abi() platforms = tags._mac_platforms() result = list(tags.sys_tags()) assert result[0] == tags.Tag(interpreter, abi, platforms[0]) assert result[-1] == tags.Tag("py{}0".format(sys.version_info[0]), "none", "any")
def test_pypy_interpreter(monkeypatch): if hasattr(sys, "pypy_version_info"): major, minor = sys.pypy_version_info[:2] else: attributes = ["major", "minor", "micro", "releaselevel", "serial"] PyPyVersion = collections.namedtuple("version_info", attributes) major, minor = 6, 0 pypy_version = PyPyVersion( major=major, minor=minor, micro=1, releaselevel="final", serial=0 ) monkeypatch.setattr(sys, "pypy_version_info", pypy_version, raising=False) expected = "pp{}{}{}".format(sys.version_info[0], major, minor) assert expected == tags._pypy_interpreter()