Skip to content

Phase 5: cross extension-update-test/pg-upgrade-test with TEST_SCHEMA - #32

Open
jnasbyupgrade wants to merge 1 commit into
phase4-pg-upgradefrom
phase5-cross-schema
Open

Phase 5: cross extension-update-test/pg-upgrade-test with TEST_SCHEMA#32
jnasbyupgrade wants to merge 1 commit into
phase4-pg-upgradefrom
phase5-cross-schema

Conversation

@jnasbyupgrade

Copy link
Copy Markdown
Contributor

Stacked on #31 (phase 4: real pg_upgrade support). This is the novel enhancement the whole redesign was building toward.

Why this is novel

Checked directly: nobody in the org currently tests update/upgrade crossed with schema scenarios. `cat_tools`' own `extension-update-test`/`pg-upgrade-test` matrices are PG-version-only (no schema axis at all - checked its actual `ci.yml`). `extension_tools` has no U&U testing whatsoever. So this is genuinely new coverage, not something to copy from a reference implementation.

What changed

  • `extension-update-test`: added `schema: ["", Quoted]` to the matrix + a `TEST_SCHEMA` env var - the job's own `make verify-results TEST_LOAD_SOURCE=update` picks it up automatically (Make auto-imports matching-named environment variables).
  • `pg-upgrade-test`: added the same schema axis. `old_pg`/`new_pg` were already plain matrix dimensions (not an `include:` list), so adding a third axis cross-products cleanly into 4 legs (2 old_pg values × 2 schema values). Threaded `matrix.schema` through to `bin/test_existing`'s `prepare-old`/`run-suite` calls, previously hardcoded to `""`.

Why this is "free": phase 2's schema-invariant assertion descriptions mean crossing either job with `TEST_SCHEMA` needs zero new expected-output files - every leg of every job (fresh, update, real pg_upgrade) × (no schema, Quoted schema) passes against the exact same `test/expected/extension_tests.out` (+ the one genuine alternate from phase 2).

Verification

Locally against PG17: `prepare-old` → `update` → `run-suite` passes end to end with `TEST_SCHEMA=Quoted` (previously only verified with an untargeted schema in phase 4).

The novel piece this whole redesign was building toward: nobody in this
org currently tests update/upgrade crossed with schema scenarios (checked
directly - cat_tools' own extension-update-test/pg-upgrade-test matrices
are PG-version-only, extension_tools has no U&U testing at all). Phase 2's
schema-invariant assertion descriptions make this free - zero new
expected-output files needed for either job, exactly as designed.

- extension-update-test: added `schema: ["", Quoted]` to the matrix,
  TEST_SCHEMA env var - the job's own `make verify-results
  TEST_LOAD_SOURCE=update` picks it up automatically via Make's
  environment auto-import.
- pg-upgrade-test: added the same schema axis (old_pg/new_pg were already
  plain matrix dimensions, not an `include:` list, so adding a third axis
  cross-products cleanly into the same 4 legs cat_tools would produce for
  2 old_pg values x 2 schema values), and threaded matrix.schema through to
  bin/test_existing's prepare-old/run-suite calls (previously hardcoded to
  "").

Verified locally against PG17: prepare-old -> update -> run-suite passes
end to end with TEST_SCHEMA=Quoted (previously only verified with an
untargeted schema).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 05311467-89bd-416f-82b3-745a58409474

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant