Skip to content

Commit 926f5ce

Browse files
committed
pg_basebackup: Adjust tests for long file name issues
Work around accidental test failures because the working directory path is too long by creating a temporary directory in the (hopefully shorter) system location, symlinking that to the working directory, and creating the tablespaces using the shorter path.
1 parent 552faef commit 926f5ce

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

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

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,15 @@
4949
'tar format');
5050
ok(-f "$tempdir/tarbackup/base.tar", 'backup tar was created');
5151

52+
# Create a temporary directory in the system location and symlink it
53+
# to our physical temp location. That way we can use shorter names
54+
# for the tablespace directories, which hopefully won't run afoul of
55+
# the 99 character length limit.
56+
my $shorter_tempdir = tempdir_short . "/tempdir";
57+
symlink "$tempdir", $shorter_tempdir;
58+
5259
mkdir "$tempdir/tblspc1";
53-
psql 'postgres', "CREATE TABLESPACE tblspc1 LOCATION '$tempdir/tblspc1';";
60+
psql 'postgres', "CREATE TABLESPACE tblspc1 LOCATION '$shorter_tempdir/tblspc1';";
5461
psql 'postgres', "CREATE TABLE test1 (a int) TABLESPACE tblspc1;";
5562
command_ok([ 'pg_basebackup', '-D', "$tempdir/tarbackup2", '-Ft' ],
5663
'tar format with tablespaces');
@@ -65,7 +72,7 @@
6572
command_ok(
6673
[ 'pg_basebackup', '-D',
6774
"$tempdir/backup1", '-Fp',
68-
"-T$tempdir/tblspc1=$tempdir/tbackup/tblspc1" ],
75+
"-T$shorter_tempdir/tblspc1=$tempdir/tbackup/tblspc1" ],
6976
'plain format with tablespaces succeeds with tablespace mapping');
7077
ok(-d "$tempdir/tbackup/tblspc1", 'tablespace was relocated');
7178
opendir(my $dh, "$tempdir/pgdata/pg_tblspc") or die;
@@ -81,11 +88,11 @@
8188
mkdir "$tempdir/tbl=spc2";
8289
psql 'postgres', "DROP TABLE test1;";
8390
psql 'postgres', "DROP TABLESPACE tblspc1;";
84-
psql 'postgres', "CREATE TABLESPACE tblspc2 LOCATION '$tempdir/tbl=spc2';";
91+
psql 'postgres', "CREATE TABLESPACE tblspc2 LOCATION '$shorter_tempdir/tbl=spc2';";
8592
command_ok(
8693
[ 'pg_basebackup', '-D',
8794
"$tempdir/backup3", '-Fp',
88-
"-T$tempdir/tbl\\=spc2=$tempdir/tbackup/tbl\\=spc2" ],
95+
"-T$shorter_tempdir/tbl\\=spc2=$tempdir/tbackup/tbl\\=spc2" ],
8996
'mapping tablespace with = sign in path');
9097
ok(-d "$tempdir/tbackup/tbl=spc2", 'tablespace with = sign was relocated');
9198

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy