doc: document the TAP test environment variables

The TAP tests can, to some degree, be controlled by a set of environment
variables. These were however only documented in a README and not in the
main documentation.  This adds documentation of these variables, as well
as changes one CPAN reference to a ulink for consistency.  While there,
also tag CPAN as an acronym as it's listed in the acronyms section.

Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/YyPd9unV14SX2bLF@paquier.xyz
This commit is contained in:
Daniel Gustafsson 2022-11-16 10:25:21 +01:00
parent 5f80cd287c
commit c4421550fb
2 changed files with 34 additions and 2 deletions

View File

@ -487,7 +487,8 @@ $ENV{CONFIG}="Debug";
As of this writing, <literal>IPC::Run</literal> is not included in the
ActiveState Perl installation, nor in the ActiveState Perl Package
Manager (PPM) library. To install, download the
<filename>IPC-Run-&lt;version&gt;.tar.gz</filename> source archive from CPAN,
<filename>IPC-Run-&lt;version&gt;.tar.gz</filename> source archive from
<acronym>CPAN</acronym>,
at <ulink url="https://metacpan.org/dist/IPC-Run"></ulink>, and
uncompress. Edit the <filename>buildenv.pl</filename> file, and add a PERL5LIB
variable to point to the <filename>lib</filename> subdirectory from the
@ -518,6 +519,11 @@ $ENV{PROVE_TESTS}='t/020*.pl t/010*.pl'
</programlisting>
</para>
<para>
Additionally, the behavior of TAP tests can be controlled by a set of
environment variables, see <xref linkend="regress-tap-vars" />.
</para>
<para>
Some of the TAP tests depend on a set of external commands that would
optionally trigger tests related to them. Each one of those variables

View File

@ -765,7 +765,9 @@ make check PROVE_TESTS='t/001_test1.pl t/003_test3.pl'
<para>
The TAP tests require the Perl module <literal>IPC::Run</literal>.
This module is available from CPAN or an operating system package.
This module is available from
<ulink url="https://metacpan.org/dist/IPC-Run">CPAN</ulink>
or an operating system package.
They also require <productname>PostgreSQL</productname> to be
configured with the option <option>--enable-tap-tests</option>.
</para>
@ -789,6 +791,30 @@ make check PROVE_TESTS='t/001_test1.pl t/003_test3.pl'
meaning that <literal>make installcheck</literal> will produce a mix of
results from temporary servers and the already-running test server.
</para>
<sect2 id="regress-tap-vars">
<title>Environment variables</title>
<para>
Data directories are named according to the test filename, and will be
retained if a test fails. If the environment variable
<varname>PG_TEST_NOCLEAN</varname> is set, data directories will be
retained regardless of test status. For example, retaining the data
directory regardless of test results when running the
<application>pg_dump</application> tests:
<programlisting>
PG_TEST_NOCLEAN=1 make -C src/bin/pg_dump check
</programlisting>
</para>
<para>
Many operations in the test suites use a 180-second timeout, which on slow
hosts may lead to load-induced timeouts. Setting the environment variable
<varname>PG_TEST_TIMEOUT_DEFAULT</varname> to a higher number will change
the default to avoid this.
</para>
</sect2>
</sect1>
<sect1 id="regress-coverage">