Your message dated Mon, 23 Dec 2024 13:49:19 +0000
with message-id <e1tpiob-0021zo...@fasolo.debian.org>
and subject line Bug#1091130: fixed in stactools 0.5.3-3
has caused the Debian Bug report #1091130,
regarding stactools: FTBFS: dh_auto_test: error: pybuild --test --test-pytest 
-i python{version} -p "3.13 3.12" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1091130: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1091130
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: stactools
Version: 0.5.3-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@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=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20241222&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 ---
--- Begin Message ---
Source: stactools
Source-Version: 0.5.3-3
Done: Antonio Valentino <antonio.valent...@tiscali.it>

We believe that the bug you reported is fixed in the latest version of
stactools, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1091...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Antonio Valentino <antonio.valent...@tiscali.it> (supplier of updated stactools 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 23 Dec 2024 11:59:56 +0000
Source: stactools
Architecture: source
Version: 0.5.3-3
Distribution: unstable
Urgency: medium
Maintainer: Debian GIS Project <pkg-grass-de...@lists.alioth.debian.org>
Changed-By: Antonio Valentino <antonio.valent...@tiscali.it>
Closes: 1091130
Changes:
 stactools (0.5.3-3) unstable; urgency=medium
 .
   [ Bas Couwenberg ]
   * Bump Standards-Version to 4.7.0, no changes.
 .
   [ Antonio Valentino ]
   * debian/patches:
     - New 0001-Fix-broken-antimeridian-tests.patch (Closes: #1091130).
   * Drop python-stactools-doc.lintian-overrides, no longer needed.
Checksums-Sha1:
 b6ac369f70e61ca93b106f12404baaaf9e0ffc0a 3054 stactools_0.5.3-3.dsc
 91d037511fc9b398148a30a1d3f141d945666c06 22516 stactools_0.5.3-3.debian.tar.xz
 5746028aaccb06f631718b3ac29aadc36fe17a6d 15997 
stactools_0.5.3-3_amd64.buildinfo
Checksums-Sha256:
 956979689aa2ec5389ca8bb370cca438bb498c9c63f22a5e08bd0f10fc53c4d4 3054 
stactools_0.5.3-3.dsc
 fc01a565c3af60645e7f0472881a5cbb26c0269551aee73d388eb2a253829ca7 22516 
stactools_0.5.3-3.debian.tar.xz
 552f70c8f97ede0e96dc9ca153867e8086eb9dc74ee6df4df0b9254b1426dbdc 15997 
stactools_0.5.3-3_amd64.buildinfo
Files:
 3fd087726c3e24d1ebef928d8275f4cd 3054 python optional stactools_0.5.3-3.dsc
 0e0246ba7d23abec3eec64211a1b52f7 22516 python optional 
stactools_0.5.3-3.debian.tar.xz
 edb8bec20ad9e9ce516f8482335d79cd 15997 python optional 
stactools_0.5.3-3_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJRBAEBCgA7FiEEO3DyCaX/1okDxHLF6/SKslePmBIFAmdpZOEdHGFudG9uaW8u
dmFsZW50aW5vQHRpc2NhbGkuaXQACgkQ6/SKslePmBIJXBAAlM25rkcKfS76KOXj
eEeonYM7+sxa124ATx0jMuaC9gMD+3OtH3PLy+OPFp5IVC1B1RciBJTfRBhTI3OV
BM+NmnwOrZYhJVINjwiWpwEOBDIrKyBhnvAN1s3f8LttFqKb5tbPTHpTpFD8D0Q4
qU0s7YwkALrkrRbp6E+sydGZmOSPFTbQBOfcOLWGDduc514f4eVehspr7nr0msLz
76+ku8ujiJUTtX8wpIhwFgpyjrbzkPToGL+qL/Z6LI3uRX69pGX3/wYyi9yyrn1p
Vp/eAHq04ZHKPOMd9FHENDNoMUsAAra9LA7DvtCToeE79BEOhYmlNRKiHIOfvIkZ
g6iXYepUemr2+ey1w8ruevFDc6QA1EyhSMgyAxOsTXeSTN1y1jfDdwbnYjcifoGq
mxKjYLoL829pTbAWZFn6khWNLNc1c6GmZPAj+b4Sbb1Fe3qvE+5XZ2jq6k6XRNen
FbbJE/bwdj9XwyJaOIr8IYUmNQhilE7oSzZY8cSxvXSgCYb2VHZuUqAlKajbrGXj
9+ZqeNc0ObV68gsX1hhls7aOEaGlmZswQ7o+ZVkVBmLTuhaqHnmo1ZwM93EyWSUu
sVBi+W448SUBGgrO5AfQJwz7UGq+f5WPdTca1ogrFWlwdB2e6JstDel9pTVCdn5e
aBmCYJ5voWaE22fEgNj5KlbDcNk=
=kC7F
-----END PGP SIGNATURE-----

Attachment: pgp_MVpfkxTad.pgp
Description: PGP signature


--- End Message ---

Reply via email to