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:20 +09:00
parent c75c33de5b
commit 45cfa87e9c
1 changed files with 3 additions and 2 deletions

View File

@ -184,7 +184,7 @@ sub tempdir
return File::Temp::tempdir(
$prefix . '_XXXX',
DIR => $tmp_check,
CLEANUP => 1);
CLEANUP => not defined $ENV{'PG_TEST_NOCLEAN'});
}
sub tempdir_short
@ -192,7 +192,8 @@ sub tempdir_short
# Use a separate temp dir outside the build tree for the
# Unix-domain socket, to avoid file name length issues.
return File::Temp::tempdir(CLEANUP => 1);
return File::Temp::tempdir(
CLEANUP => not defined $ENV{'PG_TEST_NOCLEAN'});
}
=pod