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
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/67d318e70402b0eb450c7e20c0378b88e5a6df1d
Modified Files
--------------
src/test/regress/expected/compression_pglz.out | 65 +++++++++++++++++++++++++
src/test/regress/parallel_schedule | 7 ++-
src/test/regress/regress.c | 66 ++++++++++++++++++++++++++
src/test/regress/sql/compression_pglz.sql | 53 +++++++++++++++++++++
4 files changed, 190 insertions(+), 1 deletion(-)