Add test for pg_upgrade file transfer modes.
authorNathan Bossart <nathan@postgresql.org>
Thu, 20 Mar 2025 16:08:42 +0000 (11:08 -0500)
committerNathan Bossart <nathan@postgresql.org>
Thu, 20 Mar 2025 16:08:42 +0000 (11:08 -0500)
commitaf0d4901c1c39b3e3425522834708e0992592bb8
treea5cdc537d8ca7eb3fd9eaddea8c2456638d19da6
parent0164a0f9ee12e0eff9e4c661358a272ecd65c2d4
Add test for pg_upgrade file transfer modes.

This new test checks all of pg_upgrade's file transfer modes.  For
each mode, we verify that pg_upgrade either succeeds (and some test
objects successfully reach the new version) or fails with an error
that indicates the mode is not supported on the current platform.
For cross-version tests, we also check that pg_upgrade transfers
non-default tablespaces.  (Tablespaces can't be tested on same
version upgrades because of the version-specific subdirectory
conflict, but we might be able to enable such tests once we teach
pg_upgrade how to handle in-place tablespaces.)

Suggested-by: Robert Haas <robertmhaas@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/Zyvop-LxLXBLrZil%40nathan
src/bin/pg_upgrade/meson.build
src/bin/pg_upgrade/t/006_transfer_modes.pl [new file with mode: 0644]
src/test/perl/PostgreSQL/Test/Cluster.pm
src/test/perl/PostgreSQL/Test/Utils.pm