Use shorter location for pg_replslot in pg_basebackup test
authorAndrew Dunstan <andrew@dunslane.net>
Sat, 8 Jul 2023 15:21:58 +0000 (11:21 -0400)
committerAndrew Dunstan <andrew@dunslane.net>
Sat, 8 Jul 2023 15:46:09 +0000 (11:46 -0400)
The symlink to a longer location tripped up some Windows limit on
buildfarm animal fairywren when running with meson, which uses slightly
longer paths.

Backpatch to release 14 to keep the script in sync. Before that the
script skipped all symlink related tests on Windows.

src/bin/pg_basebackup/t/010_pg_basebackup.pl

index d4d14c11bf2b64cf0bd8f7c51fea251a3041d723..da0fb9f3bd879a88cb904f2419846efcc9618c29 100644 (file)
@@ -333,19 +333,20 @@ umask(0027);
 # Enable group permissions on PGDATA
 chmod_recursive("$pgdata", 0750, 0640);
 
-rename("$pgdata/pg_replslot", "$tempdir/pg_replslot")
+# Create a temporary directory in the system location.
+my $sys_tempdir = PostgreSQL::Test::Utils::tempdir_short;
+
+rename("$pgdata/pg_replslot", "$sys_tempdir/pg_replslot")
   or BAIL_OUT "could not move $pgdata/pg_replslot";
-dir_symlink("$tempdir/pg_replslot", "$pgdata/pg_replslot")
+dir_symlink("$sys_tempdir/pg_replslot", "$pgdata/pg_replslot")
   or BAIL_OUT "could not symlink to $pgdata/pg_replslot";
 
 $node->start;
 
 # Test backup of a tablespace using tar format.
-# Create a temporary directory in the system location and symlink it
-# to our physical temp location.  That way we can use shorter names
-# for the tablespace directories, which hopefully won't run afoul of
-# the 99 character length limit.
-my $sys_tempdir      = PostgreSQL::Test::Utils::tempdir_short;
+# Symlink the system located tempdir to our physical temp location.
+# That way we can use shorter names for the tablespace directories,
+# which hopefully won't run afoul of the 99 character length limit.
 my $real_sys_tempdir = "$sys_tempdir/tempdir";
 dir_symlink "$tempdir", $real_sys_tempdir;