Improve pg_basebackup long file name test Windows robustness
Creation of a file with a very long name can create problems on Windows due to its file path limits. Work around that by creating the file via a symlink with a shorter name. Error displayed by buildfarm animal fairywren.o Backpatch to all live branches
This commit is contained in:
parent
a4cfeeca5a
commit
9436535b08
@ -311,8 +311,12 @@ $node->command_fails(
|
|||||||
'-T with invalid format fails');
|
'-T with invalid format fails');
|
||||||
|
|
||||||
# Tar format doesn't support filenames longer than 100 bytes.
|
# Tar format doesn't support filenames longer than 100 bytes.
|
||||||
|
# Create the test file via a short name directory so it doesn't blow the
|
||||||
|
# Windows path limit.
|
||||||
|
my $lftmp = PostgreSQL::Test::Utils::tempdir_short;
|
||||||
|
dir_symlink "$pgdata", "$lftmp/pgdata";
|
||||||
my $superlongname = "superlongname_" . ("x" x 100);
|
my $superlongname = "superlongname_" . ("x" x 100);
|
||||||
my $superlongpath = "$pgdata/$superlongname";
|
my $superlongpath = "$lftmp/pgdata/$superlongname";
|
||||||
|
|
||||||
open my $file, '>', "$superlongpath"
|
open my $file, '>', "$superlongpath"
|
||||||
or die "unable to create file $superlongpath";
|
or die "unable to create file $superlongpath";
|
||||||
@ -320,7 +324,7 @@ close $file;
|
|||||||
$node->command_fails(
|
$node->command_fails(
|
||||||
[ @pg_basebackup_defs, '-D', "$tempdir/tarbackup_l1", '-Ft' ],
|
[ @pg_basebackup_defs, '-D', "$tempdir/tarbackup_l1", '-Ft' ],
|
||||||
'pg_basebackup tar with long name fails');
|
'pg_basebackup tar with long name fails');
|
||||||
unlink "$pgdata/$superlongname";
|
unlink "$superlongpath";
|
||||||
|
|
||||||
# The following tests are for symlinks.
|
# The following tests are for symlinks.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user