From e213de8e785aac4e2ebc44282b8dc0fcc74834e8 Mon Sep 17 00:00:00 2001 From: Andrew Dunstan Date: Sat, 8 Jul 2023 11:21:58 -0400 Subject: [PATCH] Use shorter location for pg_replslot in pg_basebackup test 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 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl index a06690bf74..5ac2ba1b17 100644 --- a/src/bin/pg_basebackup/t/010_pg_basebackup.pl +++ b/src/bin/pg_basebackup/t/010_pg_basebackup.pl @@ -339,19 +339,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;