Bug#1091130: stactools: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13

Lucas Nussbaum lucas at debian.org
Sun Dec 22 16:50:18 GMT 2024


Source: stactools
Version: 0.5.3-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20241222 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> cd docs && \
> env PYTHONPATH=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build \
> http_proxy='http://127.0.0.1:9/' https_proxy='https://127.0.0.1:9/' \
> sphinx-build -N -E -T -b html . /<<PKGBUILDDIR>>/.pybuild/docs/html
> Running Sphinx v8.1.3
> loading translations [en]... done
> making output directory... done
> Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`.
> Writing evaluated template result to /<<PKGBUILDDIR>>/.pybuild/docs/html/_static/nbsphinx-code-cells.css
> loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ...
> loading intersphinx inventory 'pystac' from https://pystac.readthedocs.io/en/stable/objects.inv ...
> loading intersphinx inventory 'rasterio' from https://rasterio.readthedocs.io/en/stable/objects.inv ...
> loading intersphinx inventory 'shapely' from https://shapely.readthedocs.io/en/stable/objects.inv ...
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://docs.python.org/3/objects.inv' not fetchable due to <class 'requests.exceptions.ProxyError'>: HTTPSConnectionPool(host='docs.python.org', port=443): Max retries exceeded with url: /3/objects.inv (Caused by ProxyError('Unable to connect to proxy', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f70456a48c0>: Failed to establish a new connection: [Errno 111] Connection refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://pystac.readthedocs.io/en/stable/objects.inv' not fetchable due to <class 'requests.exceptions.ProxyError'>: HTTPSConnectionPool(host='pystac.readthedocs.io', port=443): Max retries exceeded with url: /en/stable/objects.inv (Caused by ProxyError('Unable to connect to proxy', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f70457c5850>: Failed to establish a new connection: [Errno 111] Connection refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://shapely.readthedocs.io/en/stable/objects.inv' not fetchable due to <class 'requests.exceptions.ProxyError'>: HTTPSConnectionPool(host='shapely.readthedocs.io', port=443): Max retries exceeded with url: /en/stable/objects.inv (Caused by ProxyError('Unable to connect to proxy', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f70456a4aa0>: Failed to establish a new connection: [Errno 111] Connection refused')))
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://rasterio.readthedocs.io/en/stable/objects.inv' not fetchable due to <class 'requests.exceptions.ProxyError'>: HTTPSConnectionPool(host='rasterio.readthedocs.io', port=443): Max retries exceeded with url: /en/stable/objects.inv (Caused by ProxyError('Unable to connect to proxy', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f70456a4fb0>: Failed to establish a new connection: [Errno 111] Connection refused')))
> building [mo]: targets for 0 po files that are out of date
> writing output... 
> building [html]: targets for 4 source files that are out of date
> updating environment: [new config] 4 added, 0 changed, 0 removed
> reading sources... [ 25%] api
> reading sources... [ 50%] cli
> reading sources... [ 75%] footprint
> reading sources... [100%] index
> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/stactools/core/utils/antimeridian.py:docstring of stactools.core.utils.antimeridian.split_multipolygon:16: WARNING: Duplicate explicit target name: "antimeridian". [docutils]
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/stactools/core/utils/antimeridian.py:docstring of stactools.core.utils.antimeridian.split_multipolygon:16: WARNING: Duplicate explicit target name: "antimeridian". [docutils]
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/stactools/core/utils/antimeridian.py:docstring of stactools.core.utils.antimeridian.split_multipolygon:16: WARNING: Duplicate explicit target name: "antimeridian". [docutils]
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/stactools/core/utils/antimeridian.py:docstring of stactools.core.utils.antimeridian.split_multipolygon:16: WARNING: Duplicate explicit target name: "antimeridian". [docutils]
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> copying assets... 
> copying static files... 
> Writing evaluated template result to /<<PKGBUILDDIR>>/.pybuild/docs/html/_static/documentation_options.js
> Writing evaluated template result to /<<PKGBUILDDIR>>/.pybuild/docs/html/_static/basic.css
> Writing evaluated template result to /<<PKGBUILDDIR>>/.pybuild/docs/html/_static/language_data.js
> copying static files: done
> copying extra files... 
> copying extra files: done
> copying assets: done
> writing output... [ 25%] api
> writing output... [ 50%] cli
> writing output... [ 75%] footprint
> writing output... [100%] index
> 
> generating indices... genindex py-modindex done
> copying linked files... 
> copying notebooks ... 
> highlighting module code... [  6%] stactools.core.add
> highlighting module code... [ 12%] stactools.core.add_raster
> highlighting module code... [ 18%] stactools.core.copy
> highlighting module code... [ 24%] stactools.core.create
> highlighting module code... [ 29%] stactools.core.geometry
> highlighting module code... [ 35%] stactools.core.io
> highlighting module code... [ 41%] stactools.core.io.xml
> highlighting module code... [ 47%] stactools.core.layout
> highlighting module code... [ 53%] stactools.core.merge
> highlighting module code... [ 59%] stactools.core.projection
> highlighting module code... [ 65%] stactools.core.utils
> highlighting module code... [ 71%] stactools.core.utils.antimeridian
> highlighting module code... [ 76%] stactools.core.utils.convert
> highlighting module code... [ 82%] stactools.core.utils.raster_footprint
> highlighting module code... [ 88%] stactools.core.utils.subprocess
> highlighting module code... [ 94%] stactools.testing.cli_test
> highlighting module code... [100%] stactools.testing.test_data
> 
> writing additional pages... search done
> copying images... [ 20%] _static/sentinel-2-partial.png
> copying images... [ 40%] _static/sentinel-2-partial-data-only.png
> copying images... [ 60%] _static/landsat-8-example.png
> copying images... [ 80%] _static/landsat-8-example-polygon.png
> copying images... [100%] _static/modis.png
> 
> dumping search index in English (code: en)... done
> dumping object inventory... done
> Highlighting style a11y-high-contrast-light not found by pygments, falling back to tango.
> Highlighting style a11y-high-contrast-dark not found by pygments, falling back to monokai.
> build succeeded, 8 warnings.
> 
> The HTML pages are in ../.pybuild/docs/html.
> rm -rf /<<PKGBUILDDIR>>/.pybuild/docs/html/.doctrees
> sed -i 's%https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js%file:///usr/share/javascript/requirejs/require.min.js%' \
> `find /<<PKGBUILDDIR>>/.pybuild/docs/html -type f -name '*.html'`
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest -k "not test_collection_with_invalid_name and not test_valid_item and not test_collection_invalid_asset and not test_external_pc_data and not test_one_datetime and not test_fsspec_io and not test_external_data_https" tests
> ============================= test session starts ==============================
> platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build
> configfile: pyproject.toml
> plugins: anyio-4.6.2, typeguard-4.4.1
> collected 103 items / 8 deselected / 95 selected
> 
> tests/cli/commands/test_add.py ...                                       [  3%]
> tests/cli/commands/test_add_asset.py ..                                  [  5%]
> tests/cli/commands/test_add_raster.py .                                  [  6%]
> tests/cli/commands/test_copy.py .......                                  [ 13%]
> tests/cli/commands/test_create.py ...                                    [ 16%]
> tests/cli/commands/test_info.py ..                                       [ 18%]
> tests/cli/commands/test_lint.py .                                        [ 20%]
> tests/cli/commands/test_merge.py ....                                    [ 24%]
> tests/cli/commands/test_migrate.py ........                              [ 32%]
> tests/cli/commands/test_summary.py .                                     [ 33%]
> tests/cli/commands/test_update_extent.py .                               [ 34%]
> tests/cli/commands/test_update_geometry.py .                             [ 35%]
> tests/cli/commands/test_validate.py ..                                   [ 37%]
> tests/cli/commands/test_version.py ..                                    [ 40%]
> tests/core/test_add_asset.py ........                                    [ 48%]
> tests/core/test_add_raster.py ...............                            [ 64%]
> tests/core/test_create.py .                                              [ 65%]
> tests/core/test_io.py .                                                  [ 66%]
> tests/core/test_projection.py .                                          [ 67%]
> tests/core/utils/test_antimeridian.py F...F..F                           [ 75%]
> tests/core/utils/test_convert.py ...                                     [ 78%]
> tests/core/utils/test_raster_footprint.py ..............                 [ 93%]
> tests/core/utils/test_round.py .....                                     [ 98%]
> tests/testing/test_test_data.py s                                        [100%]
> 
> =================================== FAILURES ===================================
> ___________________________ test_antimeridian_split ____________________________
> 
>     def test_antimeridian_split() -> None:
>         # From https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.9
>         canonical = Polygon(((170, 40), (-170, 40), (-170, 50), (170, 50), (170, 40)))
>         with pytest.warns(DeprecationWarning):
>             split = antimeridian.split(canonical)
>         assert split
>         expected = MultiPolygon(
>             (
>                 shapely.geometry.box(170, 40, 180, 50),
>                 shapely.geometry.box(-180, 40, -170, 50),
>             ),
>         )
>         for actual, expected in zip(split.geoms, expected.geoms):
>             assert actual.exterior.is_ccw
> >           assert actual.equals(expected)
> E           assert False
> E            +  where False = equals(<POLYGON ((180 40, 180 50, 170 50, 170 40, 180 40))>)
> E            +    where equals = <POLYGON ((180 50.431, 170 50, 170 40, 180 40.432, 180 50.431))>.equals
> 
> tests/core/utils/test_antimeridian.py:24: AssertionError
> _______________________ test_item_fix_antimeridian_split _______________________
> 
>     def test_item_fix_antimeridian_split() -> None:
>         canonical = Polygon(((170, 40), (-170, 40), (-170, 50), (170, 50), (170, 40)))
>         item = Item(
>             "an-id",
>             geometry=shapely.geometry.mapping(canonical),
>             bbox=canonical.bounds,
>             datetime=datetime.datetime.now(),
>             properties={},
>         )
>         fix = antimeridian.fix_item(item, antimeridian.Strategy.SPLIT)
>         expected = MultiPolygon(
>             (
>                 shapely.geometry.box(170, 40, 180, 50),
>                 shapely.geometry.box(-180, 40, -170, 50),
>             ),
>         )
>         for actual, expected in zip(
>             shapely.geometry.shape(fix.geometry).geoms,
>             expected.geoms,
>         ):
> >           assert actual.equals(expected)
> E           assert False
> E            +  where False = equals(<POLYGON ((180 40, 180 50, 170 50, 170 40, 180 40))>)
> E            +    where equals = <POLYGON ((180 50.431, 170 50, 170 40, 180 40.432, 180 50.431))>.equals
> 
> tests/core/utils/test_antimeridian.py:110: AssertionError
> ________________________ test_antimeridian_multipolygon ________________________
> 
>     def test_antimeridian_multipolygon() -> None:
>         multi_polygon = MultiPolygon(
>             [
>                 Polygon(((170, 40), (-170, 40), (-170, 42), (170, 42), (170, 40))),
>                 Polygon(((170, 48), (-170, 48), (-170, 50), (170, 50), (170, 48))),
>             ],
>         )
>         with pytest.warns(DeprecationWarning):
>             split = antimeridian.split_multipolygon(multi_polygon)
>         assert split
>         expected = MultiPolygon(
>             (
>                 shapely.geometry.box(170, 40, 180, 42),
>                 shapely.geometry.box(-180, 40, -170, 42),
>                 shapely.geometry.box(170, 48, 180, 50),
>                 shapely.geometry.box(-180, 48, -170, 50),
>             ),
>         )
>         for actual, expected in zip(split.geoms, expected.geoms):
>             assert actual.exterior.is_ccw
> >           assert actual.equals(expected), f"actual={actual}, expected={expected}"
> E           AssertionError: actual=POLYGON ((180 42.4364955, 170 42, 170 40, 180 40.4324611, 180 42.4364955)), expected=POLYGON ((180 40, 180 42, 170 42, 170 40, 180 40))
> E           assert False
> E            +  where False = equals(<POLYGON ((180 40, 180 42, 170 42, 170 40, 180 40))>)
> E            +    where equals = <POLYGON ((180 42.436, 170 42, 170 40, 180 40.432, 180 42.436))>.equals
> 
> tests/core/utils/test_antimeridian.py:279: AssertionError
> =============================== warnings summary ===============================
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-0-dtype6-zero_data-0]
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-nan-dtype9-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/tests/core/test_add_raster.py:93: UserWarning: Warning: converting a masked element to nan.
>     minimum.append(float(np.nanmin(data[i])))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-0-dtype6-zero_data-0]
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-nan-dtype9-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/tests/core/test_add_raster.py:94: UserWarning: Warning: converting a masked element to nan.
>     maximum.append(float(np.nanmax(data[i])))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-0-dtype6-zero_data-0]
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-nan-dtype9-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/stactools/core/add_raster.py:58: UserWarning: Warning: converting a masked element to nan.
>     minimum = float(numpy.nanmin(data))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-0-dtype6-zero_data-0]
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-nan-dtype9-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/stactools/core/add_raster.py:59: UserWarning: Warning: converting a masked element to nan.
>     maximum = float(numpy.nanmax(data))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-None-dtype8-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/tests/core/test_add_raster.py:93: RuntimeWarning: All-NaN axis encountered
>     minimum.append(float(np.nanmin(data[i])))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-None-dtype8-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/tests/core/test_add_raster.py:94: RuntimeWarning: All-NaN axis encountered
>     maximum.append(float(np.nanmax(data[i])))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-None-dtype8-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/stactools/core/add_raster.py:58: RuntimeWarning: All-NaN axis encountered
>     minimum = float(numpy.nanmin(data))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-None-dtype8-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/stactools/core/add_raster.py:59: RuntimeWarning: All-NaN axis encountered
>     maximum = float(numpy.nanmax(data))
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED tests/core/utils/test_antimeridian.py::test_antimeridian_split - asser...
> FAILED tests/core/utils/test_antimeridian.py::test_item_fix_antimeridian_split
> FAILED tests/core/utils/test_antimeridian.py::test_antimeridian_multipolygon
> ===== 3 failed, 91 passed, 1 skipped, 8 deselected, 12 warnings in 10.01s ======
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest -k "not test_collection_with_invalid_name and not test_valid_item and not test_collection_invalid_asset and not test_external_pc_data and not test_one_datetime and not test_fsspec_io and not test_external_data_https" tests
> I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest -k "not test_collection_with_invalid_name and not test_valid_item and not test_collection_invalid_asset and not test_external_pc_data and not test_one_datetime and not test_fsspec_io and not test_external_data_https" tests
> ============================= test session starts ==============================
> platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build
> configfile: pyproject.toml
> plugins: anyio-4.6.2, typeguard-4.4.1
> collected 103 items / 8 deselected / 95 selected
> 
> tests/cli/commands/test_add.py ...                                       [  3%]
> tests/cli/commands/test_add_asset.py ..                                  [  5%]
> tests/cli/commands/test_add_raster.py .                                  [  6%]
> tests/cli/commands/test_copy.py .......                                  [ 13%]
> tests/cli/commands/test_create.py ...                                    [ 16%]
> tests/cli/commands/test_info.py ..                                       [ 18%]
> tests/cli/commands/test_lint.py .                                        [ 20%]
> tests/cli/commands/test_merge.py ....                                    [ 24%]
> tests/cli/commands/test_migrate.py ........                              [ 32%]
> tests/cli/commands/test_summary.py .                                     [ 33%]
> tests/cli/commands/test_update_extent.py .                               [ 34%]
> tests/cli/commands/test_update_geometry.py .                             [ 35%]
> tests/cli/commands/test_validate.py ..                                   [ 37%]
> tests/cli/commands/test_version.py ..                                    [ 40%]
> tests/core/test_add_asset.py ........                                    [ 48%]
> tests/core/test_add_raster.py ...............                            [ 64%]
> tests/core/test_create.py .                                              [ 65%]
> tests/core/test_io.py .                                                  [ 66%]
> tests/core/test_projection.py .                                          [ 67%]
> tests/core/utils/test_antimeridian.py F...F..F                           [ 75%]
> tests/core/utils/test_convert.py ...                                     [ 78%]
> tests/core/utils/test_raster_footprint.py ..............                 [ 93%]
> tests/core/utils/test_round.py .....                                     [ 98%]
> tests/testing/test_test_data.py s                                        [100%]
> 
> =================================== FAILURES ===================================
> ___________________________ test_antimeridian_split ____________________________
> 
>     def test_antimeridian_split() -> None:
>         # From https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.9
>         canonical = Polygon(((170, 40), (-170, 40), (-170, 50), (170, 50), (170, 40)))
>         with pytest.warns(DeprecationWarning):
>             split = antimeridian.split(canonical)
>         assert split
>         expected = MultiPolygon(
>             (
>                 shapely.geometry.box(170, 40, 180, 50),
>                 shapely.geometry.box(-180, 40, -170, 50),
>             ),
>         )
>         for actual, expected in zip(split.geoms, expected.geoms):
>             assert actual.exterior.is_ccw
> >           assert actual.equals(expected)
> E           assert False
> E            +  where False = equals(<POLYGON ((180 40, 180 50, 170 50, 170 40, 180 40))>)
> E            +    where equals = <POLYGON ((180 50.431, 170 50, 170 40, 180 40.432, 180 50.431))>.equals
> 
> tests/core/utils/test_antimeridian.py:24: AssertionError
> _______________________ test_item_fix_antimeridian_split _______________________
> 
>     def test_item_fix_antimeridian_split() -> None:
>         canonical = Polygon(((170, 40), (-170, 40), (-170, 50), (170, 50), (170, 40)))
>         item = Item(
>             "an-id",
>             geometry=shapely.geometry.mapping(canonical),
>             bbox=canonical.bounds,
>             datetime=datetime.datetime.now(),
>             properties={},
>         )
>         fix = antimeridian.fix_item(item, antimeridian.Strategy.SPLIT)
>         expected = MultiPolygon(
>             (
>                 shapely.geometry.box(170, 40, 180, 50),
>                 shapely.geometry.box(-180, 40, -170, 50),
>             ),
>         )
>         for actual, expected in zip(
>             shapely.geometry.shape(fix.geometry).geoms,
>             expected.geoms,
>         ):
> >           assert actual.equals(expected)
> E           assert False
> E            +  where False = equals(<POLYGON ((180 40, 180 50, 170 50, 170 40, 180 40))>)
> E            +    where equals = <POLYGON ((180 50.431, 170 50, 170 40, 180 40.432, 180 50.431))>.equals
> 
> tests/core/utils/test_antimeridian.py:110: AssertionError
> ________________________ test_antimeridian_multipolygon ________________________
> 
>     def test_antimeridian_multipolygon() -> None:
>         multi_polygon = MultiPolygon(
>             [
>                 Polygon(((170, 40), (-170, 40), (-170, 42), (170, 42), (170, 40))),
>                 Polygon(((170, 48), (-170, 48), (-170, 50), (170, 50), (170, 48))),
>             ],
>         )
>         with pytest.warns(DeprecationWarning):
>             split = antimeridian.split_multipolygon(multi_polygon)
>         assert split
>         expected = MultiPolygon(
>             (
>                 shapely.geometry.box(170, 40, 180, 42),
>                 shapely.geometry.box(-180, 40, -170, 42),
>                 shapely.geometry.box(170, 48, 180, 50),
>                 shapely.geometry.box(-180, 48, -170, 50),
>             ),
>         )
>         for actual, expected in zip(split.geoms, expected.geoms):
>             assert actual.exterior.is_ccw
> >           assert actual.equals(expected), f"actual={actual}, expected={expected}"
> E           AssertionError: actual=POLYGON ((180 42.4364955, 170 42, 170 40, 180 40.4324611, 180 42.4364955)), expected=POLYGON ((180 40, 180 42, 170 42, 170 40, 180 40))
> E           assert False
> E            +  where False = equals(<POLYGON ((180 40, 180 42, 170 42, 170 40, 180 40))>)
> E            +    where equals = <POLYGON ((180 42.436, 170 42, 170 40, 180 40.432, 180 42.436))>.equals
> 
> tests/core/utils/test_antimeridian.py:279: AssertionError
> =============================== warnings summary ===============================
> tests/cli/commands/test_lint.py::test_invalid_item
>   /usr/lib/python3/dist-packages/stac_check/lint.py:189: DeprecationWarning: open_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
>     with importlib.resources.open_text(__name__, "stac-check.config.yml") as f:
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-0-dtype6-zero_data-0]
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-nan-dtype9-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/tests/core/test_add_raster.py:93: UserWarning: Warning: converting a masked element to nan.
>     minimum.append(float(np.nanmin(data[i])))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-0-dtype6-zero_data-0]
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-nan-dtype9-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/tests/core/test_add_raster.py:94: UserWarning: Warning: converting a masked element to nan.
>     maximum.append(float(np.nanmax(data[i])))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-0-dtype6-zero_data-0]
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-nan-dtype9-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/stactools/core/add_raster.py:58: UserWarning: Warning: converting a masked element to nan.
>     minimum = float(numpy.nanmin(data))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-0-dtype6-zero_data-0]
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-nan-dtype9-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/stactools/core/add_raster.py:59: UserWarning: Warning: converting a masked element to nan.
>     maximum = float(numpy.nanmax(data))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-None-dtype8-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/tests/core/test_add_raster.py:93: RuntimeWarning: All-NaN axis encountered
>     minimum.append(float(np.nanmin(data[i])))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-None-dtype8-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/tests/core/test_add_raster.py:94: RuntimeWarning: All-NaN axis encountered
>     maximum.append(float(np.nanmax(data[i])))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-None-dtype8-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/stactools/core/add_raster.py:58: RuntimeWarning: All-NaN axis encountered
>     minimum = float(numpy.nanmin(data))
> 
> tests/core/test_add_raster.py::test_add_raster_with_nodata[1-None-dtype8-nan_data-0]
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/stactools/core/add_raster.py:59: RuntimeWarning: All-NaN axis encountered
>     maximum = float(numpy.nanmax(data))
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED tests/core/utils/test_antimeridian.py::test_antimeridian_split - asser...
> FAILED tests/core/utils/test_antimeridian.py::test_item_fix_antimeridian_split
> FAILED tests/core/utils/test_antimeridian.py::test_antimeridian_multipolygon
> ===== 3 failed, 91 passed, 1 skipped, 8 deselected, 13 warnings in 10.43s ======
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest -k "not test_collection_with_invalid_name and not test_valid_item and not test_collection_invalid_asset and not test_external_pc_data and not test_one_datetime and not test_fsspec_io and not test_external_data_https" tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/12/22/stactools_0.5.3-2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20241222;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20241222&fusertaguser=lucas@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.



More information about the Pkg-grass-devel mailing list