Fix the public schema's permissions in a separate test script.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 17 Dec 2021 21:22:26 +0000 (16:22 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 17 Dec 2021 21:22:26 +0000 (16:22 -0500)
commit944dc45d1b633c4d612cdff9f15153ed609eaa35
tree9c225eef58a53d7ed3355c180815d553e4d91dd1
parent3c6f8c011f85df7b35c32f4ccaac5c86c9064a4a
Fix the public schema's permissions in a separate test script.

In the wake of commit b073c3ccd, it's necessary to grant create
permissions on the public schema to PUBLIC to get many of the
core regression test scripts to pass.  That commit did so via the
quick-n-dirty expedient of adding the GRANT to the tablespace test,
which runs first.  This is problematic for single-machine
replication testing, though.  The least painful way to run the
regression tests on such a setup is to skip the tablespace test,
and that no longer works.

To fix, let's invent a separate "test_setup" script to run first,
and put the GRANT there.  Revert b073c3ccd's changes to
the tablespace.source files.

In the future it might be good to try to reduce coupling between
the various test scripts by having test_setup create widely-used
objects, with the goal that most of the scripts could run after
having run only test_setup.  That's going to take some effort,
so this commit just addresses my immediate pain point.

Discussion: https://postgr.es/m/1363170.1639763559@sss.pgh.pa.us
src/test/regress/expected/test_setup.out [new file with mode: 0644]
src/test/regress/input/tablespace.source
src/test/regress/output/tablespace.source
src/test/regress/parallel_schedule
src/test/regress/sql/test_setup.sql [new file with mode: 0644]