Skip to content

Commit 4b7c4e5

Browse files
committed
Add test for cdict window log adjustment
1 parent b610b77 commit 4b7c4e5

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

tests/fuzzer.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,6 +1206,28 @@ static int basicUnitTests(U32 seed, double compressibility)
12061206
if (strcmp("No error detected", ZSTD_getErrorName(ZSTD_error_GENERIC)) != 0) goto _output_error;
12071207
DISPLAYLEVEL(4, "OK \n");
12081208

1209+
DISPLAYLEVEL(4, "test%3i : testing ZSTD dictionary sizes : ", testNb++);
1210+
RDG_genBuffer(CNBuffer, CNBuffSize, compressibility, 0., seed);
1211+
{
1212+
size_t const size = MIN(128 KB, CNBuffSize);
1213+
ZSTD_CCtx* const cctx = ZSTD_createCCtx();
1214+
ZSTD_CDict* const lgCDict = ZSTD_createCDict(CNBuffer, size, 1);
1215+
ZSTD_CDict* const smCDict = ZSTD_createCDict(CNBuffer, 1 KB, 1);
1216+
ZSTD_frameHeader lgHeader;
1217+
ZSTD_frameHeader smHeader;
1218+
1219+
CHECK_Z(ZSTD_compress_usingCDict(cctx, compressedBuffer, compressedBufferSize, CNBuffer, size, lgCDict));
1220+
CHECK_Z(ZSTD_getFrameHeader(&lgHeader, compressedBuffer, compressedBufferSize));
1221+
CHECK_Z(ZSTD_compress_usingCDict(cctx, compressedBuffer, compressedBufferSize, CNBuffer, size, smCDict));
1222+
CHECK_Z(ZSTD_getFrameHeader(&smHeader, compressedBuffer, compressedBufferSize));
1223+
1224+
if (lgHeader.windowSize != smHeader.windowSize) goto _output_error;
1225+
1226+
ZSTD_freeCDict(smCDict);
1227+
ZSTD_freeCDict(lgCDict);
1228+
ZSTD_freeCCtx(cctx);
1229+
}
1230+
12091231
_end:
12101232
free(CNBuffer);
12111233
free(compressedBuffer);

0 commit comments

Comments
 (0)