guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/11: gnu: python-packaging: Fix test failures on non-x86_64 architectu


From: guix-commits
Subject: 04/11: gnu: python-packaging: Fix test failures on non-x86_64 architectures.
Date: Thu, 16 Jan 2020 13:22:12 -0500 (EST)

mbakke pushed a commit to branch master
in repository guix.

commit fdd0c36963a62577f7a8f99a44f79a7330a0b151
Author: Marius Bakke <address@hidden>
AuthorDate: Thu Jan 16 17:20:22 2020 +0100

    gnu: python-packaging: Fix test failures on non-x86_64 architectures.
    
    * gnu/packages/patches/python-packaging-test-arch.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Adjust accordingly.
    * gnu/packages/python-xyz.scm (python-packaging)[source](patches): New 
field.
---
 gnu/local.mk                                       |  1 +
 .../patches/python-packaging-test-arch.patch       | 65 ++++++++++++++++++++++
 gnu/packages/python-xyz.scm                        |  1 +
 3 files changed, 67 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index e77af87..e2a837f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1319,6 +1319,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/python-libxml2-utf8.patch               \
   %D%/packages/patches/python-mox3-python3.6-compat.patch      \
   %D%/packages/patches/python-testtools.patch                  \
+  %D%/packages/patches/python-packaging-test-arch.patch                \
   %D%/packages/patches/python-paste-remove-timing-test.patch   \
   %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch     \
   %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
diff --git a/gnu/packages/patches/python-packaging-test-arch.patch 
b/gnu/packages/patches/python-packaging-test-arch.patch
new file mode 100644
index 0000000..df80a62
--- /dev/null
+++ b/gnu/packages/patches/python-packaging-test-arch.patch
@@ -0,0 +1,65 @@
+Fix tests that are "hard coded" to expect x86_64 output by mocking the 
platform interface.
+
+Submitted upstream:
+https://github.com/pypa/packaging/pull/176
+
+diff --git a/tests/test_tags.py b/tests/test_tags.py
+index 1eacf68..0a3f1b4 100644
+--- a/tests/test_tags.py
++++ b/tests/test_tags.py
+@@ -435,37 +435,43 @@ class TestManylinuxPlatform:
+         linux_platform = list(tags._linux_platforms(is_32bit=False))
+         assert linux_platform == ["linux_x86_64"]
+ 
+-    def test_linux_platforms_manylinux1(self, monkeypatch):
++    def test_linux_platforms_manylinux1(self, is_x86, monkeypatch):
+         monkeypatch.setattr(
+             tags, "_is_manylinux_compatible", lambda name, _: name == 
"manylinux1"
+         )
+-        if platform.system() != "Linux":
++        if platform.system() != "Linux" or not is_x86:
+             monkeypatch.setattr(distutils.util, "get_platform", lambda: 
"linux_x86_64")
++            monkeypatch.setattr(platform, "machine", lambda: "x86_64")
+         platforms = list(tags._linux_platforms(is_32bit=False))
+-        assert platforms == ["manylinux1_x86_64", "linux_x86_64"]
++        arch = platform.machine()
++        assert platforms == ["manylinux1_" + arch, "linux_" + arch]
+ 
+-    def test_linux_platforms_manylinux2010(self, monkeypatch):
++    def test_linux_platforms_manylinux2010(self, is_x86, monkeypatch):
+         monkeypatch.setattr(
+             tags, "_is_manylinux_compatible", lambda name, _: name == 
"manylinux2010"
+         )
+-        if platform.system() != "Linux":
++        if platform.system() != "Linux" or not is_x86:
+             monkeypatch.setattr(distutils.util, "get_platform", lambda: 
"linux_x86_64")
++            monkeypatch.setattr(platform, "machine", lambda: "x86_64")
+         platforms = list(tags._linux_platforms(is_32bit=False))
+-        expected = ["manylinux2010_x86_64", "manylinux1_x86_64", 
"linux_x86_64"]
++        arch = platform.machine()
++        expected = ["manylinux2010_" + arch, "manylinux1_" + arch, "linux_" + 
arch]
+         assert platforms == expected
+ 
+-    def test_linux_platforms_manylinux2014(self, monkeypatch):
++    def test_linux_platforms_manylinux2014(self, is_x86, monkeypatch):
+         monkeypatch.setattr(
+             tags, "_is_manylinux_compatible", lambda name, _: name == 
"manylinux2014"
+         )
+-        if platform.system() != "Linux":
++        if platform.system() != "Linux" or not is_x86:
+             monkeypatch.setattr(distutils.util, "get_platform", lambda: 
"linux_x86_64")
++            monkeypatch.setattr(platform, "machine", lambda: "x86_64")
+         platforms = list(tags._linux_platforms(is_32bit=False))
++        arch = platform.machine()
+         expected = [
+-            "manylinux2014_x86_64",
+-            "manylinux2010_x86_64",
+-            "manylinux1_x86_64",
+-            "linux_x86_64",
++            "manylinux2014_" + arch,
++            "manylinux2010_" + arch,
++            "manylinux1_" + arch,
++            "linux_" + arch,
+         ]
+         assert platforms == expected
+ 
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 31ea51b..ee2fc11 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13054,6 +13054,7 @@ several utilities, as well as an API for building 
localization tools.")
       (origin
         (method url-fetch)
         (uri (pypi-uri "packaging" version))
+        (patches (search-patches "python-packaging-test-arch.patch"))
         (sha256
          (base32
           "1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy"))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]