pgsql: Add TAP tests for ZLIB compression for pg_receivewal - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Add TAP tests for ZLIB compression for pg_receivewal
Date
Msg-id E1m3vH2-0003KH-7M@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Add TAP tests for ZLIB compression for pg_receivewal

There is a non-trivial amount of code that handles ZLIB compression in
pg_receivewal, from basics like the format name, the calculation of the
start streaming position and of course the compression itself, but there
was no automated coverage for it.

This commit introduces a set of conditional tests (if the build supports
ZLIB) to cover the creation of ZLIB-compressed WAL segments, the
handling of the partial, compressed, WAL segments and the compression
operation in itself.  Note that there is an extra phase checking the
validity of the generated files by using directly a gzip command, passed
down by the Makefile of pg_receivewal.  This part is skipped if the
command cannot be found, something likely going to happen on Windows
with MSVC except if one sets the variable GZIP_PROGRAM in the
environment of the test.

This set of tests will become handy for upcoming patches that add more
options for the compression methods used by pg_receivewal, like LZ4, to
make sure that no existing facilities are broken.

Author: Georgios Kokolatos
Reviewed-by: Gilles Darold, Michael Paquier
Discussion:
https://postgr.es/m/07BK3Mk5aEOsTwGaY77qBVyf9GjoEzn8TMgHLyPGfEFPIpTEmoQuP2P4c7teesjSg-LPeUafsp1flnPeQYINMSMB_UpggJDoduB5EDYBqaQ=@protonmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/ffc9ddaea33f6dfd3dfa95828a0970fbb617bf8a

Modified Files
--------------
src/bin/pg_basebackup/Makefile               |  6 ++-
src/bin/pg_basebackup/t/020_pg_receivewal.pl | 79 +++++++++++++++++++++++++++-
2 files changed, 82 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Remove unnecessary assertion in postmaster.c
Next
From: Dean Rasheed
Date:
Subject: pgsql: Improve reporting of "conflicting or redundant options" errors.