mirror of
				https://github.com/facebook/zstd.git
				synced 2025-10-31 16:47:48 +02:00 
			
		
		
		
	Add test for cdict window log adjustment
This commit is contained in:
		| @@ -1206,6 +1206,28 @@ static int basicUnitTests(U32 seed, double compressibility) | ||||
|     if (strcmp("No error detected", ZSTD_getErrorName(ZSTD_error_GENERIC)) != 0) goto _output_error; | ||||
|     DISPLAYLEVEL(4, "OK \n"); | ||||
|  | ||||
|     DISPLAYLEVEL(4, "test%3i : testing ZSTD dictionary sizes : ", testNb++); | ||||
|     RDG_genBuffer(CNBuffer, CNBuffSize, compressibility, 0., seed); | ||||
|     { | ||||
|         size_t const size = MIN(128 KB, CNBuffSize); | ||||
|         ZSTD_CCtx* const cctx = ZSTD_createCCtx(); | ||||
|         ZSTD_CDict* const lgCDict = ZSTD_createCDict(CNBuffer, size, 1); | ||||
|         ZSTD_CDict* const smCDict = ZSTD_createCDict(CNBuffer, 1 KB, 1); | ||||
|         ZSTD_frameHeader lgHeader; | ||||
|         ZSTD_frameHeader smHeader; | ||||
|  | ||||
|         CHECK_Z(ZSTD_compress_usingCDict(cctx, compressedBuffer, compressedBufferSize, CNBuffer, size, lgCDict)); | ||||
|         CHECK_Z(ZSTD_getFrameHeader(&lgHeader, compressedBuffer, compressedBufferSize)); | ||||
|         CHECK_Z(ZSTD_compress_usingCDict(cctx, compressedBuffer, compressedBufferSize, CNBuffer, size, smCDict)); | ||||
|         CHECK_Z(ZSTD_getFrameHeader(&smHeader, compressedBuffer, compressedBufferSize)); | ||||
|  | ||||
|         if (lgHeader.windowSize != smHeader.windowSize) goto _output_error; | ||||
|  | ||||
|         ZSTD_freeCDict(smCDict); | ||||
|         ZSTD_freeCDict(lgCDict); | ||||
|         ZSTD_freeCCtx(cctx); | ||||
|     } | ||||
|  | ||||
| _end: | ||||
|     free(CNBuffer); | ||||
|     free(compressedBuffer); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user