mirror of
https://github.com/postgres/postgres.git
synced 2025-05-18 00:02:16 -04: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:
parent
76d5966b3b
commit
c24e9ef330
@ -818,6 +818,8 @@ make check PROVE_TESTS='t/001_test1.pl t/003_test3.pl'
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
PG_TEST_NOCLEAN=1 make -C src/bin/pg_dump check
|
PG_TEST_NOCLEAN=1 make -C src/bin/pg_dump check
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
This environment variable also prevents the test's temporary directories
|
||||||
|
from being removed.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -272,7 +272,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>.
|
||||||
@ -286,7 +286,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
|
||||||
@ -301,7 +301,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
|
||||||
|
@ -31,8 +31,9 @@ some lesser number of seconds.
|
|||||||
|
|
||||||
Data directories will also be left behind for analysis when a test fails;
|
Data directories will also be left behind for analysis when a test fails;
|
||||||
they are named according to the test filename. But if the environment
|
they are named according to the test filename. But if the environment
|
||||||
variable PG_TEST_NOCLEAN is set, data directories will be retained
|
variable PG_TEST_NOCLEAN is set, the data directories will be retained
|
||||||
regardless of test status.
|
regardless of test status. This environment variable also prevents the
|
||||||
|
test's temporary directories from being removed.
|
||||||
|
|
||||||
|
|
||||||
Writing tests
|
Writing tests
|
||||||
|
Loading…
x
Reference in New Issue
Block a user