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:
parent
d20f7d5c37
commit
450bf0ba53
@ -322,7 +322,7 @@ cd $(srcdir) && TESTDIR='$(CURDIR)' PATH="$(bindir):$$PATH" PGPORT='6$(DEF_PGPOR
|
||||
endef
|
||||
|
||||
define prove_check
|
||||
rm -rf $(srcdir)/tmp_check/log
|
||||
rm -rf $(CURDIR)/tmp_check/log
|
||||
cd $(srcdir) && TESTDIR='$(CURDIR)' $(with_temp_install) PGPORT='6$(DEF_PGPORT)' top_builddir='$(CURDIR)/$(top_builddir)' $(PROVE) $(PG_PROVE_FLAGS) $(PROVE_FLAGS) t/*.pl
|
||||
endef
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user