Source: nibabel
Version: 4.0.2-1
Severity: serious
User: debian...@lists.debian.org
Usertags: needs-update

Hi Maintainer

The autopkgtests of nibabel fail with NumPy 1.24 on armel [1].  I've
copied what I hope is the relevant part of the log below.

Regards
Graham


[1] https://ci.debian.net/packages/n/nibabel/testing/armel/


=================================== FAILURES ===================================
___________________________ test_a2f_nan2zero_range ____________________________

    def test_a2f_nan2zero_range():
        # array_to_file should check if nan can be represented as zero
        # This comes about when the writer can't write the value (-intercept /
        # divslope) because it does not fit in the output range.  Input clipping
        # should not affect this
        fobj = BytesIO()
        # No problem for input integer types - they don't have NaNs
        for dt in INT_TYPES:
            arr_no_nan = np.array([-1, 0, 1, 2], dtype=dt)
            # No errors from explicit thresholding (nor for input float types)
            back_arr = write_return(arr_no_nan, fobj, np.int8, mn=1,
nan2zero=True)
            assert_array_equal([1, 1, 1, 2], back_arr)
            back_arr = write_return(arr_no_nan, fobj, np.int8, mx=-1,
nan2zero=True)
            assert_array_equal([-1, -1, -1, -1], back_arr)
            # Pushing zero outside the output data range does not generate error
            back_arr = write_return(arr_no_nan, fobj, np.int8,
intercept=129, nan2zero=True)
            assert_array_equal([-128, -128, -128, -127], back_arr)
            back_arr = write_return(arr_no_nan, fobj, np.int8,
                                    intercept=257.1, divslope=2, nan2zero=True)
            assert_array_equal([-128, -128, -128, -128], back_arr)
        for dt in CFLOAT_TYPES:
            arr = np.array([-1, 0, 1, np.nan], dtype=dt)
            # Error occurs for arrays without nans too
            arr_no_nan = np.array([-1, 0, 1, 2], dtype=dt)
            complex_warn = (np.ComplexWarning,) if np.issubdtype(dt,
np.complexfloating) else ()
            # Casting nan to int will produce a RuntimeWarning in numpy 1.24
            nan_warn = (RuntimeWarning,) if FP_RUNTIME_WARN else ()
            c_and_n_warn = complex_warn + nan_warn
            # No errors from explicit thresholding
            # mn thresholding excluding zero
            with pytest.warns(complex_warn) if complex_warn else
error_warnings():
                assert_array_equal([1, 1, 1, 0],
                                   write_return(arr, fobj, np.int8, mn=1))
            # mx thresholding excluding zero
            with pytest.warns(complex_warn) if complex_warn else
error_warnings():
                assert_array_equal([-1, -1, -1, 0],
                                   write_return(arr, fobj, np.int8, mx=-1))
            # Errors from datatype threshold after scaling
            with pytest.warns(complex_warn) if complex_warn else
error_warnings():
                back_arr = write_return(arr, fobj, np.int8, intercept=128)
            assert_array_equal([-128, -128, -127, -128], back_arr)
            with pytest.raises(ValueError):
                write_return(arr, fobj, np.int8, intercept=129)
            with pytest.raises(ValueError):
                write_return(arr_no_nan, fobj, np.int8, intercept=129)
            # OK with nan2zero false, but we get whatever nan casts to
>           with pytest.warns(c_and_n_warn) if c_and_n_warn else 
> error_warnings():
E           Failed: DID NOT WARN. No warnings of type (<class
'RuntimeWarning'>,) were emitted.
E           The list of emitted warnings is: [].

nibabel/tests/test_volumeutils.py:700: Failed

Reply via email to