perltidy PostgresNode and SimpleTee
Also, mention in README that Perl files should be perltidy'ed. This isn't really the best place (since we have Perl files elsewhere in the tree) and this is already in pgindent's README, but this subdir is likely to get hacked a whole lot more than the other Perl files, so it seems okay to spend two lines on this. Author: Craig Ringer
This commit is contained in:
parent
5bec1ad464
commit
7d9a4301c0
@ -1,3 +1,4 @@
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
@ -106,18 +107,15 @@ of finding port numbers, registering instances for cleanup, etc.
|
||||
|
||||
sub new
|
||||
{
|
||||
my $class = shift;
|
||||
my $name = shift;
|
||||
my $pghost = shift;
|
||||
my $pgport = shift;
|
||||
my ($class, $name, $pghost, $pgport) = @_;
|
||||
my $testname = basename($0);
|
||||
$testname =~ s/\.[^.]+$//;
|
||||
my $self = {
|
||||
_port => $pgport,
|
||||
_host => $pghost,
|
||||
_basedir => TestLib::tempdir("data_" . $name),
|
||||
_name => $name,
|
||||
_logfile => "$TestLib::log_path/${testname}_${name}.log" };
|
||||
my $self = {
|
||||
_port => $pgport,
|
||||
_host => $pghost,
|
||||
_basedir => TestLib::tempdir("data_" . $name),
|
||||
_name => $name,
|
||||
_logfile => "$TestLib::log_path/${testname}_${name}.log" };
|
||||
|
||||
bless $self, $class;
|
||||
$self->dump_info;
|
||||
@ -367,7 +365,7 @@ sub init
|
||||
$params{hba_permit_replication} = 1
|
||||
unless defined $params{hba_permit_replication};
|
||||
$params{allows_streaming} = 0 unless defined $params{allows_streaming};
|
||||
$params{has_archiving} = 0 unless defined $params{has_archiving};
|
||||
$params{has_archiving} = 0 unless defined $params{has_archiving};
|
||||
|
||||
mkdir $self->backup_dir;
|
||||
mkdir $self->archive_dir;
|
||||
@ -405,7 +403,7 @@ sub init
|
||||
close $conf;
|
||||
|
||||
$self->set_replication_conf if $params{hba_permit_replication};
|
||||
$self->enable_archiving if $params{has_archiving};
|
||||
$self->enable_archiving if $params{has_archiving};
|
||||
}
|
||||
|
||||
=pod
|
||||
@ -492,7 +490,7 @@ sub init_from_backup
|
||||
|
||||
$params{has_streaming} = 0 unless defined $params{has_streaming};
|
||||
$params{hba_permit_replication} = 1
|
||||
unless defined $params{hba_permit_replication};
|
||||
unless defined $params{hba_permit_replication};
|
||||
$params{has_restoring} = 0 unless defined $params{has_restoring};
|
||||
|
||||
print
|
||||
@ -514,7 +512,7 @@ sub init_from_backup
|
||||
qq(
|
||||
port = $port
|
||||
));
|
||||
$self->set_replication_conf if $params{hba_permit_replication};
|
||||
$self->set_replication_conf if $params{hba_permit_replication};
|
||||
$self->enable_streaming($root_node) if $params{has_streaming};
|
||||
$self->enable_restoring($root_node) if $params{has_restoring};
|
||||
}
|
||||
@ -607,19 +605,19 @@ sub promote
|
||||
my $logfile = $self->logfile;
|
||||
my $name = $self->name;
|
||||
print "### Promoting node \"$name\"\n";
|
||||
TestLib::system_log('pg_ctl', '-D', $pgdata, '-l', $logfile,
|
||||
'promote');
|
||||
TestLib::system_log('pg_ctl', '-D', $pgdata, '-l', $logfile, 'promote');
|
||||
}
|
||||
|
||||
# Internal routine to enable streaming replication on a standby node.
|
||||
sub enable_streaming
|
||||
{
|
||||
my ($self, $root_node) = @_;
|
||||
my ($self, $root_node) = @_;
|
||||
my $root_connstr = $root_node->connstr;
|
||||
my $name = $self->name;
|
||||
my $name = $self->name;
|
||||
|
||||
print "### Enabling streaming replication for node \"$name\"\n";
|
||||
$self->append_conf('recovery.conf', qq(
|
||||
$self->append_conf(
|
||||
'recovery.conf', qq(
|
||||
primary_conninfo='$root_connstr application_name=$name'
|
||||
standby_mode=on
|
||||
));
|
||||
@ -628,7 +626,7 @@ standby_mode=on
|
||||
# Internal routine to enable archive recovery command on a standby node
|
||||
sub enable_restoring
|
||||
{
|
||||
my ($self, $root_node) = @_;
|
||||
my ($self, $root_node) = @_;
|
||||
my $path = $root_node->archive_dir;
|
||||
my $name = $self->name;
|
||||
|
||||
@ -641,11 +639,13 @@ sub enable_restoring
|
||||
# first. Paths also need to be double-quoted to prevent failures where
|
||||
# the path contains spaces.
|
||||
$path =~ s{\\}{\\\\}g if ($TestLib::windows_os);
|
||||
my $copy_command = $TestLib::windows_os ?
|
||||
qq{copy "$path\\\\%f" "%p"} :
|
||||
qq{cp $path/%f %p};
|
||||
my $copy_command =
|
||||
$TestLib::windows_os
|
||||
? qq{copy "$path\\\\%f" "%p"}
|
||||
: qq{cp $path/%f %p};
|
||||
|
||||
$self->append_conf('recovery.conf', qq(
|
||||
$self->append_conf(
|
||||
'recovery.conf', qq(
|
||||
restore_command = '$copy_command'
|
||||
standby_mode = on
|
||||
));
|
||||
@ -667,12 +667,14 @@ sub enable_archiving
|
||||
# first. Paths also need to be double-quoted to prevent failures where
|
||||
# the path contains spaces.
|
||||
$path =~ s{\\}{\\\\}g if ($TestLib::windows_os);
|
||||
my $copy_command = $TestLib::windows_os ?
|
||||
qq{copy "%p" "$path\\\\%f"} :
|
||||
qq{cp %p $path/%f};
|
||||
my $copy_command =
|
||||
$TestLib::windows_os
|
||||
? qq{copy "%p" "$path\\\\%f"}
|
||||
: qq{cp %p $path/%f};
|
||||
|
||||
# Enable archive_mode and archive_command on node
|
||||
$self->append_conf('postgresql.conf', qq(
|
||||
$self->append_conf(
|
||||
'postgresql.conf', qq(
|
||||
archive_mode = on
|
||||
archive_command = '$copy_command'
|
||||
));
|
||||
|
@ -11,6 +11,9 @@ isolation tester specs in src/test/isolation, if possible. If not, check to
|
||||
see if your new tests make sense under an existing tree in src/test, like
|
||||
src/test/ssl, or should be added to one of the suites for an existing utility.
|
||||
|
||||
Note that all tests and test tools should have perltidy run on them before
|
||||
patches are submitted, using perltidy --profile=src/tools/pgindent/perltidyrc
|
||||
|
||||
Writing tests
|
||||
-------------
|
||||
|
||||
|
@ -10,17 +10,20 @@
|
||||
package SimpleTee;
|
||||
use strict;
|
||||
|
||||
sub TIEHANDLE {
|
||||
sub TIEHANDLE
|
||||
{
|
||||
my $self = shift;
|
||||
bless \@_, $self;
|
||||
}
|
||||
|
||||
sub PRINT {
|
||||
sub PRINT
|
||||
{
|
||||
my $self = shift;
|
||||
my $ok = 1;
|
||||
for my $fh (@$self) {
|
||||
my $ok = 1;
|
||||
for my $fh (@$self)
|
||||
{
|
||||
print $fh @_ or $ok = 0;
|
||||
$fh->flush or $ok = 0;
|
||||
$fh->flush or $ok = 0;
|
||||
}
|
||||
return $ok;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user