From c24e9ef330ac7da1d1628d21b2d5defb0ec03c54 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Mon, 3 Jul 2023 10:06:13 +0900 Subject: 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 --- src/test/perl/PostgreSQL/Test/Utils.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/test/perl/PostgreSQL/Test/Utils.pm') diff --git a/src/test/perl/PostgreSQL/Test/Utils.pm b/src/test/perl/PostgreSQL/Test/Utils.pm index a27fac83d26..220cab303c7 100644 --- a/src/test/perl/PostgreSQL/Test/Utils.pm +++ b/src/test/perl/PostgreSQL/Test/Utils.pm @@ -272,7 +272,7 @@ sub all_tests_passing Securely create a temporary directory inside C<$tmp_check>, like C, 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 is given, the new directory is templated as C<${prefix}_XXXX>. Otherwise the template is C. @@ -286,7 +286,7 @@ sub tempdir return File::Temp::tempdir( $prefix . '_XXXX', DIR => $tmp_check, - CLEANUP => 1); + CLEANUP => not defined $ENV{'PG_TEST_NOCLEAN'}); } =pod @@ -301,7 +301,8 @@ name, to avoid path length issues. sub tempdir_short { - return File::Temp::tempdir(CLEANUP => 1); + return File::Temp::tempdir( + CLEANUP => not defined $ENV{'PG_TEST_NOCLEAN'}); } =pod -- cgit v1.2.3