@@ -1205,6 +1205,28 @@ static int basicUnitTests(U32 seed, double compressibility)
12051205 if (strcmp ("No error detected" , ZSTD_getErrorName (ZSTD_error_GENERIC )) != 0 ) goto _output_error ;
12061206 DISPLAYLEVEL (3 , "OK \n" );
12071207
1208+ DISPLAYLEVEL (4 , "test%3i : testing ZSTD dictionary sizes : " , testNb ++ );
1209+ RDG_genBuffer (CNBuffer , CNBuffSize , compressibility , 0. , seed );
1210+ {
1211+ size_t const size = MIN (128 KB , CNBuffSize );
1212+ ZSTD_CCtx * const cctx = ZSTD_createCCtx ();
1213+ ZSTD_CDict * const lgCDict = ZSTD_createCDict (CNBuffer , size , 1 );
1214+ ZSTD_CDict * const smCDict = ZSTD_createCDict (CNBuffer , 1 KB , 1 );
1215+ ZSTD_frameHeader lgHeader ;
1216+ ZSTD_frameHeader smHeader ;
1217+
1218+ CHECK_Z (ZSTD_compress_usingCDict (cctx , compressedBuffer , compressedBufferSize , CNBuffer , size , lgCDict ));
1219+ CHECK_Z (ZSTD_getFrameHeader (& lgHeader , compressedBuffer , compressedBufferSize ));
1220+ CHECK_Z (ZSTD_compress_usingCDict (cctx , compressedBuffer , compressedBufferSize , CNBuffer , size , smCDict ));
1221+ CHECK_Z (ZSTD_getFrameHeader (& smHeader , compressedBuffer , compressedBufferSize ));
1222+
1223+ if (lgHeader .windowSize != smHeader .windowSize ) goto _output_error ;
1224+
1225+ ZSTD_freeCDict (smCDict );
1226+ ZSTD_freeCDict (lgCDict );
1227+ ZSTD_freeCCtx (cctx );
1228+ }
1229+
12081230_end :
12091231 free (CNBuffer );
12101232 free (compressedBuffer );
0 commit comments