summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2025-10-11 16:33:55 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2025-10-11 16:33:55 -0400
commit26d1cd375f156f68e12d51ba50e39ea46ea729ff (patch)
treeef859f1f5225025d022702997ccd7b46dc53b862
parent3231fd0455220194d6f75323c83819a38fc0a382 (diff)
Restore test coverage of LZ4Stream_gets().
In commit a45c78e32 I removed the only regression test case that reaches this function, because it turns out that we only use it if reading an LZ4-compressed blobs.toc file in a directory dump, and that is a state that has to be created manually. That seems like a bad thing to not test, not so much for LZ4Stream_gets() itself as because it means the squirrely eol_flag logic in LZ4Stream_read_internal() is not tested. The reason for the change was that I thought the lz4 program did not have any way to perform compression without explicit specification of the output file name. However, it turns out that the syntax synopsis in its man page is a lie, and if you read enough of the man page you find out that with "-m" it will do what's needful. So restore the manual compression step in that test case. Noted while testing some proposed changes in pg_dump's compression logic. Author: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/3515357.1760128017@sss.pgh.pa.us Backpatch-through: 17
-rw-r--r--src/bin/pg_dump/t/002_pg_dump.pl9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bin/pg_dump/t/002_pg_dump.pl b/src/bin/pg_dump/t/002_pg_dump.pl
index dee45e4eaf6..6be6888b977 100644
--- a/src/bin/pg_dump/t/002_pg_dump.pl
+++ b/src/bin/pg_dump/t/002_pg_dump.pl
@@ -201,6 +201,15 @@ my %pgdump_runs = (
'--statistics',
'postgres',
],
+ # Give coverage for manually compressed blobs.toc files during
+ # restore.
+ compress_cmd => {
+ program => $ENV{'LZ4'},
+ args => [
+ '-z', '-f', '-m', '--rm',
+ "$tempdir/compression_lz4_dir/blobs_*.toc",
+ ],
+ },
# Verify that data files were compressed
glob_patterns => [
"$tempdir/compression_lz4_dir/toc.dat",