Native Coverage

Intent

Define the real GeoPandas compatibility percentage as upstream test pass rate under strict native mode, where any GeoPandas fallback is treated as failure.

Request Signals

  • native coverage

  • strict native

  • compatibility percentage

  • upstream pass rate

Open First

  • docs/testing/native-coverage.md

  • scripts/upstream_native_coverage.py

Verify

  • uv run python scripts/upstream_native_coverage.py --json

  • uv run python scripts/check_docs.py --check

Risks

  • Missing optional dependencies inflate skipped count, making the primary metric misleading.

  • Host fallback counting as a pass in non-strict mode hides real coverage gaps.

Definition

Run vendored upstream tests with VIBESPATIAL_STRICT_NATIVE=1.

In this mode:

  • any explicit fallback event raises immediately

  • skipped tests remain skips

  • xfailed tests count as not passing

Primary metric:

  • native pass rate = passed / (passed + failed + xfailed + xpassed)

Secondary metric:

  • suite pass rate = passed / (passed + failed + skipped + xfailed + xpassed)

The primary metric is the one that should appear in commit messages because it answers the question: “what fraction of the executed upstream GeoPandas tests passed on repo-owned behavior with no fallback?”

Command

uv run python scripts/upstream_native_coverage.py

Use --json for machine-readable output.

Notes

  • Missing optional dependencies such as pyarrow, fiona, or PostGIS drivers will usually increase skipped, not failed.

  • This metric is intentionally stricter than normal upstream green status, because host fallback does not count as native coverage.