Schema-invariant pgTAP assertion descriptions in test/core/functions.sql - #46
Schema-invariant pgTAP assertion descriptions in test/core/functions.sql#46jnasbyupgrade wants to merge 1 commit into
Conversation
pgTAP's auto-generated test descriptions schema-qualify via ncs() (e.g. "Function public.null_count(...) should return int"), which pins the committed expected-output file to whichever schema count_nulls happens to land in. Pass an explicit, schema-free description to every call instead - function_returns/isnt_strict/volatility_is/lives_ok/bag_eq/throws_ok all still resolve and execute against the real, %I-qualified, ncs()-derived name; only the visible description text drops the schema. This is a self-contained cleanup with no dependency on TEST_SCHEMA existing - it's what lets a later schema-switching mechanism reuse a single expected-output file across every schema the suite runs against, instead of needing one per schema value. Regenerated test/expected/extension_tests.out via make results. 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 |
|
Claude finished @jnasbyupgrade's task in 2m 18s —— View job Claude finished the review
|
…_update) Adds the one checklist item genuinely missing everywhere (cat_tools' own PR #46 only did this manually, uncommitted, per the design doc this whole series is based on): a script that installs fresh and 0.9.6-then-updated copies of count_nulls in their own scratch databases and diffs pg_get_functiondef/comments/ACLs for every object the extension owns (discovered live via pg_depend, not a hardcoded object list). Wired into extension-update-test as an automatic step, crossed with TEST_SCHEMA same as the rest of that job. Also scopes out extending pg-tle-test to the update path (documented inline, and filed as Postgres-Extensions/pgxntool#90): pgxntool 2.3.0's own fix for installcheck's ordering bug (#83) made installcheck unconditionally depend on install, which writes a real .control file to disk - defeating the entire point of proving a pg_tle deployment never touches the filesystem. There's currently no way to invoke the real pgTAP suite without a filesystem install happening first. The fresh-install pg_tle smoke test (already on master via #16) is unaffected, since it never calls installcheck. Verified locally against PG17: fresh/update x empty/Quoted all pass via make verify-results; bin/compare_fresh_vs_update reports identical definitions for both schema legs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

pgTAP's auto-generated test descriptions schema-qualify via ncs() (e.g. "Function public.null_count(...) should return int"), which pins the committed expected-output file to whichever schema count_nulls happens to land in. Pass an explicit, schema-free description to every call instead - function_returns/isnt_strict/volatility_is/lives_ok/bag_eq/throws_ok all still resolve and execute against the real, %I-qualified, ncs()-derived name; only the visible description text drops the schema. This is a self-contained cleanup with no dependency on TEST_SCHEMA existing - it's what lets a later schema-switching mechanism reuse a single expected-output file across every schema the suite runs against, instead of needing one per schema value.
Regenerated test/expected/extension_tests.out via make results.