Describe the bug
The golden-corpus backend parity modules list overview_external_ovr_uint16 in _OVERVIEW_READER_GAPS, which skips the overview-level oracle comparison for the dask, fsspec, GPU, and dask+GPU backends:
xrspatial/geotiff/tests/golden_corpus/test_dask_numpy.py:81
xrspatial/geotiff/tests/golden_corpus/test_fsspec.py:87
xrspatial/geotiff/tests/golden_corpus/test_gpu.py:87
xrspatial/geotiff/tests/golden_corpus/test_dask_gpu.py:85
The gate switches off the candidate_factory that reads each overview level via open_geotiff(..., overview_level=lvl). The base-IFD parity check still runs, but the overview levels stored in the sibling .tif.ovr are never checked on these backends.
The eager numpy module cleared its own _OVERVIEW_READER_GAPS entry once the reader gained external .ovr sidecar discovery (_sidecar.py). That sidecar code is shared across backends, so the four remaining skips look stale and leave overview reads unverified on every backend except eager numpy.
Expected behavior
Backends whose read path resolves the sidecar pyramid should run the overview-level comparison for overview_external_ovr_uint16, the same as eager numpy. A skip should only remain where a backend genuinely cannot serve the level.
To reproduce
Drop the overview_external_ovr_uint16 entry from _OVERVIEW_READER_GAPS in a backend module and run that backend's golden-corpus parity test for the fixture id.
Describe the bug
The golden-corpus backend parity modules list
overview_external_ovr_uint16in_OVERVIEW_READER_GAPS, which skips the overview-level oracle comparison for the dask, fsspec, GPU, and dask+GPU backends:xrspatial/geotiff/tests/golden_corpus/test_dask_numpy.py:81xrspatial/geotiff/tests/golden_corpus/test_fsspec.py:87xrspatial/geotiff/tests/golden_corpus/test_gpu.py:87xrspatial/geotiff/tests/golden_corpus/test_dask_gpu.py:85The gate switches off the
candidate_factorythat reads each overview level viaopen_geotiff(..., overview_level=lvl). The base-IFD parity check still runs, but the overview levels stored in the sibling.tif.ovrare never checked on these backends.The eager numpy module cleared its own
_OVERVIEW_READER_GAPSentry once the reader gained external.ovrsidecar discovery (_sidecar.py). That sidecar code is shared across backends, so the four remaining skips look stale and leave overview reads unverified on every backend except eager numpy.Expected behavior
Backends whose read path resolves the sidecar pyramid should run the overview-level comparison for
overview_external_ovr_uint16, the same as eager numpy. A skip should only remain where a backend genuinely cannot serve the level.To reproduce
Drop the
overview_external_ovr_uint16entry from_OVERVIEW_READER_GAPSin a backend module and run that backend's golden-corpus parity test for the fixture id.