mirror of
https://github.com/postgres/postgres.git
synced 2025-06-16 06:01:02 +03:00
Make tap tests store postmaster logs and handle vpaths correctly
Given this it is possible that the buildfarm animals running these tests will be able to capture adequate logging to allow diagnosis of failures.
This commit is contained in:
@ -23,6 +23,9 @@ our @EXPORT = qw(
|
||||
program_options_handling_ok
|
||||
command_like
|
||||
issues_sql_like
|
||||
|
||||
$tmp_check
|
||||
$log_path
|
||||
);
|
||||
|
||||
use Cwd;
|
||||
@ -37,8 +40,10 @@ use Test::More;
|
||||
|
||||
# Open log file. For each test, the log file name uses the name of the
|
||||
# file launching this module, without the .pl suffix.
|
||||
my $log_path = 'tmp_check/log';
|
||||
mkdir 'tmp_check';
|
||||
our ($tmp_check, $log_path);
|
||||
$tmp_check = $ENV{TESTDIR} ? "$ENV{TESTDIR}/tmp_check" : "tmp_check";
|
||||
$log_path = "$tmp_check/log";
|
||||
mkdir $tmp_check;
|
||||
mkdir $log_path;
|
||||
my $test_logfile = basename($0);
|
||||
$test_logfile =~ s/\.[^.]+$//;
|
||||
@ -128,19 +133,19 @@ sub start_test_server
|
||||
print("### Starting test server in $tempdir\n");
|
||||
standard_initdb "$tempdir/pgdata";
|
||||
$ret = system_log('pg_ctl', '-D', "$tempdir/pgdata", '-w', '-l',
|
||||
"$tempdir/logfile", '-o',
|
||||
"$log_path/postmaster.log", '-o',
|
||||
"--fsync=off -k \"$tempdir_short\" --listen-addresses='' --log-statement=all",
|
||||
'start');
|
||||
if ($ret != 0)
|
||||
{
|
||||
print "# pg_ctl failed; logfile:\n";
|
||||
system('cat', "$tempdir/logfile");
|
||||
system('cat', "$log_path/postmaster.log");
|
||||
BAIL_OUT("pg_ctl failed");
|
||||
}
|
||||
|
||||
$ENV{PGHOST} = $tempdir_short;
|
||||
$test_server_datadir = "$tempdir/pgdata";
|
||||
$test_server_logfile = "$tempdir/logfile";
|
||||
$test_server_logfile = "$log_path/postmaster.log";
|
||||
}
|
||||
|
||||
sub restart_test_server
|
||||
|
Reference in New Issue
Block a user