Bug#1081876: python-meshplex: FTBFS: FAILED tests/test_remove_cells.py::test_remove_cells_boundary - assert False

Santiago Vila sanvila at debian.org
Sun Sep 15 18:32:17 BST 2024


Package: src:python-meshplex
Version: 0.17.1-3
Severity: serious
Tags: ftbfs

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
  debian/rules binary
dh binary --with python3,sphinxdoc --buildsystem=pybuild
    dh_update_autotools_config -O--buildsystem=pybuild
    dh_autoreconf -O--buildsystem=pybuild
    dh_auto_configure -O--buildsystem=pybuild
    dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module
I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_meshplex
* Building wheel...
Successfully built meshplex-0.17.1-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module
    debian/rules execute_after_dh_auto_build-indep
make[1]: Entering directory '/<<PKGBUILDDIR>>'
PYTHONPATH=.pybuild/cpython3_3.12_meshplex/build sphinx-build -M html docs/ .pybuild/docs
Running Sphinx v7.4.7
loading translations [en]... done
making output directory... done
building [mo]: targets for 0 po files that are out of date
writing output...
building [html]: targets for 1 source files that are out of date
updating environment: [new config] 1 added, 0 changed, 0 removed
reading sources... [100%] index

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets...
copying static files... done
copying extra files... done
copying assets: done
writing output... [100%] index

generating indices... genindex py-modindex done
writing additional pages... search done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded.

The HTML pages are in .pybuild/docs/html.
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
MPLBACKEND=Agg  dh_auto_test -- --test-args="--ignore-glob=*test_io*"
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_meshplex/build; python3.12 -m pytest --ignore-glob=*test_io*
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.2, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_meshplex/build
configfile: pyproject.toml
plugins: typeguard-4.3.0
collected 112 items

tests/mesh_tri/test_curl.py .                                            [  0%]
tests/mesh_tri/test_edge_flip.py ..............                          [ 13%]
tests/mesh_tri/test_genus.py .                                           [ 14%]
tests/mesh_tri/test_mesh_tri.py ......................                   [ 33%]
tests/mesh_tri/test_plot.py ..                                           [ 35%]
tests/mesh_tri/test_remove_points.py .                                   [ 36%]
tests/test_ce_ratios.py ....                                             [ 40%]
tests/test_cell_partitions.py ....                                       [ 43%]
tests/test_circumcenters.py ....                                         [ 47%]
tests/test_compute_cell_values.py .                                      [ 48%]
tests/test_control_volume_centroids.py ...                               [ 50%]
tests/test_control_volumes.py .....                                      [ 55%]
tests/test_create_facets.py s...                                         [ 58%]
tests/test_degenerate.py ....                                            [ 62%]
tests/test_gh_issues.py ..                                               [ 64%]
tests/test_heights.py ...                                                [ 66%]
tests/test_mesh_line.py .                                                [ 67%]
tests/test_mesh_tetra.py .........s                                      [ 76%]
tests/test_remove_cells.py ....F......                                   [ 86%]
tests/test_signed_area.py ........                                       [ 93%]
tests/test_subdomain.py ...                                              [ 96%]
tests/test_volumes.py ....                                               [100%]

=================================== FAILURES ===================================
__________________________ test_remove_cells_boundary __________________________

     def test_remove_cells_boundary():
         mesh = get_mesh1()
     
         assert np.all(mesh.is_boundary_point == [True, True, True, True, False])
         assert np.all(mesh.is_boundary_facet_local[0] == [False, False, False, False])
         assert np.all(mesh.is_boundary_facet_local[1] == [False, False, False, True])
         assert np.all(mesh.is_boundary_facet_local[2] == [True, True, True, False])
         assert np.all(
             mesh.is_boundary_facet == [True, True, False, True, False, True, False, False]
         )
         assert np.all(mesh.is_boundary_cell)
         assert np.all(mesh.facets_cells_idx == [0, 1, 0, 2, 1, 3, 2, 3])
         # cell id:
         assert np.all(mesh.facets_cells["boundary"][1] == [0, 3, 1, 2])
         # local edge:
         assert np.all(mesh.facets_cells["boundary"][2] == [2, 1, 2, 2])
         # cell id:
>       assert np.all(
             mesh.facets_cells["interior"][1:3].T == [[0, 3], [0, 1], [1, 2], [2, 3]]
         )
E       assert False
E        +  where False = <function all at 0x7f9128cebc70>(array([[3, 0]...      [2, 3]]) == [[0, 3], [0, ...1, 2], [2, 3]]
E        +    where <function all at 0x7f9128cebc70> = np.all
E
E           Use -v to get more diff)

tests/test_remove_cells.py:104: AssertionError
=============================== warnings summary ===============================
tests/mesh_tri/test_mesh_tri.py: 1 warning
tests/mesh_tri/test_remove_points.py: 1 warning
tests/test_remove_cells.py: 10 warnings
   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_meshplex/build/meshplex/_mesh.py:260: RuntimeWarning: invalid value encountered in divide
     self._cv_centroids = (integral_p.T / cv).T

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_remove_cells.py::test_remove_cells_boundary - assert False
============ 1 failed, 109 passed, 2 skipped, 12 warnings in 2.17s =============
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_meshplex/build; python3.12 -m pytest --ignore-glob=*test_io*
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.12 --test-args=--ignore-glob=\*test_io\* returned exit code 13
make[1]: *** [debian/rules:23: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:11: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202409/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks.



More information about the debian-science-maintainers mailing list