diff --git a/src/Makefile.global.in b/src/Makefile.global.in index e2f7211160..e87885bb2b 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -338,7 +338,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 diff --git a/src/bin/pg_rewind/RewindTest.pm b/src/bin/pg_rewind/RewindTest.pm index db5e90b3c0..755ecb7438 100644 --- a/src/bin/pg_rewind/RewindTest.pm +++ b/src/bin/pg_rewind/RewindTest.pm @@ -72,9 +72,6 @@ our $test_standby_datadir = "$testroot/data_standby"; mkdir $testroot; -# Log files are created here -mkdir "regress_log"; - # Define non-conflicting ports for both nodes. my $port_master = $ENV{PGPORT}; my $port_standby = $port_master + 1; @@ -202,6 +199,7 @@ local replication all trust system_or_bail('pg_ctl' , '-w', '-D' , $test_master_datadir, + '-l', "$log_path/master.log", "-o", "-k $tempdir_short --listen-addresses='' -p $port_master", 'start'); @@ -228,6 +226,7 @@ recovery_target_timeline='latest' # Start standby system_or_bail('pg_ctl', '-w', '-D', $test_standby_datadir, + '-l', "$log_path/standby.log", '-o', "-k $tempdir_short --listen-addresses='' -p $port_standby", 'start'); @@ -323,6 +322,7 @@ recovery_target_timeline='latest' # Restart the master to check that rewind went correctly system_or_bail('pg_ctl', '-w', '-D', $test_master_datadir, + '-l', "$log_path/master.log", '-o', "-k $tempdir_short --listen-addresses='' -p $port_master", 'start'); diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index 0193d575ff..5ef95f0246 100644 --- a/src/test/perl/TestLib.pm +++ b/src/test/perl/TestLib.pm @@ -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/\.[^.]+$//; @@ -132,19 +137,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