postgres.git / summary / log / commit / refs

commit    c8987ea90cf2b02269f4cc7584b8d1a28e9376b4
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Mon Jul 03 01:06:16 2023 +0000

    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/TestLib.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index 2a354ea4ef9..7860425b543 100644 --- a/src/test/perl/TestLib.pm +++ b/src/test/perl/TestLib.pm @@ -268,7 +268,7 @@ sub all_tests_passing Securely create a temporary directory inside C<$tmp_check>, like C<mkdtemp>, 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>. Otherwise the template is C<tmp_test_XXXX>. @@ -282,7 +282,7 @@ sub tempdir return File::Temp::tempdir( $prefix . '_XXXX', DIR => $tmp_check, - CLEANUP => 1); + CLEANUP => not defined $ENV{'PG_TEST_NOCLEAN'}); } =pod @@ -297,7 +297,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 [parent: 260dbf19a5b4]