On 09/12/2025 19:40, Tom Lane wrote:
> Perhaps another alternative is to add "DROP EXTENSION
> injection_points" at the end of the test scripts in the
> problematic modules.
It's a little tricky if a module has more than one test that uses the
extension. Namely src/test/modules/nbtree which I added recently has two
test scripts, nbtree_incomplete_splits.sql and
nbtree_half_dead_pages.sql, and both of them do "create extension if not
exists injection_points;". They run concurrently, so they race on which
one creates the extension first. We can't do the same for DROP EXTENSION
at the end.
Maybe that's not a great design in the first place, though. Perhaps that
module should use a schedule file:
# create injection_points extension before the actual tests
test: test_setup
test: nbtree_incomplete_splits nbtree_half_dead_pages
# drop injection_points extension because it cannot be pg_upgraded.
test: test_clean
- Heikki