1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-29 13:56:47 +03:00

Make PG_TEST_NOCLEAN work for temporary directories in TAP tests

When set, this environment variable was only effective for data
directories but not for all the other temporary files created by
PostgreSQL::Test::Utils.  Keeping the temporary files after a successful
run can be useful for debugging purposes.

The documentation is updated to reflect the new behavior, with contents
available in doc/ since v16 and in src/test/perl/README since v15.

Author: Jacob Champion
Reviewed-by: Daniel Gustafsson
Discussion: https://postgr.es/m/CAAWbhmgHtDH1SGZ+Fw05CsXtE0mzTmjbuUxLB9mY9iPKgM6cUw@mail.gmail.com
Discussion: https://postgr.es/m/YyPd9unV14SX2bLF@paquier.xyz
Backpatch-through: 11
This commit is contained in:
Michael Paquier 2023-07-03 10:06:18 +09:00
parent 984c23f6f5
commit b102e80ab8

View File

@ -252,7 +252,7 @@ sub all_tests_passing
Securely create a temporary directory inside C<$tmp_check>, like C<mkdtemp>, Securely create a temporary directory inside C<$tmp_check>, like C<mkdtemp>,
and return its name. The directory will be removed automatically at the and return its name. The directory will be removed automatically at the
end of the tests. end of the tests, unless the environment variable PG_TEST_NOCLEAN is provided.
If C<prefix> is given, the new directory is templated as C<${prefix}_XXXX>. If C<prefix> is given, the new directory is templated as C<${prefix}_XXXX>.
Otherwise the template is C<tmp_test_XXXX>. Otherwise the template is C<tmp_test_XXXX>.
@ -266,7 +266,7 @@ sub tempdir
return File::Temp::tempdir( return File::Temp::tempdir(
$prefix . '_XXXX', $prefix . '_XXXX',
DIR => $tmp_check, DIR => $tmp_check,
CLEANUP => 1); CLEANUP => not defined $ENV{'PG_TEST_NOCLEAN'});
} }
=pod =pod
@ -281,7 +281,8 @@ name, to avoid path length issues.
sub tempdir_short sub tempdir_short
{ {
return File::Temp::tempdir(CLEANUP => 1); return File::Temp::tempdir(
CLEANUP => not defined $ENV{'PG_TEST_NOCLEAN'});
} }
=pod =pod