• Bug#1066747: rasterio: FTBFS: dh_auto_test: error: pybuild --test -i py

    From Lucas Nussbaum@21:1/5 to All on Wed Mar 13 16:10:25 2024
    Source: rasterio
    Version: 1.3.9-3
    Severity: serious
    Justification: FTBFS
    Tags: trixie sid ftbfs
    User: lucas@debian.org
    Usertags: ftbfs-20240313 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>>'
    dh_auto_test
    I: pybuild pybuild:308: cp -r /<<PKGBUILDDIR>>/tests /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build
    I: pybuild base:305: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build; python3.12 -m pytest --ignore tests/test_env.py --ignore tests/test_io.py --ignore tests/test_merge.py --ignore tests/test_rio_blocks.py --ignore tests/test_rio_bounds.py --
    ignore tests/test_rio_calc.py --ignore tests/test_rio_clip.py --ignore tests/test_rio_convert.py --ignore tests/test_rio_edit_info.py --ignore tests/test_rio_gcp.py --ignore tests/test_rio_helpers.py --ignore tests/test_rio_info.py --ignore tests/test_
    rio_insp.py --ignore tests/test_rio_main.py --ignore tests/test_rio_mask.py --ignore tests/test_rio_merge.py --ignore tests/test_rio_options.py --ignore tests/test_rio_overview.py --ignore tests/test_rio_rasterize.py --ignore tests/test_rio_rm.py --
    ignore tests/test_rio_sample.py --ignore tests/test_rio_shapes.py --ignore tests/test_rio_stack.py --ignore tests/test_rio_warp.py --ignore tests/test_session.py --ignore tests/test_warp.py --ignore tests/test_warpedvrt.py
    Test data present.
    ============================= test session starts ==============================
    platform linux -- Python 3.12.2, pytest-8.0.2, pluggy-1.4.0
    rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build
    configfile: pyproject.toml
    plugins: hypothesis-6.98.15
    collected 1086 items / 1 skipped

    tests/test__env.py ................. [ 1%]
    tests/test__version.py ..... [ 2%]
    tests/test_band.py . [ 2%]
    tests/test_band_masks.py ........... [ 3%]
    tests/test_blocks.py ....................... [ 5%]
    tests/test_boundless_read.py .XX...X..XX. [ 6%]
    tests/test_checksum.py ...... [ 6%]
    tests/test_cli_main.py .. [ 7%]
    tests/test_colorinterp.py .....xx............... [ 9%]
    tests/test_colormap.py .. [ 9%]
    tests/test_complex_dtypes.py ..... [ 9%]
    tests/test_coords.py ...... [ 10%]
    tests/test_creation_options.py . [ 10%]
    tests/test_crs.py ...................................................... [ 15%]
    ............................................................. [ 20%]
    tests/test_data_paths.py .. [ 21%]
    tests/test_dataset.py ................................. [ 24%]
    tests/test_dataset_mask.py ............ [ 25%]
    tests/test_dataset_rw.py ... [ 25%]
    tests/test_deprecated.py . [ 25%]
    tests/test_descriptions.py .... [ 26%]
    tests/test_driver_management.py .... [ 26%]
    tests/test_driver_policy.py .. [ 26%]
    tests/test_dtypes.py .......................... [ 29%]
    tests/test_enums.py ........... [ 30%]
    tests/test_err.py .....x [ 30%]
    tests/test_features.py ................................................. [ 35%]
    ..........................s..X.......................................... [ 41%]
    .. [ 41%]
    tests/test_filepath.py .............xx... [ 43%]
    tests/test_fillnodata.py .... [ 43%]
    tests/test_gcps.py ......... [ 44%]
    tests/test_gdal_raster_io.py ................................... [ 47%]
    tests/test_image_structure.py ............... [ 49%]
    tests/test_indexing.py ..................... [ 51%]
    tests/test_int8.py ..... [ 51%]
    tests/test_io_mixins.py ..... [ 52%]
    tests/test_mask.py ....................... [ 54%]
    tests/test_mask_creation.py ..... [ 54%]
    tests/test_memoryfile.py ............................ [ 57%]
    tests/test_meta.py .. [ 57%]
    tests/test_no_georef.py .. [ 57%]
    tests/test_nodata.py ...... [ 58%]
    tests/test_open.py ...... [ 58%]
    tests/test_open_options.py ... [ 59%]
    tests/test_open_overview_level.py . [ 59%]
    tests/test_open_sharing.py .. [ 59%]
    tests/test_options.py . [ 59%]
    tests/test_overviews.py .............. [ 60%]
    tests/test_pad.py . [ 60%]
    tests/test_path.py ................................................... [ 65%]
    tests/test_png.py . [ 65%]
    tests/test_process_pool_executor.py .. [ 65%]
    tests/test_profile.py ................... [ 67%]
    tests/test_read.py ........................ [ 69%]
    tests/test_read_boundless.py .............x [ 71%]
    tests/test_read_dtype.py .... [ 71%]
    tests/test_read_resample.py .......x [ 72%]
    tests/test_reshape_image.py ... [ 72%]
    tests/test_revolvingdoor.py . [ 72%]
    tests/test_rio_env.py .... [ 72%]
    tests/test_rio_transform.py . [ 73%]
    tests/test_rpcs.py ...... [ 73%]
    tests/test_sampling.py ........... [ 74%]
    tests/test_scale_offset.py ........ [ 75%]
    tests/test_show_versions.py .... [ 75%]
    tests/test_shutil.py ................. [ 77%]
    tests/test_statistics.py .. [ 77%]
    tests/test_subdatasets.py s. [ 77%]
    tests/test_tag_item.py ... [ 77%]
    tests/test_tag_ns.py . [ 77%]
    tests/test_tags.py ..... [ 78%]
    tests/test_thread_pool_executor.py .. [ 78%]
    tests/test_threading.py .... [ 79%]
    tests/test_tools.py .. [ 79%]
    tests/test_transform.py ................................................ [ 83%]
    ..................... [ 85%]
    tests/test_units.py .... [ 85%]
    tests/test_update.py ........ [ 86%]
    tests/test_vrt.py .. [ 86%]
    tests/test_warnings.py ..FFF [ 87%]
    tests/test_warp_transform.py ........................ [ 89%]
    tests/test_windows.py .................................................. [ 94%]
    ................ [ 95%]
    tests/test_windows_mixins.py ...... [ 96%]
    tests/test_write.py ........................................s. [100%]

    =================================== FAILURES ===================================
    _______________ test_no_notgeoref_warning[transform0-None-None] ________________

    transform = Affine(2.0, 0.0, 0.0,
    0.0, 2.0, 0.0), gcps = None
    rpcs = None

    @pytest.mark.parametrize('transform, gcps, rpcs', [(Affine.identity() * Affine.scale(2.0), None, None),
    (None, [rasterio.control.GroundControlPoint(0, 0, 0, 0, 0)], None),
    (None, None, gen_rpcs())])
    def test_no_notgeoref_warning(transform, gcps, rpcs):
    with rasterio.MemoryFile() as mem:
    with mem.open(driver='GTiff', width=10, height=10, dtype='uint8', count=1, transform=transform) as src:
    if gcps:
    src.gcps = (gcps, rasterio.crs.CRS.from_epsg(4326))
    if rpcs:
    src.rpcs = rpcs

    with pytest.warns(None) as record:

    tests/test_warnings.py:39:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    self = WarningsChecker(record=True), expected_warning = None, match_expr = None

    def __init__(
    self,
    expected_warning: Optional[
    Union[Type[Warning], Tuple[Type[Warning], ...]]
    ] = Warning,
    match_expr: Optional[Union[str, Pattern[str]]] = None,
    *,
    _ispytest: bool = False,
    ) -> None:
    check_ispytest(_ispytest)
    super().__init__(_ispytest=True)

    msg = "exceptions must be derived from Warning, not %s"
    if expected_warning is None:
    warnings.warn(WARNS_NONE_ARG, stacklevel=4)
    E pytest.PytestRemovedIn8Warning: Passing None has been deprecated. E See https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests for alternatives in common use cases.

    /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: PytestRemovedIn8Warning
    ------------------------------ Captured log call -------------------------------
    DEBUG rasterio._env:env.py:326 GDAL data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 PROJ data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 Started GDALEnv: self=<rasterio._env.GDALEnv object at 0x7f319a5f9b40>.
    DEBUG rasterio._env:env.py:362 Stopped GDALEnv <rasterio._env.GDALEnv object at 0x7f319a5f9b40>.
    DEBUG rasterio._env:env.py:326 GDAL data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 PROJ data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 Started GDALEnv: self=<rasterio._env.GDALEnv object at 0x7f319a5f9870>.
    DEBUG rasterio._env:env.py:362 Stopped GDALEnv <rasterio._env.GDALEnv object at 0x7f319a5f9870>.
    __________________ test_no_notgeoref_warning[None-gcps1-None] __________________

    transform = None
    gcps = [GroundControlPoint(row=0, col=0, x=0, y=0, z=0, id='f73186b2-337a-4c3f-8b50-58eef0910d8f')]
    rpcs = None

    @pytest.mark.parametrize('transform, gcps, rpcs', [(Affine.identity() * Affine.scale(2.0), None, None),
    (None, [rasterio.control.GroundControlPoint(0, 0, 0, 0, 0)], None),
    (None, None, gen_rpcs())])
    def test_no_notgeoref_warning(transform, gcps, rpcs):
    with rasterio.MemoryFile() as mem:
    with mem.open(driver='GTiff', width=10, height=10, dtype='uint8', count=1, transform=transform) as src:
    if gcps:
    src.gcps = (gcps, rasterio.crs.CRS.from_epsg(4326))
    if rpcs:
    src.rpcs = rpcs

    with pytest.warns(None) as record:

    tests/test_warnings.py:39:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: in __init__
    warnings.warn(WARNS_NONE_ARG, stacklevel=4) /usr/lib/python3/dist-packages/_pytest/runner.py:342: in from_call
    result: Optional[TResult] = func() /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
    /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in pytest_runtest_call
    yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook
    yield
    /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call
    yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook
    yield
    /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
    yield from self._runtest_for(item, "call") /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
    yield
    /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
    return (yield)
    /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
    return (yield)
    /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
    raise e
    /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
    item.runtest()
    /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self) /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
    /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/dist-packages/_pytest/python.py:194: in pytest_pyfunc_call
    result = testfunction(**testargs)
    tests/test_warnings.py:39: in test_no_notgeoref_warning
    with pytest.warns(None) as record:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    self = WarningsChecker(record=True), expected_warning = None, match_expr = None

    def __init__(
    self,
    expected_warning: Optional[
    Union[Type[Warning], Tuple[Type[Warning], ...]]
    ] = Warning,
    match_expr: Optional[Union[str, Pattern[str]]] = None,
    *,
    _ispytest: bool = False,
    ) -> None:
    check_ispytest(_ispytest)
    super().__init__(_ispytest=True)

    msg = "exceptions must be derived from Warning, not %s"
    if expected_warning is None:
    warnings.warn(WARNS_NONE_ARG, stacklevel=4)
    E pytest.PytestRemovedIn8Warning: Passing None has been deprecated. E See https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests for alternatives in common use cases.

    /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: PytestRemovedIn8Warning
    ------------------------------ Captured log call -------------------------------
    DEBUG rasterio._env:env.py:326 GDAL data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 PROJ data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 Started GDALEnv: self=<rasterio._env.GDALEnv object at 0x7f319a5f9480>.
    DEBUG rasterio._env:env.py:362 Stopped GDALEnv <rasterio._env.GDALEnv object at 0x7f319a5f9480>.
    DEBUG rasterio._env:env.py:326 GDAL data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 PROJ data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 Started GDALEnv: self=<rasterio._env.GDALEnv object at 0x7f319a5fab90>.
    DEBUG rasterio._env:env.py:362 Stopped GDALEnv <rasterio._env.GDALEnv object at 0x7f319a5fab90>.
    __________________ test_no_notgeoref_warning[None-None-rpcs2] __________________

    transform = None, gcps = None
    rpcs = RPC(height_off=89.0, height_scale=701.0, lat_off=49.2199, lat_scale=0.3093, line_den_coeff=[1.0, 0.0009222511757408093...8e-05, -1.230207121465409e-06, -2.830467933081173e-06], samp_off=3724.0, samp_scale=3725.0, err_bias=0.5, err_rand=0.5)

    @pytest.mark.parametrize('transform, gcps, rpcs', [(Affine.identity() * Affine.scale(2.0), None, None),
    (None, [rasterio.control.GroundControlPoint(0, 0, 0, 0, 0)], None),
    (None, None, gen_rpcs())])
    def test_no_notgeoref_warning(transform, gcps, rpcs):
    with rasterio.MemoryFile() as mem:
    with mem.open(driver='GTiff', width=10, height=10, dtype='uint8', count=1, transform=transform) as src:
    if gcps:
    src.gcps = (gcps, rasterio.crs.CRS.from_epsg(4326))
    if rpcs:
    src.rpcs = rpcs

    with pytest.warns(None) as record:

    tests/test_warnings.py:39:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: in __init__
    warnings.warn(WARNS_NONE_ARG, stacklevel=4) /usr/lib/python3/dist-packages/_pytest/runner.py:342: in from_call
    result: Optional[TResult] = func() /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
    /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in pytest_runtest_call
    yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook
    yield
    /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call
    yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook
    yield
    /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
    yield from self._runtest_for(item, "call") /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
    yield
    /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
    return (yield)
    /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
    return (yield)
    /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
    raise e
    /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
    item.runtest()
    /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self) /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
    /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/dist-packages/_pytest/python.py:194: in pytest_pyfunc_call
    result = testfunction(**testargs)
    tests/test_warnings.py:39: in test_no_notgeoref_warning
    with pytest.warns(None) as record: /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: in __init__
    warnings.warn(WARNS_NONE_ARG, stacklevel=4) /usr/lib/python3/dist-packages/_pytest/runner.py:342: in from_call
    result: Optional[TResult] = func() /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
    /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in pytest_runtest_call
    yield from thread_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook
    yield
    /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call
    yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook
    yield
    /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
    yield from self._runtest_for(item, "call") /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
    yield
    /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
    return (yield)
    /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
    return (yield)
    /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
    raise e
    /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
    item.runtest()
    /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self) /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
    /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3/dist-packages/_pytest/python.py:194: in pytest_pyfunc_call
    result = testfunction(**testargs)
    tests/test_warnings.py:39: in test_no_notgeoref_warning
    with pytest.warns(None) as record:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    self = WarningsChecker(record=True), expected_warning = None, match_expr = None

    def __init__(
    self,
    expected_warning: Optional[
    Union[Type[Warning], Tuple[Type[Warning], ...]]
    ] = Warning,
    match_expr: Optional[Union[str, Pattern[str]]] = None,
    *,
    _ispytest: bool = False,
    ) -> None:
    check_ispytest(_ispytest)
    super().__init__(_ispytest=True)

    msg = "exceptions must be derived from Warning, not %s"
    if expected_warning is None:
    warnings.warn(WARNS_NONE_ARG, stacklevel=4)
    E pytest.PytestRemovedIn8Warning: Passing None has been deprecated. E See https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests for alternatives in common use cases.

    /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: PytestRemovedIn8Warning
    ------------------------------ Captured log call -------------------------------
    DEBUG rasterio._env:env.py:326 GDAL data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 PROJ data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 Started GDALEnv: self=<rasterio._env.GDALEnv object at 0x7f319a5fab90>.
    DEBUG rasterio._env:env.py:362 Stopped GDALEnv <rasterio._env.GDALEnv object at 0x7f319a5fab90>.
    DEBUG rasterio._env:env.py:326 GDAL data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 PROJ data files are available at built-in paths.
    DEBUG rasterio._env:env.py:326 Started GDALEnv: self=<rasterio._env.GDALEnv object at 0x7f319a5fbac0>.
    DEBUG rasterio._env:env.py:362 Stopped GDALEnv <rasterio._env.GDALEnv object at 0x7f319a5fbac0>.
    =============================== warnings summary ===============================
    ../../../../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37
    /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.
    fromtimestamp(timestamp, datetime.UTC).
    EPOCH = datetime.datetime.utcfromtimestamp(0)

    tests/test_cli_main.py:1
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build/tests/test_cli_main.py:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import iter_entry_points

    rasterio/__init__.py:304: 1 warning
    tests/test_blocks.py: 5 warnings
    tests/test_boundless_read.py: 1 warning
    tests/test_crs.py: 1 warning
    tests/test_dataset.py: 6 warnings
    tests/test_dataset_rw.py: 1 warning
    tests/test_dtypes.py: 1 warning
    tests/test_gdal_raster_io.py: 14 warnings
    tests/test_mask_creation.py: 1 warning
    tests/test_no_georef.py: 1 warning
    tests/test_open_options.py: 1 warning
    tests/test_overviews.py: 1 warning
    tests/test_read.py: 1 warning
    tests/test_rpcs.py: 1 warning
    tests/test_subdatasets.py: 1 warning
    tests/test_tags.py: 1 warning
    tests/test_write.py: 6 warnings
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build/rasterio/__init__.py:304: NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The identity matrix will be returned.
    dataset = DatasetReader(path, driver=driver, sharing=sharing, **kwargs)

    tests/test_blocks.py: 5 warnings
    tests/test_complex_dtypes.py: 3 warnings
    tests/test_creation_options.py: 1 warning
    tests/test_dataset.py: 6 warnings
    tests/test_dataset_rw.py: 2 warnings
    tests/test_descriptions.py: 4 warnings
    tests/test_dtypes.py: 1 warning
    tests/test_gdal_raster_io.py: 35 warnings
    tests/test_no_georef.py: 2 warnings
    tests/test_png.py: 1 warning
    tests/test_profile.py: 1 warning
    tests/test_rpcs.py: 1 warning
    tests/test_scale_offset.py: 8 warnings
    tests/test_tags.py: 3 warnings
    tests/test_units.py: 4 warnings
    tests/test_write.py: 23 warnings
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build/rasterio/__init__.py:314: NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The identity matrix will be returned.
    dataset = writer(

    tests/test_boundless_read.py::test_issue2382 tests/test_memoryfile.py::test_write_rpcs_to_memfile
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build/rasterio/io.py:141: NotGeoreferencedWarning: The given matrix is equal to Affine.identity or its flipped counterpart. GDAL may ignore this matrix and save no geotransform without raising an error.
    This behavior is somewhat driver-specific.
    return writer(

    tests/test_dataset.py: 4 warnings
    tests/test_features.py: 9 warnings
    tests/test_mask.py: 21 warnings
    tests/test_no_georef.py: 1 warning
    tests/test_write.py: 2 warnings
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build/rasterio/__init__.py:314: NotGeoreferencedWarning: The given matrix is equal to Affine.identity or its flipped counterpart. GDAL may ignore this matrix and save no geotransform without raising an
    error. This behavior is somewhat driver-specific.
    dataset = writer(

    tests/test_dtypes.py::test_cant_cast_dtype_nan[uint8] tests/test_dtypes.py::test_cant_cast_dtype_nan[uint16] tests/test_dtypes.py::test_cant_cast_dtype_nan[uint32] tests/test_dtypes.py::test_cant_cast_dtype_nan[int32]
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build/rasterio/dtypes.py:224: RuntimeWarning: invalid value encountered in cast
    return np.allclose(values, values.astype(dtype), equal_nan=True)

    tests/test_nodata.py::test_set_mem_inf_nodata tests/test_nodata.py::test_set_mem_nan_nodata tests/test_warnings.py::test_notgeoref_warning tests/test_warnings.py::test_no_notgeoref_warning[None-gcps1-None] tests/test_warnings.py::test_no_notgeoref_warning[None-None-rpcs2]
    /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build/rasterio/io.py:141: NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The identity matrix will be returned.
    return writer(

    -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================
    FAILED tests/test_warnings.py::test_no_notgeoref_warning[transform0-None-None]
    FAILED tests/test_warnings.py::test_no_notgeoref_warning[None-gcps1-None] - p...
    FAILED tests/test_warnings.py::test_no_notgeoref_warning[None-None-rpcs2] - p...
    = 3 failed, 1067 passed, 4 skipped, 7 xfailed, 6 xpassed, 194 warnings in 21.83s =
    E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_rasterio/build; python3.12 -m pytest --ignore tests/test_env.py --ignore tests/test_io.py --ignore tests/test_merge.py --ignore tests/
    test_rio_blocks.py --ignore tests/test_rio_bounds.py --ignore tests/test_rio_calc.py --ignore tests/test_rio_clip.py --ignore tests/test_rio_convert.py --ignore tests/test_rio_edit_info.py --ignore tests/test_rio_gcp.py --ignore tests/test_rio_helpers.py
    --ignore tests/test_rio_info.py --ignore tests/test_rio_insp.py --ignore tests/test_rio_main.py --ignore tests/test_rio_mask.py --ignore tests/test_rio_merge.py --ignore tests/test_rio_options.py --ignore tests/test_rio_overview.py --ignore tests/test_
    rio_rasterize.py --ignore tests/test_rio_rm.py --ignore tests/test_rio_sample.py --ignore tests/test_rio_shapes.py --ignore tests/test_rio_stack.py --ignore tests/test_rio_warp.py --ignore tests/test_session.py --ignore tests/test_warp.py --ignore tests/
    test_warpedvrt.py
    I: pybuild pybuild:308: cp -r /<<PKGBUILDDIR>>/tests /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_rasterio/build

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Debian Bug Tracking System@21:1/5 to All on Wed Mar 13 18:10:01 2024
    This is a multi-part message in MIME format...

    Your message dated Wed, 13 Mar 2024 16:56:13 +0000
    with message-id <E1rkRtl-007OcP-W5@fasolo.debian.org>
    and subject line Bug#1066747: fixed in rasterio 1.3.9-4
    has caused the Debian Bug report #1066747,
    regarding rasterio: FTBFS: dh_auto_test: error: pybuild --test -i python{version} -p "3.12 3.11" 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 owner@bugs.debian.org
    immediately.)


    --
    1066747: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066747
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    Received: (at submit) by bugs.debian.org; 13 Mar 2024 15:01:30 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
    (2021-04-09) on buxtehude.debian.org
    X-Spam-Level:
    X-Spam-Status: No, score=-106.1 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
    DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FOURLA,
    FROMDEVELOPER,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,
    UNPARSEABLE_RELAY,USER_IN_DKIM_WELCOMELIST,USER_IN_DKIM_WHITELIST,
    WEIRD_PORT autolearn=ham autolearn_force=no
    version=3.4.6-bugs.debian.org_2005_01_02
    X-Spam-Bayes: score:0.0000 Tokens: new, 168; hammy, 150; neutral, 565; spammy,
    0. spammytokens: hammytokens:0.000-+--python3,
    0.000-+--Hx-spam-relays-external:sk:stravin, 0.000-+--H*RT:sk:stravin,
    0.000-+--Hx-spam-relays-external:311, 0.000-+--H*RT:108
    Return-path: <lucas@debian.org>
    Received: from stravinsky.debia