コード例 #1
0
 def test_wide_unicode(self, unicode_size, maxunicode, version, result, monkeypatch):
     config = {"Py_DEBUG": 0, "WITH_PYMALLOC": 0, "Py_UNICODE_SIZE": unicode_size}
     monkeypatch.setattr(sysconfig, "get_config_var", config.__getitem__)
     monkeypatch.setattr(sys, "maxunicode", maxunicode)
     base_abi = "cp" + tags._version_nodot(version)
     expected = [base_abi + "u" if result else base_abi]
     assert tags._cpython_abis(version) == expected
コード例 #2
0
 def test_debug(self, py_debug, gettotalrefcount, result, monkeypatch):
     config = {"Py_DEBUG": py_debug, "WITH_PYMALLOC": 0, "Py_UNICODE_SIZE": 2}
     monkeypatch.setattr(sysconfig, "get_config_var", config.__getitem__)
     if gettotalrefcount:
         monkeypatch.setattr(sys, "gettotalrefcount", 1, raising=False)
     expected = ["cp37d" if result else "cp37"]
     assert tags._cpython_abis((3, 7)) == expected
コード例 #3
0
 def test_pymalloc(self, pymalloc, version, result, monkeypatch):
     config = {
         "Py_DEBUG": 0,
         "WITH_PYMALLOC": pymalloc,
         "Py_UNICODE_SIZE": 2
     }
     monkeypatch.setattr(sysconfig, "get_config_var", config.__getitem__)
     base_abi = "cp{}{}".format(version[0], version[1])
     expected = [base_abi + "m" if result else base_abi]
     assert tags._cpython_abis(version) == expected
コード例 #4
0
 def test_linux_cpython(self, mock_interpreter_name, monkeypatch):
     if mock_interpreter_name("CPython"):
         monkeypatch.setattr(tags, "_cpython_abis", lambda *a: ["cp33m"])
     if platform.system() != "Linux":
         monkeypatch.setattr(platform, "system", lambda: "Linux")
         monkeypatch.setattr(tags, "_linux_platforms", lambda: ["linux_x86_64"])
     abis = list(tags._cpython_abis(sys.version_info[:2]))
     platforms = list(tags._linux_platforms())
     result = list(tags.sys_tags())
     expected_interpreter = "cp" + tags._version_nodot(sys.version_info[:2])
     assert len(abis) == 1
     assert result[0] == tags.Tag(expected_interpreter, abis[0], platforms[0])
     expected = tags.Tag(
         "py" + tags._version_nodot((sys.version_info[0], 0)), "none", "any"
     )
     assert result[-1] == expected
コード例 #5
0
 def test_mac_cpython(self, mock_interpreter_name, monkeypatch):
     if mock_interpreter_name("CPython"):
         monkeypatch.setattr(tags, "_cpython_abis", lambda *a: ["cp33m"])
     if platform.system() != "Darwin":
         monkeypatch.setattr(platform, "system", lambda: "Darwin")
         monkeypatch.setattr(tags, "mac_platforms", lambda: ["macosx_10_5_x86_64"])
     abis = tags._cpython_abis(sys.version_info[:2])
     platforms = list(tags.mac_platforms())
     result = list(tags.sys_tags())
     assert len(abis) == 1
     assert result[0] == tags.Tag(
         "cp" + tags._version_nodot(sys.version_info[:2]), abis[0], platforms[0]
     )
     assert result[-1] == tags.Tag(
         "py" + tags._version_nodot((sys.version_info[0], 0)), "none", "any"
     )
コード例 #6
0
 def test_windows_cpython(self, mock_interpreter_name, monkeypatch):
     if mock_interpreter_name("CPython"):
         monkeypatch.setattr(tags, "_cpython_abis", lambda *a: ["cp33m"])
     if platform.system() != "Windows":
         monkeypatch.setattr(platform, "system", lambda: "Windows")
         monkeypatch.setattr(tags, "_generic_platforms",
                             lambda: ["win_amd64"])
     abis = list(tags._cpython_abis(sys.version_info[:2]))
     platforms = list(tags._generic_platforms())
     result = list(tags.sys_tags())
     interpreter = "cp{major}{minor}".format(major=sys.version_info[0],
                                             minor=sys.version_info[1])
     assert len(abis) == 1
     expected = tags.Tag(interpreter, abis[0], platforms[0])
     assert result[0] == expected
     expected = tags.Tag("py{}0".format(sys.version_info[0]), "none", "any")
     assert result[-1] == expected
コード例 #7
0
def test_sys_tags_linux_cpython(monkeypatch):
    if platform.python_implementation() != "CPython":
        monkeypatch.setattr(platform, "python_implementation", lambda: "CPython")
        monkeypatch.setattr(tags, "_cpython_abis", lambda py_version: ["cp33m"])
    if platform.system() != "Linux":
        monkeypatch.setattr(platform, "system", lambda: "Linux")
        monkeypatch.setattr(tags, "_linux_platforms", lambda: ["linux_x86_64"])
    abis = tags._cpython_abis(sys.version_info[:2])
    platforms = tags._linux_platforms()
    result = list(tags.sys_tags())
    expected_interpreter = "cp{major}{minor}".format(
        major=sys.version_info[0], minor=sys.version_info[1]
    )
    assert len(abis) == 1
    assert result[0] == tags.Tag(expected_interpreter, abis[0], platforms[0])
    expected = tags.Tag("py{}0".format(sys.version_info[0]), "none", "any")
    assert result[-1] == expected
コード例 #8
0
def test_sys_tags_on_mac_cpython(monkeypatch):
    if platform.python_implementation() != "CPython":
        monkeypatch.setattr(platform, "python_implementation", lambda: "CPython")
        monkeypatch.setattr(tags, "_cpython_abis", lambda py_version: ["cp33m"])
    if platform.system() != "Darwin":
        monkeypatch.setattr(platform, "system", lambda: "Darwin")
        monkeypatch.setattr(tags, "_mac_platforms", lambda: ["macosx_10_5_x86_64"])
    abis = tags._cpython_abis(sys.version_info[:2])
    platforms = tags._mac_platforms()
    result = list(tags.sys_tags())
    assert len(abis) == 1
    assert result[0] == tags.Tag(
        "cp{major}{minor}".format(major=sys.version_info[0], minor=sys.version_info[1]),
        abis[0],
        platforms[0],
    )
    assert result[-1] == tags.Tag("py{}0".format(sys.version_info[0]), "none", "any")
コード例 #9
0
 def test__debug_cp38(self, debug, expected, monkeypatch):
     config = {"Py_DEBUG": debug}
     monkeypatch.setattr(sysconfig, "get_config_var", config.__getitem__)
     assert tags._cpython_abis((3, 8)) == expected
コード例 #10
0
 def test_debug_file_extension(self, monkeypatch):
     config = {"Py_DEBUG": None}
     monkeypatch.setattr(sysconfig, "get_config_var", config.__getitem__)
     monkeypatch.delattr(sys, "gettotalrefcount", raising=False)
     monkeypatch.setattr(tags, "EXTENSION_SUFFIXES", {"_d.pyd"})
     assert tags._cpython_abis((3, 8)) == ["cp38d", "cp38"]