From: Yann Collet Date: Wed, 16 Oct 2024 19:55:52 +0000 (-0700) Subject: fix test X-Git-Tag: v1.5.7^2~73^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=61d08b0e42e7397af479ca9d1b66fe7235508f34;p=thirdparty%2Fzstd.git fix test a margin of 4 is insufficient to guarantee compression success. --- diff --git a/tests/zstreamtest.c b/tests/zstreamtest.c index 8625b4a23..2c25adf3c 100644 --- a/tests/zstreamtest.c +++ b/tests/zstreamtest.c @@ -758,7 +758,7 @@ static int basicUnitTests(U32 seed, double compressibility, int bigTests) } streaming2KSize = ZSTD_sizeof_DCtx(dctx); CHECK_Z(streaming2KSize); - + CHECK_Z(ZSTD_DCtx_reset(dctx, ZSTD_reset_session_and_parameters)); inBuff.pos = 0; outBuff.pos = 0; @@ -769,7 +769,7 @@ static int basicUnitTests(U32 seed, double compressibility, int bigTests) } streamingSize = ZSTD_sizeof_DCtx(dctx); CHECK_Z(streamingSize); - + CHECK_Z(ZSTD_DCtx_setParameter(dctx, ZSTD_d_maxBlockSize, 1024)); inBuff.pos = 0; outBuff.pos = 0; @@ -884,7 +884,8 @@ static int basicUnitTests(U32 seed, double compressibility, int bigTests) DISPLAYLEVEL(3, "test%3i : ZSTD_compress2() uses stable input and output : ", testNb++); CHECK_Z(cSize = ZSTD_compress2(cctx, compressedBuffer, compressedBufferSize, CNBuffer, CNBufferSize)); CHECK(!(cSize < ZSTD_compressBound(CNBufferSize)), "cSize too large for test"); - CHECK_Z(cSize = ZSTD_compress2(cctx, compressedBuffer, cSize + 4, CNBuffer, CNBufferSize)); + /* check that compression fits with just a 8-bytes margin */ + CHECK_Z(cSize = ZSTD_compress2(cctx, compressedBuffer, cSize+8, CNBuffer, CNBufferSize)); CHECK_Z(cctxSize1 = ZSTD_sizeof_CCtx(cctx)); /* @cctxSize2 : sizeof_CCtx when doing full streaming (no stable in/out) */ { ZSTD_CCtx* const cctx2 = ZSTD_createCCtx(); @@ -2503,7 +2504,7 @@ static int basicUnitTests(U32 seed, double compressibility, int bigTests) // Validate CHECK(outBuf.pos != srcSize, "decompressed size must match"); CHECK(memcmp(src, val, srcSize) != 0, "decompressed data must match"); - + // Cleanup free(src); free(dst); free(val); ZSTD_freeCCtx(cctx);