diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm index cb84f1f..556a506 100644 --- a/src/test/perl/PostgresNode.pm +++ b/src/test/perl/PostgresNode.pm @@ -139,7 +139,7 @@ sub new my $self = { _port => $pgport, _host => $pghost, - _basedir => TestLib::tempdir("data_" . $name), + _basedir => TestLib::tempdir($testname . '_data_' . $name), _name => $name, _logfile => "$TestLib::log_path/${testname}_${name}.log" }; diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index da65c92..60819c7 100644 --- a/src/test/perl/TestLib.pm +++ b/src/test/perl/TestLib.pm @@ -115,8 +115,10 @@ INIT END { - # Preserve temporary directory for this test on failure - $File::Temp::KEEP_ALL = 1 unless all_tests_passing(); + # Preserve temporary directory for this test on failure, or in case the + # user requested to retain the directories by defining KEEP_TMPCHECK + $File::Temp::KEEP_ALL = 1 + unless all_tests_passing() && !defined $ENV{'KEEP_TMPCHECK'}; } sub all_tests_passing