Skip to content

COG readiness: add COG rows to backend parity/release gate (#2286 PR 4/6) #2294

@brendancol

Description

@brendancol

Part of #2286 (COG readiness/stability rollout).

Scope

Add a focused COG parity layer to the release gate so COG read/write paths are required-green for promotion.

Required changes

New file: xrspatial/geotiff/tests/test_cog_parity_2286.py (or an additive section to test_backend_full_parity_2211.py; prefer a new file to keep diffs reviewable).

Required rows:

  1. xrspatial write COG -> xrspatial eager read
  2. xrspatial write COG -> xrspatial dask read
  3. xrspatial write COG -> rasterio read
  4. golden/rasterio COG fixture -> xrspatial local read
  5. golden/rasterio COG fixture -> xrspatial HTTP range read
  6. golden/rasterio COG fixture -> xrspatial dask HTTP range read

For each row:

  • Compare expected pixel values within documented tolerances (lossless = byte-exact).
  • Assert CRS, transform, nodata, dtype, band count, dim names survive.
  • Skip reasons must be explicit and pytest.skip with a string mentioning the dependency or linked issue. No silent skips.

Use the existing golden corpus under xrspatial/geotiff/tests/golden_corpus/ where it applies, or generate a small COG fixture via rasterio in the test if no suitable golden exists.

Out of scope

  • GPU rows (reader.gpu stays experimental).
  • Experimental codecs.
  • Promoting any feature tier (PRs 5/6 do that).

Acceptance

  • New file under xrspatial/geotiff/tests/.
  • All six rows present, each either passing or skipping with a linked reason.
  • Suite green on CPU CI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions