Doc: improve README files associated with TAP tests.

Rearrange src/test/perl/README so that the first section is more
clearly "how to run these tests", and the rest "how to write new
tests".  Add some basic info there about debugging test failures.
Then, add cross-refs to that READNE from other READMEs that
describe how to run TAP tests.

Per suggestion from Kevin Burke, though this is not his original
patch.

Discussion: https://postgr.es/m/CAKcy5eiSbwiQnmCfnOnDCVC7B8fYyev3E=6pvvECP9pLE-Fcuw@mail.gmail.com
This commit is contained in:
Tom Lane 2021-10-31 18:12:44 -04:00
parent 6301c3adab
commit b21415595c
8 changed files with 35 additions and 12 deletions

View File

@ -17,3 +17,5 @@ You can use "make installcheck" if you previously did "make install".
In that case, the code in the installation tree is tested. With
"make check", a temporary installation tree is built from the current
sources and then tested.
See src/test/perl/README for more info about running these tests.

View File

@ -24,3 +24,5 @@ sources and then tested.
Either way, this test initializes, starts, and stops a test Postgres
cluster.
See src/test/perl/README for more info about running these tests.

View File

@ -32,6 +32,8 @@ sources and then tested.
Either way, this test initializes, starts, and stops a test Postgres
cluster, as well as a test KDC server.
See src/test/perl/README for more info about running these tests.
Requirements
============

View File

@ -31,6 +31,8 @@ sources and then tested.
Either way, this test initializes, starts, and stops a test Postgres
cluster, as well as a test LDAP server.
See src/test/perl/README for more info about running these tests.
Requirements
============

View File

@ -12,6 +12,21 @@ $(prove_installcheck) targets in Makefile.global. By default every test in the
t/ subdirectory is run. Individual test(s) can be run instead by passing
something like PROVE_TESTS="t/001_testname.pl t/002_othertestname.pl" to make.
By default, to keep the noise low during runs, we do not set any flags via
PROVE_FLAGS, but this can be done on the 'make' command line if desired, eg:
make check-world PROVE_FLAGS='--verbose'
When a test fails, the terminal output from 'prove' is usually not sufficient
to diagnose the problem. Look into the log files that are left under
tmp_check/log/ to get more info. Files named 'regress_log_XXX' are log
output from the perl test scripts themselves, and should be examined first.
Other files are postmaster logs, and may be helpful as additional data.
Writing tests
-------------
You should prefer to write tests using pg_regress in src/test/regress, or
isolation tester specs in src/test/isolation, if possible. If not, check to
see if your new tests make sense under an existing tree in src/test, like
@ -20,14 +35,6 @@ src/test/ssl, or should be added to one of the suites for an existing utility.
Note that all tests and test tools should have perltidy run on them before
patches are submitted, using perltidy --profile=src/tools/pgindent/perltidyrc
By default, to keep the noise low during runs, we do not set any flags via
PROVE_FLAGS, but this can be done on the 'make' command line if desired, eg:
make check-world PROVE_FLAGS='--verbose'
Writing tests
-------------
Tests are written using Perl's Test::More with some PostgreSQL-specific
infrastructure from src/test/perl providing node management, support for
invoking 'psql' to run queries and get results, etc. You should read the

View File

@ -23,3 +23,5 @@ sources and then tested.
Either way, this test initializes, starts, and stops several test Postgres
clusters.
See src/test/perl/README for more info about running these tests.

View File

@ -29,6 +29,8 @@ sources and then tested.
Either way, this test initializes, starts, and stops a test Postgres
cluster that is accessible to other local users!
See src/test/perl/README for more info about running these tests.
Certificates
============

View File

@ -9,15 +9,19 @@ Running the tests
=================
NOTE: You must have given the --enable-tap-tests argument to configure.
Also, to use "make installcheck", you must have built and installed
contrib/hstore in addition to the core code.
Run
make check
or
make installcheck
You can use "make installcheck" if you previously did "make install"
(including installing the hstore extension). In that case, the code
in the installation tree is tested. With "make check", a temporary
installation tree is built from the current sources and then tested.
You can use "make installcheck" if you previously did "make install".
In that case, the code in the installation tree is tested. With
"make check", a temporary installation tree is built from the current
sources and then tested.
Either way, this test initializes, starts, and stops several test Postgres
clusters.
See src/test/perl/README for more info about running these tests.