Move tablespace path re-creation from the makefiles to pg_regress
authorMichael Paquier <michael@paquier.xyz>
Wed, 10 Mar 2021 05:50:00 +0000 (14:50 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 10 Mar 2021 05:50:00 +0000 (14:50 +0900)
commit6c788d9f6aadb41d76a72d56149268371a7895ee
tree9fd432d1dacbf811ddc8a14960ee5b617108aa66
parentaeb57af8e64000cc4288a7b8b8d7cf6040eae900
Move tablespace path re-creation from the makefiles to pg_regress

Moving this logic into pg_regress fixes a potential failure with
parallel tests when pg_upgrade and the main regression test suite both
trigger the makefile rule that cleaned up testtablespace/ under
src/test/regress.  Even if pg_upgrade was triggering this rule, it has
no need to do so as it uses a different tablespace path.  So if
pg_upgrade triggered the makefile rule for the tablespace setup while
the main regression test suite ran the tablespace cases, it would fail.

61be85a was a similar attempt at achieving that, but that broke cases
where the regression tests require to run under an Administrator
account, like with Appveyor.

Reported-by: Andres Freund, Kyotaro Horiguchi
Reviewed-by: Peter Eisentraut
Discussion: https://postgr.es/m/20201209012911.uk4d6nxcnkp7ehrx@alap3.anarazel.de
src/bin/pg_upgrade/test.sh
src/test/regress/GNUmakefile
src/test/regress/pg_regress.c
src/tools/msvc/vcregress.pl