pgsql: Add tests for low-level PGLZ [de]compression routines - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Add tests for low-level PGLZ [de]compression routines
Date
Msg-id E1wCk7t-000z5T-0W@gemulon.postgresql.org
Whole thread
List pgsql-committers
Add tests for low-level PGLZ [de]compression routines

The goal of this module is to provide an entry point for the coverage of
the low-level compression and decompression PGLZ routines.  The new test
is moved to a new parallel group, with all the existing
compression-related tests added to it.

This includes tests for the cases detected by fuzzing that emulate
corrupted compressed data, as fixed by 2b5ba2a0a141:
- Set control bit with read of a match tag, where no data follows.
- Set control bit with read of a match tag, where 1 byte follows.
- Set control bit with match tag where length nibble is 3 bytes
(extended case).

While on it, some tests are added for compress/decompress roundtrips,
and for check_complete=false/true.  Like 2b5ba2a0a141, backpatch to all
the stable branches.

Discussion: https://postgr.es/m/adw647wuGjh1oU6p@paquier.xyz
Backpatch-through: 14

Branch
------
REL_14_STABLE

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

Modified Files
--------------
src/test/regress/expected/.gitignore            |  1 +
src/test/regress/input/compression_pglz.source  | 47 ++++++++++++++++++
src/test/regress/output/compression_pglz.source | 61 +++++++++++++++++++++++
src/test/regress/parallel_schedule              |  7 ++-
src/test/regress/regress.c                      | 66 +++++++++++++++++++++++++
src/test/regress/sql/.gitignore                 |  1 +
6 files changed, 182 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Aleksander Alekseev
Date:
Subject: Re: pgsql: Separate out bytea sort support from varlena.c
Next
From: Jeff Davis
Date:
Subject: pgsql: Check for unterminated strings when calling uloc_getLanguage().