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.