mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-17 02:53:51 +08:00
This patch introduces the make target 'perltidy' to format Perl files with perltidy. In addition, calling perltidy is added to 'make format'.
79 lines
2.2 KiB
Perl
79 lines
2.2 KiB
Perl
# This file and its contents are licensed under the Timescale License.
|
|
# Please see the included NOTICE for copyright information and
|
|
# LICENSE-TIMESCALE for a copy of the license.
|
|
|
|
# This class extends PostgresNode with Timescale-specific
|
|
# routines for setup.
|
|
|
|
package TimescaleNode;
|
|
|
|
# Using linebreaks here to prevent perltidy from performing vertical alignment.
|
|
# This functionality has changed in recent perltidy versions (e.g., 2021 10 29)
|
|
# and would restrict the versions of perltidy that can be used to format the
|
|
# sources.
|
|
|
|
use if $ENV{PG_VERSION_MAJOR} >= 15, 'parent', qw(PostgreSQL::Test::Cluster);
|
|
|
|
use if $ENV{PG_VERSION_MAJOR} < 15, 'parent', qw(PostgresNode);
|
|
|
|
use
|
|
if $ENV{PG_VERSION_MAJOR} >= 15, 'PostgreSQL::Test::Utils', qw(slurp_file);
|
|
|
|
use if $ENV{PG_VERSION_MAJOR} < 15, 'TestLib', qw(slurp_file);
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Carp 'verbose';
|
|
$SIG{__DIE__} = \&Carp::confess;
|
|
|
|
sub create
|
|
{
|
|
my ($class, $name, %kwargs) = @_;
|
|
my $self =
|
|
($ENV{PG_VERSION_MAJOR} >= 15)
|
|
? $class->new($name)
|
|
: $class->get_new_node($name);
|
|
$self->init(%kwargs);
|
|
$self->start(%kwargs);
|
|
$self->safe_psql('postgres', 'CREATE EXTENSION timescaledb');
|
|
return $self;
|
|
}
|
|
|
|
# initialize the data directory and add TS specific parameters
|
|
sub init
|
|
{
|
|
my ($self, %kwargs) = @_;
|
|
|
|
$self->SUPER::init(%kwargs);
|
|
# append into postgresql.conf from Timescale
|
|
# template config file
|
|
$self->append_conf('postgresql.conf',
|
|
slurp_file("$ENV{'CONFDIR'}/postgresql.conf"));
|
|
$self->append_conf('postgresql.conf', 'datestyle=ISO');
|
|
}
|
|
|
|
# helper function to check output from PSQL for a query
|
|
sub psql_is
|
|
{
|
|
my ($self, $db, $query, $expected_stdout, $testname) = @_;
|
|
my ($psql_rc, $psql_out, $psql_err) = $self->SUPER::psql($db, $query);
|
|
if (($ENV{PG_VERSION_MAJOR} >= 15))
|
|
{
|
|
PostgreSQL::Test::Cluster::ok(!$psql_rc, "$testname: err_code check");
|
|
PostgreSQL::Test::Cluster::is($psql_err, '',
|
|
"$testname: error_msg check");
|
|
PostgreSQL::Test::Cluster::is($psql_out, $expected_stdout,
|
|
"$testname: psql output check");
|
|
}
|
|
else
|
|
{
|
|
PostgresNode::ok(!$psql_rc, "$testname: err_code check");
|
|
PostgresNode::is($psql_err, '', "$testname: error_msg check");
|
|
PostgresNode::is($psql_out, $expected_stdout,
|
|
"$testname: psql output check");
|
|
}
|
|
}
|
|
|
|
1;
|