@@ -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