mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
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
c8987ea90c
commit
83ed4de20f
@ -203,8 +203,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";
|
||||||
@ -212,7 +216,7 @@ close $file;
|
|||||||
$node->command_fails(
|
$node->command_fails(
|
||||||
[ 'pg_basebackup', '-D', "$tempdir/tarbackup_l1", '-Ft' ],
|
[ 'pg_basebackup', '-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