--- Begin Message ---
Source: python-numpy-groupies
Version: 0.10.2-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20250414 ftbfs-trixie
Hi,
During a rebuild of all packages in testing (trixie), your package failed
to build on i386.
Relevant part (hopefully):
> make[1]: Entering directory
> '/build/reproducible-path/python-numpy-groupies-0.10.2'
> pytest-3 -rls
> ============================= test session starts
> ==============================
> platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0
> rootdir: /build/reproducible-path/python-numpy-groupies-0.10.2
> configfile: pyproject.toml
> plugins: typeguard-4.4.2
> collected 1117 items / 260 deselected / 857 selected
>
> numpy_groupies/tests/test_compare.py ..............s..s...........s..s.. [
> 4%]
> sssssss..................sssssssss...ssssss......sssssssssssssssssssssss [
> 12%]
> ssssssssssssssss....ssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 20%]
> sssssssssssssssssssssssssssssssss...........................FF.......... [
> 29%]
> ......sss.....................FF.ss.ss.sss.... [
> 34%]
> numpy_groupies/tests/test_generic.py .......................sss......... [
> 38%]
> ..............s.s.s....s...s......................................s....s [
> 47%]
> s..........ssssss..................ssssss...................sss......... [
> 55%]
> ..........sss.........sssssss...s.s..s.ss.s.s.......s...s..ss..s.sss...s [
> 63%]
> s..ss..ss..ss..................sssssssss...ssssss......sssssssssssssssss [
> 72%]
> ssssssssssssssssssssss.................................................. [
> 80%]
> ........................................................................ [
> 89%]
> ....sss..............................ssss..s..s..s.sssssssssssss........ [
> 97%]
> ................ [
> 99%]
> numpy_groupies/tests/test_indices.py ss [
> 99%]
> numpy_groupies/tests/test_utils.py ...
> [100%]
>
> =================================== FAILURES
> ===================================
> __________________________ test_cmp[pandas/np-len-0]
> ___________________________
>
> aggregate_cmp = {'request': <SubRequest 'aggregate_cmp' for <Function
> test_cmp[pandas/np-sum-0]>>, 'seed': 100, 'test_pair': 'pandas/n..., 'somea':
> array([ nan, 0. , 0.51545692, ..., 1.51932228, 0. ,
> 0.87432034], shape=(20000,))}
> func = 'len', fill_value = 0, decimal = 10
>
> @pytest.mark.filterwarnings("ignore:numpy.ufunc size changed")
> @pytest.mark.deselect_if(func=_deselect_purepy_nanfuncs)
> @pytest.mark.parametrize("fill_value", [0, 1, np.nan])
> @pytest.mark.parametrize("func", func_list, ids=lambda x: getattr(x,
> "__name__", x))
> def test_cmp(aggregate_cmp, func, fill_value, decimal=10):
> is_nanfunc = "nan" in getattr(func, "__name__", func)
> a = aggregate_cmp.nana if is_nanfunc else aggregate_cmp.a
> try:
> ref = aggregate_cmp.func_ref(aggregate_cmp.group_idx, a,
> func=func, fill_value=fill_value)
> except ValueError:
> with pytest.raises(ValueError):
> aggregate_cmp.func(aggregate_cmp.group_idx, a, func=func,
> fill_value=fill_value)
> else:
> try:
> res = aggregate_cmp.func(aggregate_cmp.group_idx, a,
> func=func, fill_value=fill_value)
> except ValueError:
> if np.isnan(fill_value) and
> aggregate_cmp.test_pair.endswith("py"):
> pytest.skip(
> "pure python version uses lists and does not raise
> ValueErrors when inserting nan into integers"
> )
> else:
> raise
> if isinstance(ref, np.ndarray):
> > assert res.dtype == ref.dtype
> E AssertionError: assert dtype('int64') == dtype('int32')
> E + where dtype('int64') = array([20, 20, 20, 20, 20, 20, 20,
> 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20, 20, 20,
> 20, 20, ... 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20,
> 20, 20, 20, 20, 20, 20, 20, 20, 20],\n dtype=int64).dtype
> E + and dtype('int32') = array([20, 20, 20, 20, 20, 20, 20,
> 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20, 20, 20,
> 20, 20, ...20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n
> 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]).dtype
>
> numpy_groupies/tests/test_compare.py:122: AssertionError
> __________________________ test_cmp[pandas/np-len-1]
> ___________________________
>
> aggregate_cmp = {'request': <SubRequest 'aggregate_cmp' for <Function
> test_cmp[pandas/np-sum-0]>>, 'seed': 100, 'test_pair': 'pandas/n..., 'somea':
> array([ nan, 0. , 0.51545692, ..., 1.51932228, 0. ,
> 0.87432034], shape=(20000,))}
> func = 'len', fill_value = 1, decimal = 10
>
> @pytest.mark.filterwarnings("ignore:numpy.ufunc size changed")
> @pytest.mark.deselect_if(func=_deselect_purepy_nanfuncs)
> @pytest.mark.parametrize("fill_value", [0, 1, np.nan])
> @pytest.mark.parametrize("func", func_list, ids=lambda x: getattr(x,
> "__name__", x))
> def test_cmp(aggregate_cmp, func, fill_value, decimal=10):
> is_nanfunc = "nan" in getattr(func, "__name__", func)
> a = aggregate_cmp.nana if is_nanfunc else aggregate_cmp.a
> try:
> ref = aggregate_cmp.func_ref(aggregate_cmp.group_idx, a,
> func=func, fill_value=fill_value)
> except ValueError:
> with pytest.raises(ValueError):
> aggregate_cmp.func(aggregate_cmp.group_idx, a, func=func,
> fill_value=fill_value)
> else:
> try:
> res = aggregate_cmp.func(aggregate_cmp.group_idx, a,
> func=func, fill_value=fill_value)
> except ValueError:
> if np.isnan(fill_value) and
> aggregate_cmp.test_pair.endswith("py"):
> pytest.skip(
> "pure python version uses lists and does not raise
> ValueErrors when inserting nan into integers"
> )
> else:
> raise
> if isinstance(ref, np.ndarray):
> > assert res.dtype == ref.dtype
> E AssertionError: assert dtype('int64') == dtype('int32')
> E + where dtype('int64') = array([20, 20, 20, 20, 20, 20, 20,
> 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20, 20, 20,
> 20, 20, ... 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20,
> 20, 20, 20, 20, 20, 20, 20, 20, 20],\n dtype=int64).dtype
> E + and dtype('int32') = array([20, 20, 20, 20, 20, 20, 20,
> 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20, 20, 20,
> 20, 20, ...20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n
> 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]).dtype
>
> numpy_groupies/tests/test_compare.py:122: AssertionError
> _________________________ test_cmp[pandas/np-nanlen-0]
> _________________________
>
> aggregate_cmp = {'request': <SubRequest 'aggregate_cmp' for <Function
> test_cmp[pandas/np-sum-0]>>, 'seed': 100, 'test_pair': 'pandas/n..., 'somea':
> array([ nan, 0. , 0.51545692, ..., 1.51932228, 0. ,
> 0.87432034], shape=(20000,))}
> func = 'nanlen', fill_value = 0, decimal = 10
>
> @pytest.mark.filterwarnings("ignore:numpy.ufunc size changed")
> @pytest.mark.deselect_if(func=_deselect_purepy_nanfuncs)
> @pytest.mark.parametrize("fill_value", [0, 1, np.nan])
> @pytest.mark.parametrize("func", func_list, ids=lambda x: getattr(x,
> "__name__", x))
> def test_cmp(aggregate_cmp, func, fill_value, decimal=10):
> is_nanfunc = "nan" in getattr(func, "__name__", func)
> a = aggregate_cmp.nana if is_nanfunc else aggregate_cmp.a
> try:
> ref = aggregate_cmp.func_ref(aggregate_cmp.group_idx, a,
> func=func, fill_value=fill_value)
> except ValueError:
> with pytest.raises(ValueError):
> aggregate_cmp.func(aggregate_cmp.group_idx, a, func=func,
> fill_value=fill_value)
> else:
> try:
> res = aggregate_cmp.func(aggregate_cmp.group_idx, a,
> func=func, fill_value=fill_value)
> except ValueError:
> if np.isnan(fill_value) and
> aggregate_cmp.test_pair.endswith("py"):
> pytest.skip(
> "pure python version uses lists and does not raise
> ValueErrors when inserting nan into integers"
> )
> else:
> raise
> if isinstance(ref, np.ndarray):
> > assert res.dtype == ref.dtype
> E AssertionError: assert dtype('int64') == dtype('int32')
> E + where dtype('int64') = array([12, 13, 7, 13, 0, 6, 7,
> 14, 7, 7, 14, 0, 0, 7, 0, 0, 7,\n 14, 14, 14, 0, 0, 0, 7,
> 6, 0, ... 14, 7, 7, 0, 7, 6, 6, 14, 6,\n 7, 6, 0, 7, 6,
> 0, 12, 14, 0, 7, 7, 13, 7, 0],\n dtype=int64).dtype
> E + and dtype('int32') = array([12, 13, 7, 13, 0, 6, 7,
> 14, 7, 7, 14, 0, 0, 7, 0, 0, 7,\n 14, 14, 14, 0, 0, 0, 7,
> 6, 0, ... 6, 13, 0, 7, 7, 14, 7, 7, 0, 7, 6, 6, 14, 6,\n 7,
> 6, 0, 7, 6, 0, 12, 14, 0, 7, 7, 13, 7, 0]).dtype
>
> numpy_groupies/tests/test_compare.py:122: AssertionError
> _________________________ test_cmp[pandas/np-nanlen-1]
> _________________________
>
> aggregate_cmp = {'request': <SubRequest 'aggregate_cmp' for <Function
> test_cmp[pandas/np-sum-0]>>, 'seed': 100, 'test_pair': 'pandas/n..., 'somea':
> array([ nan, 0. , 0.51545692, ..., 1.51932228, 0. ,
> 0.87432034], shape=(20000,))}
> func = 'nanlen', fill_value = 1, decimal = 10
>
> @pytest.mark.filterwarnings("ignore:numpy.ufunc size changed")
> @pytest.mark.deselect_if(func=_deselect_purepy_nanfuncs)
> @pytest.mark.parametrize("fill_value", [0, 1, np.nan])
> @pytest.mark.parametrize("func", func_list, ids=lambda x: getattr(x,
> "__name__", x))
> def test_cmp(aggregate_cmp, func, fill_value, decimal=10):
> is_nanfunc = "nan" in getattr(func, "__name__", func)
> a = aggregate_cmp.nana if is_nanfunc else aggregate_cmp.a
> try:
> ref = aggregate_cmp.func_ref(aggregate_cmp.group_idx, a,
> func=func, fill_value=fill_value)
> except ValueError:
> with pytest.raises(ValueError):
> aggregate_cmp.func(aggregate_cmp.group_idx, a, func=func,
> fill_value=fill_value)
> else:
> try:
> res = aggregate_cmp.func(aggregate_cmp.group_idx, a,
> func=func, fill_value=fill_value)
> except ValueError:
> if np.isnan(fill_value) and
> aggregate_cmp.test_pair.endswith("py"):
> pytest.skip(
> "pure python version uses lists and does not raise
> ValueErrors when inserting nan into integers"
> )
> else:
> raise
> if isinstance(ref, np.ndarray):
> > assert res.dtype == ref.dtype
> E AssertionError: assert dtype('int64') == dtype('int32')
> E + where dtype('int64') = array([12, 13, 7, 13, 1, 6, 7,
> 14, 7, 7, 14, 1, 1, 7, 1, 1, 7,\n 14, 14, 14, 1, 1, 1, 7,
> 6, 1, ... 14, 7, 7, 1, 7, 6, 6, 14, 6,\n 7, 6, 1, 7, 6,
> 1, 12, 14, 1, 7, 7, 13, 7, 1],\n dtype=int64).dtype
> E + and dtype('int32') = array([12, 13, 7, 13, 1, 6, 7,
> 14, 7, 7, 14, 1, 1, 7, 1, 1, 7,\n 14, 14, 14, 1, 1, 1, 7,
> 6, 1, ... 6, 13, 1, 7, 7, 14, 7, 7, 1, 7, 6, 6, 14, 6,\n 7,
> 6, 1, 7, 6, 1, 12, 14, 1, 7, 7, 13, 7, 1]).dtype
>
> numpy_groupies/tests/test_compare.py:122: AssertionError
> =============================== warnings summary
> ===============================
> numpy_groupies/tests/test_generic.py::test_ndim_group_idx[ufunc-None]
> numpy_groupies/tests/test_generic.py::test_ndim_group_idx[ufunc-size1]
> numpy_groupies/tests/test_generic.py::test_ndim_group_idx[numpy-None]
> numpy_groupies/tests/test_generic.py::test_ndim_group_idx[numpy-size1]
> numpy_groupies/tests/test_generic.py::test_ndim_group_idx[pandas-None]
> numpy_groupies/tests/test_generic.py::test_ndim_group_idx[pandas-size1]
>
> /build/reproducible-path/python-numpy-groupies-0.10.2/numpy_groupies/utils.py:308:
> RuntimeWarning: overflow encountered in scalar multiply
> maxval = np.iinfo(a_dtype).max * n
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> SKIPPED [5] numpy_groupies/tests/test_compare.py:116: pure python version
> uses lists and does not raise ValueErrors when inserting nan into integers
> SKIPPED [191] numpy_groupies/tests/__init__.py:55: Functionality not
> implemented
> SKIPPED [81] numpy_groupies/tests/test_compare.py:99: Implementation not
> available
> SKIPPED [4] numpy_groupies/tests/test_compare.py:132: Implementation not
> available
> SKIPPED [4] numpy_groupies/tests/test_compare.py:127: pandas doesn't fill
> indices for all-nan groups with fill_value, but with -inf instead
> SKIPPED [7] numpy_groupies/tests/test_generic.py:238: pandas always skips nan
> values
> SKIPPED [1] numpy_groupies/tests/test_generic.py:253: pandas always skips nan
> values
> SKIPPED [1] numpy_groupies/tests/test_generic.py:276: pandas always ignores
> nans
> SKIPPED [1] numpy_groupies/tests/test_generic.py:291: pandas doesn't fill
> indices for all-nan groups with fill_value but with -inf instead
> SKIPPED [1] numpy_groupies/tests/test_generic.py:511: pandas always skips nan
> values
> SKIPPED [1] numpy_groupies/tests/test_indices.py: got empty parameter set
> ['aggregate_nb_wv'], function test_step_indices_length at
> /build/reproducible-path/python-numpy-groupies-0.10.2/numpy_groupies/tests/test_indices.py:16
> SKIPPED [1] numpy_groupies/tests/test_indices.py: got empty parameter set
> ['aggregate_nb_wv'], function test_step_indices_fields at
> /build/reproducible-path/python-numpy-groupies-0.10.2/numpy_groupies/tests/test_indices.py:25
> ==== 4 failed, 555 passed, 298 skipped, 260 deselected, 6 warnings in 3.20s
> ====
> make[1]: *** [debian/rules:18: override_dh_auto_test] Error 1
The full build log is available from:
http://qa-logs.debian.net/2025/04/14/python-numpy-groupies_0.10.2-1_testing-i386.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250414;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250414&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
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 mark 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 mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---