Bug#1131349: scipy: armhf FTBFS: linalg TestDTypes.test_det[g] fails

Drew Parsons <[email protected]>
Newsgroups gmane.linux.debian.ports.arm
Message-ID <177401447824.167488.9268880224589045859.reportbug__4752.24254639528$1774014574$gmane$org@sandy>
Source: scipy
Version: 1.16.3-4
Severity: normal
Tags: ftbfs
X-Debbugs-Cc: [email protected]
User: [email protected]
Usertags: armhf
Control: forwarded -1 https://github.com/scipy/scipy/issues/24831

scipy 1.17.1 introduced linalg dtype tests in PR #24507

TestDTypes.test_det[g] (and test_det[G]) is failing on 32-bit armhf (arm-linux-gnueabihf).

A failing build log can be found at https://buildd.debian.org/status/fetch.php?pkg=scipy&arch=armhf&ver=1.17.1-1exp1&stamp=1773509541&raw=0

The workaround is to just skip test_det[g] and test_det[G] on armhf.

Reproducing Code Example:

python3 -c "import scipy.linalg; scipy.linalg.test(extra_argv=['-k', 'test_det[g] or test_det[G]', '-v'])"

Error message:

=================================== FAILURES ===================================
____________________________ TestDTypes.test_det[g] ____________________________

self = <scipy.linalg.tests.test_basic.TestDTypes object at 0xeff983a0>
tcode = 'g'

    @pytest.mark.parametrize("tcode", np.typecodes['All'])
    def test_det(self, tcode):
        a = self.get_arr2D(tcode)
    
        is_arm = platform.machine() == 'arm64'
        is_windows = os.name == 'nt'
    
        failing_tcodes = 'SUVOmM'
        if not (is_arm or is_windows):
            failing_tcodes += 'gG'
    
        if tcode in failing_tcodes:
            # raises
>           with pytest.raises(TypeError):
                 ^^^^^^^^^^^^^^^^^^^^^^^^
E           Failed: DID NOT RAISE <class 'TypeError'>

a          = array([[1., 0.],
       [0., 1.]], dtype=float64)
failing_tcodes = 'SUVOmMgG'
is_arm     = False
is_windows = False
self       = <scipy.linalg.tests.test_basic.TestDTypes object at 0xeff983a0>
tcode      = 'g'

scipy/linalg/tests/test_basic.py:2740: Failed
____________________________ TestDTypes.test_det[G] ____________________________

self = <scipy.linalg.tests.test_basic.TestDTypes object at 0xeff981e8>
tcode = 'G'

    @pytest.mark.parametrize("tcode", np.typecodes['All'])
    def test_det(self, tcode):
        a = self.get_arr2D(tcode)
    
        is_arm = platform.machine() == 'arm64'
        is_windows = os.name == 'nt'
    
        failing_tcodes = 'SUVOmM'
        if not (is_arm or is_windows):
            failing_tcodes += 'gG'
    
        if tcode in failing_tcodes:
            # raises
>           with pytest.raises(TypeError):
                 ^^^^^^^^^^^^^^^^^^^^^^^^
E           Failed: DID NOT RAISE <class 'TypeError'>

a          = array([[1.+0.j, 0.+0.j],
       [0.+0.j, 1.+0.j]], dtype=complex128)
failing_tcodes = 'SUVOmMgG'
is_arm     = False
is_windows = False
self       = <scipy.linalg.tests.test_basic.TestDTypes object at 0xeff981e8>
tcode      = 'G'

scipy/linalg/tests/test_basic.py:2740: Failed
=========================== short test summary info ============================
FAILED scipy/linalg/tests/test_basic.py::TestDTypes::test_det[g] - Failed: DI...
FAILED scipy/linalg/tests/test_basic.py::TestDTypes::test_det[G] - Failed: DI...
= 2 failed, 80864 passed, 7345 skipped, 115 deselected, 870 xfailed, 28 xpassed, 189 warnings in 1209.49s (0:20:09) =

Reported upstream issue #24831
https://github.com/scipy/scipy/issues/24831
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.