Phase 5: cross extension-update-test/pg-upgrade-test with TEST_SCHEMA - #32
Open
jnasbyupgrade wants to merge 1 commit into
Open
Phase 5: cross extension-update-test/pg-upgrade-test with TEST_SCHEMA#32jnasbyupgrade wants to merge 1 commit into
jnasbyupgrade wants to merge 1 commit into
Conversation
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>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
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).