def test_is_manylinux_compatible_glibc_support(monkeypatch): monkeypatch.setitem(sys.modules, "_manylinux", None) monkeypatch.setattr( tags, "_have_compatible_glibc", lambda major, minor: (major, minor) <= (2, 5) ) assert tags._is_manylinux_compatible("manylinux1", (2, 0)) assert tags._is_manylinux_compatible("manylinux1", (2, 5)) assert not tags._is_manylinux_compatible("manylinux1", (2, 10))
def test_is_manylinux_compatible_module_support(monkeypatch): monkeypatch.setattr(tags, "_have_compatible_glibc", lambda *args: False) module_name = "_manylinux" module = types.ModuleType(module_name) module.manylinux1_compatible = True monkeypatch.setitem(sys.modules, module_name, module) assert tags._is_manylinux_compatible("manylinux1", (2, 5)) module.manylinux1_compatible = False assert not tags._is_manylinux_compatible("manylinux1", (2, 5)) del module.manylinux1_compatible assert not tags._is_manylinux_compatible("manylinux1", (2, 5)) monkeypatch.setitem(sys.modules, module_name, None) assert not tags._is_manylinux_compatible("manylinux1", (2, 5))
def test_is_manylinux_compatible_module_support(self, manylinux_module, monkeypatch): monkeypatch.setitem(sys.modules, manylinux_module.__name__, None) assert not tags._is_manylinux_compatible("manylinux1", (2, 5))
def test_module_declaration_missing_attribute(self, manylinux_module): try: del manylinux_module.manylinux1_compatible except AttributeError: pass assert not tags._is_manylinux_compatible("manylinux1", (2, 5))
def test_envvar_no_manylinux_compatible(self, monkeypatch, tag, version): monkeypatch.setenv("PYTHON_NO_MANYLINUX", "1") assert not tags._is_manylinux_compatible(tag, version)
def test_module_no_manylinux_compatible(self, manylinux_module, tag, version): manylinux_module.manylinux_compatible = False assert not tags._is_manylinux_compatible(tag, version)
def test_module_declaration_false(self, manylinux_module): manylinux_module.manylinux1_compatible = False assert not tags._is_manylinux_compatible("manylinux1", (2, 5))
def test_module_declaration_true(self, manylinux_module): manylinux_module.manylinux1_compatible = True assert tags._is_manylinux_compatible("manylinux1", (2, 5))