Skip to content

Consolidation cluster 10: nodata (long-tail epic #2424) #2434

Closed

Description

@brendancol

Follow-up to epic #2424 / #2390. Cluster 10 of 16. Parallel-safe.

Likely 1-2 PRs. The 13 files have a clean read/write split, so a 1 PR vs 2 PR call comes down to review surface.

Scope

Consolidate nodata semantics, attrs, lifecycle, validation, and round-trip into one parametrised home each on the read and write sides.

Files to consolidate (13)

Sub-PR A: read-side -> extend read/test_nodata.py

  • test_masked_nodata_attr_2092.py
  • test_nodata_attr_aliases_1582.py
  • test_nodata_lifecycle_attrs_2135.py
  • test_nodata_lifecycle_parity_2211.py
  • test_nodata_nan_int_1774.py
  • test_nodata_no_extra_copy_1553.py
  • test_nodata_semantics_split_1988.py
  • test_helper_band_nodata_2210.py

Sub-PR B: write-side / validation -> extend write/test_basic.py or new write/test_nodata.py

  • test_mask_nodata_kwarg_2052.py
  • test_nodata_bool_rejection_1911.py
  • test_nodata_int64_precision_1847.py
  • test_nodata_out_of_range_1581.py
  • test_nodata_validation_1973.py

Boundary

GPU nodata (test_gpu_nodata_1542.py, test_mask_nodata_gpu_vrt_2052.py, test_gpu_writer_nan_sentinel_1599.py) belongs to the GPU cluster.

Constraints

  • Tests-only.
  • Markers from _helpers/markers.py; make_minimal_tiff from _helpers/tiff_builders.py.
  • Descriptive IDs (e.g. id="alias[GDAL_NODATA->nodata]", id="lifecycle[masked-then-write]").
  • CLUSTER_AUDIT_NODATA.md deleted before merge.

Verification

pytest xrspatial/geotiff/tests/read/test_nodata.py xrspatial/geotiff/tests/write/ -v
pytest xrspatial/geotiff/tests/ -x -q

File count drops by 12 (13 deleted, 1 added if write-side becomes new file).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions