Source: tinyarray
Version: 1.2.3-2
Severity: serious
Justification: FTBFS on arm64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201205 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on arm64 (I don't know if it also fails on amd64).

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_test -- --test-pytest --test-args=../../../test_tinyarray.py
> I: pybuild base:232: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_tinyarray/build; python3.8 -m pytest 
> ../../../test_tinyarray.py
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.8.6, pytest-4.6.11, py-1.9.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>
> collected 18 items
> 
> ../../../test_tinyarray.py ..F...............                            
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _______________________________ test_conversion 
> ________________________________
> 
>     def test_conversion():
>         for src_dtype in dtypes:
>             for dest_dtype in dtypes:
>                 src = ta.zeros(3, src_dtype)
>                 tsrc = tuple(src)
>                 npsrc = np.array(tsrc)
>                 impossible = src_dtype is complex and dest_dtype in [int, 
> float]
>                 for s in [src, tsrc, npsrc]:
>                     if impossible:
>                         raises(TypeError, ta.array, s, dest_dtype)
>                     else:
>                         dest = ta.array(s, dest_dtype)
>                         assert isinstance(dest[0], dest_dtype)
>                         assert src == dest
>     
>         # Check correct overflow detection.  We assume a typical architecture:
>         # sys.maxsize is also the maximum size of an integer held in a 
> tinyarray
>         # array, and that Python floats are double-precision IEEE numbers.
>         for n in [10**100, -10**100, 123 * 10**20, -2 * sys.maxsize,
>                   sys.maxsize + 1, np.array(sys.maxsize + 1),
>                   -sys.maxsize - 2]:
>             raises(OverflowError, ta.array, n, int)
>     
>         # Check that values just below the threshold of overflow work.
>         for n in [sys.maxsize, np.array(sys.maxsize),
>                   -sys.maxsize - 1, np.array(-sys.maxsize - 1)]:
>             ta.array(n, int)
>     
>         # If tinyarray integers are longer than 32 bit, numbers around the 
> maximal
>         # and minimal values cannot be represented exactly as double precision
>         # floating point numbers.  Check correct overflow detection also in 
> this
>         # case.
>         n = sys.maxsize + 1
>         for dtype in [float, np.float64, np.float32]:
>             # The following assumes that n can be represented exactly.  This 
> should
>             # be true for typical (all?) architectures.
>             assert dtype(n) == n
>             for factor in [1, 1.0001, 1.1, 2, 5, 123, 1e5]:
>     
>                 for x in [n, min(-n-1, np.nextafter(-n, -np.inf, 
> dtype=dtype))]:
>                     x = dtype(factor) * dtype(x)
>                     raises(OverflowError, ta.array, x, int)
>                     if dtype is not float:
>                         # This solicitates the buffer interface.
>                         x = np.array(x)
>                         assert(x.dtype == dtype)
> >                       raises(OverflowError, ta.array, x, int)
> E                       Failed: DID NOT RAISE <class 'OverflowError'>
> 
> ../../../test_tinyarray.py:200: Failed
> =============================== warnings summary 
> ===============================
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
>   /<<PKGBUILDDIR>>/test_tinyarray.py:115: PendingDeprecationWarning: the 
> matrix subclass is not the recommended way to represent matrices or deal with 
> linear algebra (see 
> https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please 
> adjust your code to use regular ndarray.
>     b = ta.array(np.matrix(a))
> 
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
>   /<<PKGBUILDDIR>>/test_tinyarray.py:117: PendingDeprecationWarning: the 
> matrix subclass is not the recommended way to represent matrices or deal with 
> linear algebra (see 
> https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please 
> adjust your code to use regular ndarray.
>     assert b == np.matrix(a)
> 
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
>   /<<PKGBUILDDIR>>/test_tinyarray.py:134: PendingDeprecationWarning: the 
> matrix subclass is not the recommended way to represent matrices or deal with 
> linear algebra (see 
> https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please 
> adjust your code to use regular ndarray.
>     b = np.matrix(l)
> 
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
>   /<<PKGBUILDDIR>>/test_tinyarray.py:441: PendingDeprecationWarning: the 
> matrix subclass is not the recommended way to represent matrices or deal with 
> linear algebra (see 
> https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please 
> adjust your code to use regular ndarray.
>     assert_equal(ta.matrix(a), np.matrix(a))
> 
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> =============== 1 failed, 17 passed, 72 warnings in 0.67 seconds 
> ===============
> E: pybuild pybuild:353: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_tinyarray/build; python3.8 -m pytest 
> ../../../test_tinyarray.py
> I: pybuild base:232: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_tinyarray/build; python3.9 -m pytest 
> ../../../test_tinyarray.py
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.9.1rc1, pytest-4.6.11, py-1.9.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>
> collected 18 items
> 
> ../../../test_tinyarray.py ..F...............                            
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _______________________________ test_conversion 
> ________________________________
> 
>     def test_conversion():
>         for src_dtype in dtypes:
>             for dest_dtype in dtypes:
>                 src = ta.zeros(3, src_dtype)
>                 tsrc = tuple(src)
>                 npsrc = np.array(tsrc)
>                 impossible = src_dtype is complex and dest_dtype in [int, 
> float]
>                 for s in [src, tsrc, npsrc]:
>                     if impossible:
>                         raises(TypeError, ta.array, s, dest_dtype)
>                     else:
>                         dest = ta.array(s, dest_dtype)
>                         assert isinstance(dest[0], dest_dtype)
>                         assert src == dest
>     
>         # Check correct overflow detection.  We assume a typical architecture:
>         # sys.maxsize is also the maximum size of an integer held in a 
> tinyarray
>         # array, and that Python floats are double-precision IEEE numbers.
>         for n in [10**100, -10**100, 123 * 10**20, -2 * sys.maxsize,
>                   sys.maxsize + 1, np.array(sys.maxsize + 1),
>                   -sys.maxsize - 2]:
>             raises(OverflowError, ta.array, n, int)
>     
>         # Check that values just below the threshold of overflow work.
>         for n in [sys.maxsize, np.array(sys.maxsize),
>                   -sys.maxsize - 1, np.array(-sys.maxsize - 1)]:
>             ta.array(n, int)
>     
>         # If tinyarray integers are longer than 32 bit, numbers around the 
> maximal
>         # and minimal values cannot be represented exactly as double precision
>         # floating point numbers.  Check correct overflow detection also in 
> this
>         # case.
>         n = sys.maxsize + 1
>         for dtype in [float, np.float64, np.float32]:
>             # The following assumes that n can be represented exactly.  This 
> should
>             # be true for typical (all?) architectures.
>             assert dtype(n) == n
>             for factor in [1, 1.0001, 1.1, 2, 5, 123, 1e5]:
>     
>                 for x in [n, min(-n-1, np.nextafter(-n, -np.inf, 
> dtype=dtype))]:
>                     x = dtype(factor) * dtype(x)
>                     raises(OverflowError, ta.array, x, int)
>                     if dtype is not float:
>                         # This solicitates the buffer interface.
>                         x = np.array(x)
>                         assert(x.dtype == dtype)
> >                       raises(OverflowError, ta.array, x, int)
> E                       Failed: DID NOT RAISE <class 'OverflowError'>
> 
> ../../../test_tinyarray.py:200: Failed
> =============================== warnings summary 
> ===============================
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
>   /<<PKGBUILDDIR>>/test_tinyarray.py:115: PendingDeprecationWarning: the 
> matrix subclass is not the recommended way to represent matrices or deal with 
> linear algebra (see 
> https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please 
> adjust your code to use regular ndarray.
>     b = ta.array(np.matrix(a))
> 
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
> test_tinyarray.py::test_array
>   /<<PKGBUILDDIR>>/test_tinyarray.py:117: PendingDeprecationWarning: the 
> matrix subclass is not the recommended way to represent matrices or deal with 
> linear algebra (see 
> https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please 
> adjust your code to use regular ndarray.
>     assert b == np.matrix(a)
> 
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
> test_tinyarray.py::test_matrix
>   /<<PKGBUILDDIR>>/test_tinyarray.py:134: PendingDeprecationWarning: the 
> matrix subclass is not the recommended way to represent matrices or deal with 
> linear algebra (see 
> https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please 
> adjust your code to use regular ndarray.
>     b = np.matrix(l)
> 
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
> test_tinyarray.py::test_other_scalar_types
>   /<<PKGBUILDDIR>>/test_tinyarray.py:441: PendingDeprecationWarning: the 
> matrix subclass is not the recommended way to represent matrices or deal with 
> linear algebra (see 
> https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please 
> adjust your code to use regular ndarray.
>     assert_equal(ta.matrix(a), np.matrix(a))
> 
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> =============== 1 failed, 17 passed, 72 warnings in 0.62 seconds 
> ===============
> E: pybuild pybuild:353: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_tinyarray/build; python3.9 -m pytest 
> ../../../test_tinyarray.py
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.8 
> 3.9" --test-pytest --test-args=../../../test_tinyarray.py returned exit code 
> 13

The full build log is available from:
   http://qa-logs.debian.net/2020/12/05/tinyarray_1.2.3-2_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with me
so that we can identify if something relevant changed in the meantime.

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.

Reply via email to