threadpoolctl: Tests fails on Mac ARM and packages from macports

Running the tests in a MacPorts setting, on an Apple ARM machine, the architecture test fails:

Executing:  cd "/opt/local/var/macports/build/_Users_nilason_ports_python_py-threadpoolctl/py311-threadpoolctl/work/threadpoolctl-3.2.0" && /opt/local/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m installer /opt/local/var/macports/build/_Users_nilason_ports_python_py-threadpoolctl/py311-threadpoolctl/work/threadpoolctl-3.2.0-py3-none-any.whl --destdir /opt/local/var/macports/build/_Users_nilason_ports_python_py-threadpoolctl/py311-threadpoolctl/work/destroot 
--->  Testing py311-threadpoolctl
Executing:  cd "/opt/local/var/macports/build/_Users_nilason_ports_python_py-threadpoolctl/py311-threadpoolctl/work/threadpoolctl-3.2.0" && py.test-3.11 -o addopts='' 
========================================================================= test session starts ==========================================================================
platform darwin -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0
rootdir: /opt/local/var/macports/build/_Users_nilason_ports_python_py-threadpoolctl/py311-threadpoolctl/work/threadpoolctl-3.2.0
plugins: env-1.1.3, cov-4.1.0, xdist-3.3.1, anyio-4.2.0
collected 63 items

tests/test_threadpoolctl.py ....s.sss.ssssssss.ssssss..s..s.......sssssss.sssss..sss...F..s                                                                      [100%]

=============================================================================== FAILURES ===============================================================================
__________________________________________________________________________ test_architecture ___________________________________________________________________________

    def test_architecture():
        expected_openblas_architectures = (
            # XXX: add more as needed by CI or developer laptops
            "armv8",
            "Haswell",
            "Prescott",  # see: https://github.com/xianyi/OpenBLAS/pull/3485
            "SkylakeX",
            "Sandybridge",
            "VORTEX",
            "Zen",
        )
        expected_blis_architectures = (
            # XXX: add more as needed by CI or developer laptops
            "skx",
            "haswell",
        )
        for lib_info in threadpool_info():
            if lib_info["internal_api"] == "openblas":
>               assert lib_info["architecture"] in expected_openblas_architectures
E               AssertionError: assert 'ARMV8' in ('armv8', 'Haswell', 'Prescott', 'SkylakeX', 'Sandybridge', 'VORTEX', ...)

tests/test_threadpoolctl.py:617: AssertionError
======================================================================= short test summary info ========================================================================
FAILED tests/test_threadpoolctl.py::test_architecture - AssertionError: assert 'ARMV8' in ('armv8', 'Haswell', 'Prescott', 'SkylakeX', 'Sandybridge', 'VORTEX', ...)
=============================================================== 1 failed, 26 passed, 36 skipped in 0.44s ===============================================================
Command failed:  cd "/opt/local/var/macports/build/_Users_nilason_ports_python_py-threadpoolctl/py311-threadpoolctl/work/threadpoolctl-3.2.0" && py.test-3.11 -o addopts='' 
Exit code: 1
Error: Failed to test py311-threadpoolctl: command execution failed

The following patch make the tests succeed:

--- tests/test_threadpoolctl.py.orig
+++ tests/test_threadpoolctl.py
@@ -600,6 +600,7 @@
     expected_openblas_architectures = (
         # XXX: add more as needed by CI or developer laptops
         "armv8",
+        "ARMV8",
         "Haswell",
         "Prescott",  # see: https://github.com/xianyi/OpenBLAS/pull/3485
         "SkylakeX",

Would that be a proper fix?

About this issue

  • Original URL
  • State: closed
  • Created 5 months ago
  • Comments: 25 (5 by maintainers)

Most upvoted comments

Thanks. The MP’s Numpy seems to be faulty, I filed a ticket for that in https://trac.macports.org/ticket/69326.