Thread: pgsql: Improve logging of TAP tests.

pgsql: Improve logging of TAP tests.

From
Andrew Dunstan
Date:
Improve logging of TAP tests.

Create a log file for each test run. Stdout and stderr of the test script,
as well as any subprocesses run as part of the test, are redirected to
the log file. This makes it a lot easier to debug test failures. Also print
the test output (ok 12 - ... messages) to the log file, and the command
line of any external programs executed with the system_or_bail and run_log
functions. This makes it a lot easier to debug failing tests.

Modify some of the pg_ctl and other command invocations to not use 'silent'
or 'quiet' options, and don't redirect output to /dev/null, so that you get
all the information in the log instead.

In the passing, construct some command lines in a way that works if $tempdir
contains quote-characters. I haven't systematically gone through all of
them or tested that, so I don't know if this is enough to make that work.

pg_rewind tests had a custom mechanism for creating a similar log file. Use
the new generic facility instead.

Michael Paquier and Heikki Linnakangas.

This os a backpatch of Heikki's commit
1ea06203b82b98b5098808667f6ba652181ef5b2 modified by me to suit 9.4

Branch
------
REL9_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/ef57b982d5207b29969080a39160bbcb6614e8c3

Modified Files
--------------
src/Makefile.global.in                         |    5 +-
src/bin/pg_basebackup/t/010_pg_basebackup.pl   |    2 +-
src/bin/pg_controldata/t/001_pg_controldata.pl |    2 +-
src/bin/pg_ctl/t/001_start_stop.pl             |    2 +-
src/bin/pg_ctl/t/002_status.pl                 |    4 +-
src/test/perl/SimpleTee.pm                     |   27 +++++++
src/test/perl/TestLib.pm                       |   96 +++++++++++++++++++-----
7 files changed, 111 insertions(+), 27 deletions(-)