Remove PostgreSQL::Test::Utils::perl2host completely
authorAndrew Dunstan <andrew@dunslane.net>
Fri, 18 Feb 2022 22:00:03 +0000 (17:00 -0500)
committerAndrew Dunstan <andrew@dunslane.net>
Sun, 20 Feb 2022 16:51:45 +0000 (11:51 -0500)
Commit f1ac4a74de disabled this processing, and as nothing has broken (as
expected) here we proceed to remove the routine and adjust all the call
sites.

Backpatch to release 10

Discussion: https://postgr.es/m/0ba775a2-8aa0-0d56-d780-69427cf6f33d@dunslane.net
Discussion: https://postgr.es/m/20220125023609.5ohu3nslxgoygihl@alap3.anarazel.de

17 files changed:
src/bin/pg_basebackup/t/010_pg_basebackup.pl
src/bin/pg_checksums/t/002_actions.pl
src/bin/pg_verifybackup/t/003_corruption.pl
src/bin/pg_verifybackup/t/008_untar.pl
src/bin/pgbench/t/001_pgbench_with_server.pl
src/bin/scripts/t/090_reindexdb.pl
src/test/modules/test_misc/t/002_tablespace.pl
src/test/perl/PostgreSQL/Test/Cluster.pm
src/test/perl/PostgreSQL/Test/Utils.pm
src/test/recovery/t/014_unlogged_reinit.pl
src/test/recovery/t/017_shm.pl
src/test/recovery/t/018_wal_optimize.pl
src/test/recovery/t/025_stuck_on_old_timeline.pl
src/test/recovery/t/027_stream_regress.pl
src/test/ssl/t/001_ssltests.pl
src/test/ssl/t/002_scram.pl
src/test/ssl/t/003_sslinfo.pl

index 8c70e5b32bb9b269e86d0f7f897ac7551a1557bf..75d6810d3e6bfb6eb36258b2597f93c97f083841 100644 (file)
@@ -261,13 +261,11 @@ $node->start;
 # for the tablespace directories, which hopefully won't run afoul of
 # the 99 character length limit.
 my $sys_tempdir = PostgreSQL::Test::Utils::tempdir_short;
-my $real_sys_tempdir = PostgreSQL::Test::Utils::perl2host($sys_tempdir) . "/tempdir";
-my $shorter_tempdir =  $sys_tempdir . "/tempdir";
-dir_symlink "$tempdir", $shorter_tempdir;
+my $real_sys_tempdir = "$sys_tempdir/tempdir";
+dir_symlink "$tempdir", $real_sys_tempdir;
 
 mkdir "$tempdir/tblspc1";
 my $realTsDir    = "$real_sys_tempdir/tblspc1";
-my $real_tempdir = PostgreSQL::Test::Utils::perl2host($tempdir);
 $node->safe_psql('postgres',
    "CREATE TABLESPACE tblspc1 LOCATION '$realTsDir';");
 $node->safe_psql('postgres',
@@ -346,7 +344,7 @@ my $tblSpc1Id = basename(
 foreach my $filename (@tempRelationFiles)
 {
    append_to_file(
-       "$shorter_tempdir/tblspc1/$tblSpc1Id/$postgresOid/$filename",
+       "$real_sys_tempdir/tblspc1/$tblSpc1Id/$postgresOid/$filename",
        'TEMP_RELATION');
 }
 
@@ -358,7 +356,7 @@ $node->command_ok(
    [
        @pg_basebackup_defs, '-D',
        "$tempdir/backup1",  '-Fp',
-       "-T$realTsDir=$real_tempdir/tbackup/tblspc1",
+       "-T$realTsDir=$tempdir/tbackup/tblspc1",
    ],
    'plain format with tablespaces succeeds with tablespace mapping');
 ok(-d "$tempdir/tbackup/tblspc1", 'tablespace was relocated');
@@ -406,7 +404,7 @@ foreach my $filename (@tempRelationFiles)
 
    # Also remove temp relation files or tablespace drop will fail.
    my $filepath =
-     "$shorter_tempdir/tblspc1/$tblSpc1Id/$postgresOid/$filename";
+     "$real_sys_tempdir/tblspc1/$tblSpc1Id/$postgresOid/$filename";
 
    unlink($filepath)
      or BAIL_OUT("unable to unlink $filepath");
@@ -428,7 +426,7 @@ $node->command_ok(
    [
        @pg_basebackup_defs, '-D',
        "$tempdir/backup3",  '-Fp',
-       "-T$realTsDir=$real_tempdir/tbackup/tbl\\=spc2",
+       "-T$realTsDir=$tempdir/tbackup/tbl\\=spc2",
    ],
    'mapping tablespace with = sign in path');
 ok(-d "$tempdir/tbackup/tbl=spc2", 'tablespace with = sign was relocated');
@@ -517,7 +515,7 @@ $node->command_ok(
    [ @pg_basebackup_defs, '--target', 'blackhole', '-X', 'none' ],
    'backup target blackhole');
 $node->command_ok(
-   [ @pg_basebackup_defs, '--target', "server:$real_tempdir/backuponserver", '-X', 'none' ],
+   [ @pg_basebackup_defs, '--target', "server:$tempdir/backuponserver", '-X', 'none' ],
    'backup target server');
 ok(-f "$tempdir/backuponserver/base.tar", 'backup tar was created');
 rmtree("$tempdir/backuponserver");
@@ -526,7 +524,7 @@ $node->command_ok(
    [qw(createuser --replication --role=pg_write_server_files backupuser)],
    'create backup user');
 $node->command_ok(
-   [ @pg_basebackup_defs, '-U', 'backupuser', '--target', "server:$real_tempdir/backuponserver", '-X', 'none' ],
+   [ @pg_basebackup_defs, '-U', 'backupuser', '--target', "server:$tempdir/backuponserver", '-X', 'none' ],
    'backup target server');
 ok(-f "$tempdir/backuponserver/base.tar", 'backup tar was created as non-superuser');
 rmtree("$tempdir/backuponserver");
index 5563244f11e9a802fb72b6f9a957af73199000f0..751f732451f99ef0c8ce964337986280780ca65d 100644 (file)
@@ -207,7 +207,6 @@ check_relation_corruption($node, 'corrupt1', 'pg_default');
 my $basedir        = $node->basedir;
 my $tablespace_dir = "$basedir/ts_corrupt_dir";
 mkdir($tablespace_dir);
-$tablespace_dir = PostgreSQL::Test::Utils::perl2host($tablespace_dir);
 $node->safe_psql('postgres',
    "CREATE TABLESPACE ts_corrupt LOCATION '$tablespace_dir';");
 check_relation_corruption($node, 'corrupt2', 'ts_corrupt');
index f402d301ac7db7315ea09cb404a9f90aa28464c2..406c0c9877adafd04f1d30caf557525c324543b6 100644 (file)
@@ -18,7 +18,7 @@ $primary->start;
 
 # Include a user-defined tablespace in the hopes of detecting problems in that
 # area.
-my $source_ts_path   = PostgreSQL::Test::Utils::perl2host(PostgreSQL::Test::Utils::tempdir_short());
+my $source_ts_path   =PostgreSQL::Test::Utils::tempdir_short();
 my $source_ts_prefix = $source_ts_path;
 $source_ts_prefix =~ s!(^[A-Z]:/[^/]*)/.*!$1!;
 
@@ -107,7 +107,7 @@ for my $scenario (@scenario)
 
        # Take a backup and check that it verifies OK.
        my $backup_path    = $primary->backup_dir . '/' . $name;
-       my $backup_ts_path = PostgreSQL::Test::Utils::perl2host(PostgreSQL::Test::Utils::tempdir_short());
+       my $backup_ts_path = PostgreSQL::Test::Utils::tempdir_short();
        # The tablespace map parameter confuses Msys2, which tries to mangle
        # it. Tell it not to.
        # See https://www.msys2.org/wiki/Porting/#filesystem-namespaces
index 6927ca4c74cc9530165142be5422080b34383fd5..383203d0b8668fe916b88468094dd83d73f602b3 100644 (file)
@@ -18,7 +18,6 @@ $primary->init(allows_streaming => 1);
 $primary->start;
 
 my $backup_path = $primary->backup_dir . '/server-backup';
-my $real_backup_path = PostgreSQL::Test::Utils::perl2host($backup_path);
 my $extract_path = $primary->backup_dir . '/extracted-backup';
 
 my @test_configuration = (
@@ -61,7 +60,7 @@ for my $tc (@test_configuration)
        # Take a server-side backup.
        my @backup = (
            'pg_basebackup', '--no-sync', '-cfast', '--target',
-           "server:$real_backup_path", '-Xfetch'
+           "server:$backup_path", '-Xfetch'
        );
        push @backup, @{$tc->{'backup_flags'}};
        $primary->command_ok(\@backup,
index 8b03900f32343f3153a583e1fff71acea5bbbd31..f1341092fee7400079b1f4b80cba02c4fffaf63b 100644 (file)
@@ -19,12 +19,10 @@ $node->start;
 # for partitioned tables.
 my $ts = $node->basedir . '/regress_pgbench_tap_1_ts_dir';
 mkdir $ts or die "cannot create directory $ts";
-# this takes care of WIN-specific path issues
-my $ets = PostgreSQL::Test::Utils::perl2host($ts);
 
 # the next commands will issue a syntax error if the path contains a "'"
 $node->safe_psql('postgres',
-   "CREATE TABLESPACE regress_pgbench_tap_1_ts LOCATION '$ets';");
+   "CREATE TABLESPACE regress_pgbench_tap_1_ts LOCATION '$ts';");
 
 # Test concurrent OID generation via pg_enum_oid_index.  This indirectly
 # exercises LWLock and spinlock concurrency.
index 70cd7606dd969a4a7b5ddf860e27431c523be849..398fc4e6bbf1e61705ac464c2f3f8aa92dfdeb06 100644 (file)
@@ -21,7 +21,6 @@ $ENV{PGOPTIONS} = '--client-min-messages=WARNING';
 # Create a tablespace for testing.
 my $tbspace_path = $node->basedir . '/regress_reindex_tbspace';
 mkdir $tbspace_path or die "cannot create directory $tbspace_path";
-$tbspace_path = PostgreSQL::Test::Utils::perl2host($tbspace_path);
 my $tbspace_name = 'reindex_tbspace';
 $node->safe_psql('postgres',
    "CREATE TABLESPACE $tbspace_name LOCATION '$tbspace_path';");
index 6fea419bb8026fd1126498699e2de23cd158df37..04e54394c126413c4f6c5ca5782d5141ab134822 100644 (file)
@@ -14,10 +14,10 @@ $node->start;
 
 # Create a couple of directories to use as tablespaces.
 my $basedir = $node->basedir();
-my $TS1_LOCATION = PostgreSQL::Test::Utils::perl2host("$basedir/ts1");
+my $TS1_LOCATION = "$basedir/ts1";
 $TS1_LOCATION =~ s/\/\.\//\//g; # collapse foo/./bar to foo/bar
 mkdir($TS1_LOCATION);
-my $TS2_LOCATION = PostgreSQL::Test::Utils::perl2host("$basedir/ts2");
+my $TS2_LOCATION = "$basedir/ts2";
 $TS2_LOCATION =~ s/\/\.\//\//g;
 mkdir($TS2_LOCATION);
 
index ed70eff374bc6bfe0d708bff762aba6398d270fd..702b4c2b1c1751a257a84fd58305edb4abe521ea 100644 (file)
@@ -1076,7 +1076,7 @@ primary_conninfo='$root_connstr'
 sub enable_restoring
 {
    my ($self, $root_node, $standby) = @_;
-   my $path = PostgreSQL::Test::Utils::perl2host($root_node->archive_dir);
+   my $path = $root_node->archive_dir;
    my $name = $self->name;
 
    print "### Enabling WAL restore for node \"$name\"\n";
@@ -1144,7 +1144,7 @@ sub set_standby_mode
 sub enable_archiving
 {
    my ($self) = @_;
-   my $path   = PostgreSQL::Test::Utils::perl2host($self->archive_dir);
+   my $path   = $self->archive_dir;
    my $name   = $self->name;
 
    print "### Enabling WAL archiving for node \"$name\"\n";
index 31e2b0315ee69eaca302c01e92b55e8101787a7e..fc8ca741943c81c2bfe8d43336fa8df83ef593de 100644 (file)
@@ -24,7 +24,6 @@ PostgreSQL::Test::Utils - helper module for writing PostgreSQL's C<prove> tests.
 
   # Miscellanea
   print "on Windows" if $PostgreSQL::Test::Utils::windows_os;
-  my $path = PostgreSQL::Test::Utils::perl2host($backup_dir);
   ok(check_mode_recursive($stream_dir, 0700, 0600),
     "check stream dir permissions");
   PostgreSQL::Test::Utils::system_log('pg_ctl', 'kill', 'QUIT', $slow_pid);
@@ -297,61 +296,6 @@ sub tempdir_short
 
 =pod
 
-=item perl2host()
-
-Translate a virtual file name to a host file name.  Currently, this is a no-op
-except for the case of Perl=msys and host=mingw32.  The subject need not
-exist, but its parent or grandparent directory must exist unless cygpath is
-available.
-
-The returned path uses forward slashes but has no trailing slash.
-
-=cut
-
-sub perl2host
-{
-   my ($subject) = @_;
-   return $subject;
-   if ($is_msys2)
-   {
-       # get absolute, windows type path
-       my $path = qx{cygpath -a -m "$subject"};
-       if (!$?)
-       {
-           chomp $path;
-           $path =~ s!/$!!;
-           return $path if $path;
-       }
-       # fall through if this didn't work.
-   }
-   my $here = cwd;
-   my $leaf;
-   if (chdir $subject)
-   {
-       $leaf = '';
-   }
-   else
-   {
-       $leaf = '/' . basename $subject;
-       my $parent = dirname $subject;
-       if (!chdir $parent)
-       {
-           $leaf   = '/' . basename($parent) . $leaf;
-           $parent = dirname $parent;
-           chdir $parent or die "could not chdir \"$parent\": $!";
-       }
-   }
-
-   # this odd way of calling 'pwd -W' is the only way that seems to work.
-   my $dir = qx{sh -c "pwd -W"};
-   chomp $dir;
-   $dir =~ s!/$!!;
-   chdir $here;
-   return $dir . $leaf;
-}
-
-=pod
-
 =item has_wal_read_bug()
 
 Returns true if $tmp_check is subject to a sparc64+ext4 bug that causes WAL
@@ -727,8 +671,6 @@ sub dir_symlink
    my $newname = shift;
    if ($windows_os)
    {
-       $oldname = perl2host($oldname);
-       $newname = perl2host($newname);
        $oldname =~ s,/,\\,g;
        $newname =~ s,/,\\,g;
        my $cmd = qq{mklink /j "$newname" "$oldname"};
index da77c1211ff2a61672747d0bf83ade67ae992c71..f3199fbd2e1a41f402460face8eeeb372462967e 100644 (file)
@@ -33,9 +33,7 @@ ok(-f "$pgdata/$baseUnloggedPath",        'main fork in base exists');
 
 my $tablespaceDir = PostgreSQL::Test::Utils::tempdir;
 
-my $realTSDir = PostgreSQL::Test::Utils::perl2host($tablespaceDir);
-
-$node->safe_psql('postgres', "CREATE TABLESPACE ts1 LOCATION '$realTSDir'");
+$node->safe_psql('postgres', "CREATE TABLESPACE ts1 LOCATION '$tablespaceDir'");
 $node->safe_psql('postgres',
    'CREATE UNLOGGED TABLE ts1_unlogged (id int) TABLESPACE ts1');
 
index 678a252165e24a246249e54d2c3a4b7b6e938778..88f9e2b9cd769f14ea5d7fe5943125eeb3bcf0eb 100644 (file)
@@ -112,7 +112,7 @@ log_ipcs();
 $gnat->start;
 log_ipcs();
 
-my $regress_shlib = PostgreSQL::Test::Utils::perl2host($ENV{REGRESS_SHLIB});
+my $regress_shlib = $ENV{REGRESS_SHLIB};
 $gnat->safe_psql('postgres', <<EOSQL);
 CREATE FUNCTION wait_pid(int)
    RETURNS void
index 1410e2f03b90b7bf81dfff933f5140bb97dc28d4..4700d49c10c0504b349505df5e525ea3452b0409 100644 (file)
@@ -60,7 +60,6 @@ wal_skip_threshold = 0
    # Setup
    my $tablespace_dir = $node->basedir . '/tablespace_other';
    mkdir($tablespace_dir);
-   $tablespace_dir = PostgreSQL::Test::Utils::perl2host($tablespace_dir);
    my $result;
 
    # Test redo of CREATE TABLESPACE.
@@ -152,7 +151,6 @@ wal_skip_threshold = 0
        $copy_file, qq(20000,30000
 20001,30001
 20002,30002));
-   $copy_file = PostgreSQL::Test::Utils::perl2host($copy_file);
 
    # Test truncation with inserted tuples using both INSERT and COPY.  Tuples
    # inserted after the truncation should be seen.
index d113c8cc9c5a7a8e692f733a82af2a2d4407d4b0..fd821242e89e701460e688dd188978a77431a917 100644 (file)
@@ -28,7 +28,7 @@ $node_primary->init(allows_streaming => 1, has_archiving => 1);
 # Note: consistent use of forward slashes here avoids any escaping problems
 # that arise from use of backslashes. That means we need to double-quote all
 # the paths in the archive_command
-my $perlbin = PostgreSQL::Test::Utils::perl2host($^X);
+my $perlbin = $^X;
 $perlbin =~ s!\\!/!g if $PostgreSQL::Test::Utils::windows_os;
 my $archivedir_primary = $node_primary->archive_dir;
 $archivedir_primary =~ s!\\!/!g if $PostgreSQL::Test::Utils::windows_os;
index 4f82a54f933c7d1a2ca8054348f7fa698868a21f..c40951b7baf3d47df1b5b565df5664398c719ed6 100644 (file)
@@ -48,8 +48,8 @@ $node_standby_1->append_conf('postgresql.conf',
    'max_standby_streaming_delay = 600s');
 $node_standby_1->start;
 
-my $dlpath = PostgreSQL::Test::Utils::perl2host(dirname($ENV{REGRESS_SHLIB}));
-my $outputdir = PostgreSQL::Test::Utils::perl2host($PostgreSQL::Test::Utils::tmp_check);
+my $dlpath = dirname($ENV{REGRESS_SHLIB});
+my $outputdir = $PostgreSQL::Test::Utils::tmp_check;
 
 # Run the regression tests against the primary.
 my $extra_opts = $ENV{EXTRA_REGRESS_OPTS} || "";
index b8f8b65a8fc2ea3a43380c855531f249290fcac6..5c5b16fbe74803842524c01eb16e34400b9c86a4 100644 (file)
@@ -51,7 +51,7 @@ foreach my $keyfile (@keys)
      "couldn't copy ssl/$keyfile to $cert_tempdir/$keyfile for permissions change: $!";
    chmod 0600, "$cert_tempdir/$keyfile"
      or die "failed to change permissions on $cert_tempdir/$keyfile: $!";
-   $key{$keyfile} = PostgreSQL::Test::Utils::perl2host("$cert_tempdir/$keyfile");
+   $key{$keyfile} = "$cert_tempdir/$keyfile";
    $key{$keyfile} =~ s!\\!/!g if $PostgreSQL::Test::Utils::windows_os;
 }
 
@@ -63,7 +63,7 @@ copy("ssl/client.key", "$cert_tempdir/client_wrongperms.key")
   "couldn't copy ssl/client_key to $cert_tempdir/client_wrongperms.key for permission change: $!";
 chmod 0644, "$cert_tempdir/client_wrongperms.key"
   or die "failed to change permissions on $cert_tempdir/client_wrongperms.key: $!";
-$key{'client_wrongperms.key'} = PostgreSQL::Test::Utils::perl2host("$cert_tempdir/client_wrongperms.key");
+$key{'client_wrongperms.key'} = "$cert_tempdir/client_wrongperms.key";
 $key{'client_wrongperms.key'} =~ s!\\!/!g if $PostgreSQL::Test::Utils::windows_os;
 #### Set up the server.
 
index 41d231c55d00143fce55472cbe97e7d33055a6de..4decd7a506d858395295b14ee18359c995fbe3cb 100644 (file)
@@ -94,7 +94,7 @@ $node->connect_fails(
 # be used in a different test, so the name of this temporary client key
 # is chosen here to be unique.
 my $cert_tempdir = PostgreSQL::Test::Utils::tempdir();
-my $client_tmp_key = PostgreSQL::Test::Utils::perl2host("$cert_tempdir/client_scram.key");
+my $client_tmp_key = "$cert_tempdir/client_scram.key";
 copy("ssl/client.key", "$cert_tempdir/client_scram.key")
   or die
   "couldn't copy ssl/client_key to $cert_tempdir/client_scram.key for permission change: $!";
index f008ea659411da15f6839b10a2dd657b584913f8..95742081f38b1e411629668f749a4bf4b6432191 100644 (file)
@@ -34,7 +34,7 @@ my $common_connstr;
 # The client's private key must not be world-readable, so take a copy
 # of the key stored in the code tree and update its permissions.
 my $cert_tempdir = PostgreSQL::Test::Utils::tempdir();
-my $client_tmp_key = PostgreSQL::Test::Utils::perl2host("$cert_tempdir/client_ext.key");
+my $client_tmp_key = "$cert_tempdir/client_ext.key";
 copy("ssl/client_ext.key", "$cert_tempdir/client_ext.key")
   or die
   "couldn't copy ssl/client_ext.key to $cert_tempdir/client_ext.key for permissions change: $!";