Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test-cog-validator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,4 +101,4 @@ jobs:
# missing rio-cogeo / GDAL install fail the suite instead of
# skipping it -- the whole point of this gate.
run: |
pytest xrspatial/geotiff/tests/test_cog_writer_compliance.py xrspatial/geotiff/tests/test_cog_parity_2286.py -x
pytest xrspatial/geotiff/tests/write/test_cog.py -x
8 changes: 4 additions & 4 deletions docs/source/reference/geotiff.rst
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ COG validator CI gate
on every PR. A dedicated Linux job (``pytest-cog-validator``)
installs rio-cogeo and the GDAL Python bindings from conda-forge,
sets ``XRSPATIAL_REQUIRE_COG_VALIDATOR=1``, and runs the compliance
suite in ``xrspatial/geotiff/tests/test_cog_writer_compliance.py``.
suite in ``xrspatial/geotiff/tests/write/test_cog.py``.
With the env var set, a missing validator dependency is a hard
failure instead of a silent skip, so a misconfigured install step
cannot quietly let the gate pass. Contributors without rio-cogeo
Expand Down Expand Up @@ -493,7 +493,7 @@ is a plain GeoTIFF or a COG.

``SUPPORTED_FEATURES['writer.bigtiff_cog']`` is currently ``advanced``.
The external-interop gate lives in
``xrspatial/geotiff/tests/test_bigtiff_cog_compliance_2286.py`` and
``xrspatial/geotiff/tests/write/test_bigtiff.py`` and
covers the BigTIFF-specific layout (header, IFDs, tile and overview
offset tables), one lossless integer codec, one lossless float codec,
single-band and 3-band, one overview level, plus an auto-promotion row
Expand All @@ -515,9 +515,9 @@ regression test that locks the behaviour.
* - Combination
- Regression test
* - ``to_geotiff(cog=True, tiled=False)``
- ``xrspatial/geotiff/tests/test_cog_requires_tiled_2312.py``
- ``xrspatial/geotiff/tests/write/test_cog.py``
* - ``to_geotiff(cog=True, tile_size <= 0)``
- ``xrspatial/geotiff/tests/test_cog_tile_size_hang_2311.py``
- ``xrspatial/geotiff/tests/write/test_cog.py``
* - Warped VRT
(``<VRTDataset subClass="VRTWarpedDataset">`` or
``<VRTRasterBand subClass="VRTWarpedRasterBand">``)
Expand Down
15 changes: 7 additions & 8 deletions docs/source/reference/release_gate_geotiff.rst
Original file line number Diff line number Diff line change
Expand Up @@ -208,14 +208,14 @@ Local GeoTIFF read and write
- stable
- ``to_geotiff`` writes a file that ``open_geotiff`` reads back
bit-exact for every stable codec.
- ``xrspatial/geotiff/tests/test_cog_writer_compliance.py``,
- ``xrspatial/geotiff/tests/write/test_cog.py``,
``xrspatial/geotiff/tests/parity/test_backend_matrix.py``
- `#2341`_
* - ``writer.overviews``
- advanced
- Internal overview IFDs round-trip; the reader can pick a level.
- ``xrspatial/geotiff/tests/test_dask_overview_level.py``,
``xrspatial/geotiff/tests/test_cog_overview_nodata_1613.py``
``xrspatial/geotiff/tests/write/test_overview.py``
- `#2286`_
* - ``writer.bigtiff``
- advanced
Expand Down Expand Up @@ -283,14 +283,13 @@ Cloud-optimized GeoTIFF (COG)
- ``to_geotiff(cog=True)`` writes an IFD-first tiled file with internal
overviews that ``rio-cogeo`` accepts (CI-gated by
``XRSPATIAL_REQUIRE_COG_VALIDATOR=1``).
- ``xrspatial/geotiff/tests/test_cog_writer_compliance.py``,
``xrspatial/geotiff/tests/test_cog_parity_2286.py``
- ``xrspatial/geotiff/tests/write/test_cog.py``
- `#2286`_
* - ``reader.local_cog``
- stable
- Local COG with overview IFDs decodes byte-for-byte through eager and
dask paths.
- ``xrspatial/geotiff/tests/test_cog.py``,
- ``xrspatial/geotiff/tests/write/test_cog.py``,
``xrspatial/geotiff/tests/test_golden_corpus_overview_cog_1930.py``
- `#2286`_
* - ``reader.http_cog``
Expand All @@ -305,19 +304,19 @@ Cloud-optimized GeoTIFF (COG)
- advanced
- BigTIFF + COG combination passes the dedicated compliance suite
(header magic, IFDs, tile and overview offset tables).
- ``xrspatial/geotiff/tests/test_bigtiff_cog_compliance_2286.py``
- ``xrspatial/geotiff/tests/write/test_bigtiff.py``
- `#2286`_
* - ``writer.cog`` -- tile-layout pre-flight (``cog=True, tiled=False``)
- stable
- Raises ``ValueError`` at the writer entry point regardless of dtype
or codec.
- ``xrspatial/geotiff/tests/test_cog_requires_tiled_2312.py``
- ``xrspatial/geotiff/tests/write/test_cog.py``
- `#2286`_
* - ``writer.cog`` -- tile-size pre-flight (non-positive ``tile_size``)
- stable
- Non-positive tile sizes raise ``ValueError`` regardless of the
``tiled`` flag.
- ``xrspatial/geotiff/tests/test_cog_tile_size_hang_2311.py``
- ``xrspatial/geotiff/tests/write/test_cog.py``
- `#2286`_

HTTP / fsspec reads
Expand Down
2 changes: 1 addition & 1 deletion xrspatial/geotiff/_attrs.py
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@
# the BigTIFF + COG combination has its own external-interop surface
# (8-byte offsets in tile/overview tables, BigTIFF-form IFDs, COG
# layout invariants). Stays ``advanced`` even when every row of
# ``tests/test_bigtiff_cog_compliance_2286.py`` passes -- promotion
# ``tests/write/test_bigtiff.py`` passes -- promotion
# to ``stable`` happens after the gate has lived in CI for a release
# cycle. See the BigTIFF COG section in
# ``docs/source/reference/geotiff.rst``.
Expand Down
2 changes: 1 addition & 1 deletion xrspatial/geotiff/_writer.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@
# the array-level ``_write`` defense-in-depth gate. Keeping the message
# string in one place stops the two raise sites from drifting if one
# ever gets reworded. The substring assertions in
# ``test_cog_requires_tiled_2312.py`` pin the actionable tokens
# ``tests/write/test_cog.py`` pin the actionable tokens
# (``tiled=True``, ``cog=False``, ``COG``) so a future rewrite still
# has to satisfy the same contract.
_COG_REQUIRES_TILED_MSG = (
Expand Down
Loading
Loading