Skip to content

Commit

Permalink
Parametrize the tests
Browse files Browse the repository at this point in the history
  • Loading branch information
xuhdev committed Feb 2, 2020
1 parent 76fa89c commit 87b0023
Showing 1 changed file with 10 additions and 46 deletions.
56 changes: 10 additions & 46 deletions tests/test_tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,21 +32,6 @@ def example_tag():
return tags.Tag("py3", "none", "any")


@pytest.fixture
def is_x86():
return re.match(r"(i\d86|x86_64)", platform.machine()) is not None


@pytest.fixture
def is_arm():
return re.match(r"(armv\d|aarch64)", platform.machine()) is not None


@pytest.fixture
def is_64bit_os():
return platform.architecture()[0] == "64bit"


@pytest.fixture
def manylinux_module(monkeypatch):
monkeypatch.setattr(tags, "_have_compatible_glibc", lambda *args: False)
Expand Down Expand Up @@ -420,37 +405,16 @@ def test_glibc_version_string_none(self, monkeypatch):
monkeypatch.setattr(tags, "_glibc_version_string", lambda: None)
assert not tags._have_compatible_glibc(2, 4)

def test_linux_platforms_64bit_on_64bit_os(self, is_64bit_os, is_x86, monkeypatch):
if platform.system() != "Linux" or not is_64bit_os or not is_x86:
monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
monkeypatch.setattr(tags, "_is_manylinux_compatible", lambda *args: False)
linux_platform = list(tags._linux_platforms(is_32bit=False))[-1]
assert linux_platform == "linux_x86_64"

def test_linux_platforms_32bit_on_64bit_os(self, is_64bit_os, is_x86, monkeypatch):
if platform.system() != "Linux" or not is_64bit_os or not is_x86:
monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
monkeypatch.setattr(tags, "_is_manylinux_compatible", lambda *args: False)
linux_platform = list(tags._linux_platforms(is_32bit=True))[-1]
assert linux_platform == "linux_i686"

def test_linux_platforms_64bit_on_64bit_os_arm(
self, is_64bit_os, is_arm, monkeypatch
):
if platform.system() != "Linux" or not is_64bit_os or not is_arm:
monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux-aarch64")
monkeypatch.setattr(tags, "_is_manylinux_compatible", lambda *args: False)
linux_platform = list(tags._linux_platforms(is_32bit=False))[-1]
assert linux_platform == "linux_aarch64"

def test_linux_platforms_32bit_on_64bit_os_arm(
self, is_64bit_os, is_arm, monkeypatch
):
if platform.system() != "Linux" or not is_64bit_os or not is_arm:
monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux-aarch64")
monkeypatch.setattr(tags, "_is_manylinux_compatible", lambda *args: False)
linux_platform = list(tags._linux_platforms(is_32bit=True))[-1]
assert linux_platform == "linux_armv7l"
@pytest.mark.parametrize("arch,is_32bit,expected",
[('linux-x86_64', False, "linux_x86_64"),
('linux-x86_64', True, "linux_i686"),
('linux-aarch64', False, "linux_aarch64"),
('linux-aarch64', True, "linux_armv7l")])
def test_linux_platforms_32_64bit_on_64bit_os(self, arch, is_32bit, expected, monkeypatch):
monkeypatch.setattr(distutils.util, "get_platform", lambda: arch)
monkeypatch.setattr(tags, "_is_manylinux_compatible", lambda *args: False)
linux_platform = list(tags._linux_platforms(is_32bit=is_32bit))[-1]
assert linux_platform == expected

def test_linux_platforms_manylinux_unsupported(self, monkeypatch):
monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
Expand Down

0 comments on commit 87b0023

Please sign in to comment.