Various tests, particularly the client program tests
    under src/bin, use the Perl TAP tools and are run
    using the Perl testing program prove.  You can pass
    command-line options to prove by setting
    the make variable PROVE_FLAGS, for example:
make -C src/bin check PROVE_FLAGS='--timer'
    See the manual page of prove for more information.
   
    The make variable PROVE_TESTS
    can be used to define a whitespace-separated list of paths relative
    to the Makefile invoking prove
    to run the specified subset of tests instead of the default
    t/*.pl.  For example:
make check PROVE_TESTS='t/001_test1.pl t/003_test3.pl'
    The TAP tests require the Perl module IPC::Run.
    This module is available from CPAN or an operating system package.
    They also require PostgreSQL to be
    configured with the option --enable-tap-tests.
   
    Generically speaking, the TAP tests will test the executables in a
    previously-installed installation tree if you say make
    installcheck, or will build a new local installation tree from
    current sources if you say make check.  In either
    case they will initialize a local instance (data directory) and
    transiently run a server in it.  Some of these tests run more than one
    server.  Thus, these tests can be fairly resource-intensive.
   
    It's important to realize that the TAP tests will start test server(s)
    even when you say make installcheck; this is unlike
    the traditional non-TAP testing infrastructure, which expects to use an
    already-running test server in that case.  Some PostgreSQL
    subdirectories contain both traditional-style and TAP-style tests,
    meaning that make installcheck will produce a mix of
    results from temporary servers and the already-running test server.