Hi all,
While diving into a transformation of the tests of pg_upgrade to TAP,
I am getting annoyed by the fact that regress.so is needed if you
upgrade an older instance that holds the regression objects from the
main regression test suite. The buildfarm code is using a trick to
copy regress.so from the source code tree of the old instance into its
installation. See in PGBuild/Modules/TestUpgradeXversion.pm:
# at some stage we stopped installing regress.so
copy "$self->{pgsql}/src/test/regress/regress.so",
"$installdir/lib/postgresql/regress.so"
unless (-e "$installdir/lib/postgresql/regress.so");
This creates a hard dependency with the source code of the old
instance if attempting to create an old instance based on a dump,
which is what the buildfarm does, and something that I'd like to get
support for in the TAP tests of pg_upgrade in the tree.
Could it be possible to install regress.so at least in the same
location as pg_regress? This would still require the test to either
move regress.so into a location from where the backend could load the
library, but at least the library could be accessible without a
dependency to the source tree of the old instance upgrading from. To
make that really usable, this would require a backpatch, though..
Thoughts?
--
Michael