diff --git a/tests/playTests.sh b/tests/playTests.sh index c516aa71..b7407676 100755 --- a/tests/playTests.sh +++ b/tests/playTests.sh @@ -408,6 +408,23 @@ println "compress multiple files including a missing one (notHere) : " $ZSTD -f tmp1 notHere tmp2 && die "missing file not detected!" +println "\n===> stream-size mode" + +./datagen -g11000 > tmp +println "test : basic file compression vs sized streaming compression" +file_size=$($ZSTD -14 -f tmp -o tmp.zst && wc -c < tmp.zst) +stream_size=$(cat tmp | $ZSTD -14 --stream-size=11000 | wc -c) +if [ "$stream_size" -gt "$file_size" ]; then + die "hinted compression larger than expected" +fi +println "test : sized streaming compression and decompression" +cat tmp | $ZSTD -14 -f tmp -o --stream-size=11000 tmp.zst +$ZSTD -df tmp.zst -o tmp_decompress +cmp tmp tmp_decompress || die "difference between original and decompressed file" +println "test : incorrect stream size" +cat tmp | $ZSTD -14 -f -o tmp.zst --stream-size=11001 && die "should fail with incorrect stream size" + + println "\n===> dictionary tests " println "- test with raw dict (content only) " @@ -1019,28 +1036,4 @@ test -f dictionary rm -f tmp* dictionary -println "\n===> stream-size mode" - -./datagen -g11000 > tmp -println "test : basic file compression vs sized streaming compression" -$ZSTD -14 -f tmp -o tmp.zst 2>&1 | tee file.out -cat tmp | $ZSTD -14 -f -o tmp.zst --stream-size=11000 2>&1 | tee stream_sized.out - -file_ratio=$(cat file.out | awk '{print $4}' | sed 's/%//g') -stream_sized_ratio=$(cat stream_sized.out | awk '{print $4}' | sed 's/%//g') -rm file.out stream_sized.out - -ratio_diff=$(echo $file_ratio - $stream_sized_ratio | bc) -if [ $(echo "(100 * $ratio_diff) > 5" | bc -l) == 1 ] -then - die "greater than 0.05% difference between file and sized-streaming compression" -fi -println "test : sized streaming compression and decompression" -cat tmp | $ZSTD -14 -f tmp -o --stream-size=11000 tmp.zst -$ZSTD -df tmp.zst -o tmp_decompress -cmp tmp tmp_decompress || die "difference between original and decompressed file" -println "test : incorrect stream size" -cat tmp | $ZSTD -14 -f -o tmp.zst --stream-size=11001 && die "should fail with incorrect stream size" - - rm -f tmp*