Frank Denis | 50bc3a7 | 2016-12-09 08:58:13 +0100 | [diff] [blame] | 1 | #!/usr/bin/env bash |
Zoltan Szabadka | e173982 | 2014-10-30 13:59:37 +0100 | [diff] [blame] | 2 | # |
| 3 | # Roundtrip test for the brotli command-line tool. |
Stephen Kyle | 67f059e | 2018-09-27 10:00:33 +0100 | [diff] [blame] | 4 | # |
| 5 | # The first argument may be a wrapper for brotli, such as 'qemu-arm'. |
Zoltan Szabadka | e173982 | 2014-10-30 13:59:37 +0100 | [diff] [blame] | 6 | |
| 7 | set -o errexit |
| 8 | |
Stephen Kyle | 67f059e | 2018-09-27 10:00:33 +0100 | [diff] [blame] | 9 | BROTLI_WRAPPER=$1 |
| 10 | BROTLI="${BROTLI_WRAPPER} bin/brotli" |
Evgenii Kliuchnikov | 52ff817 | 2016-06-24 15:32:51 +0200 | [diff] [blame] | 11 | TMP_DIR=bin/tmp |
Zoltan Szabadka | e173982 | 2014-10-30 13:59:37 +0100 | [diff] [blame] | 12 | INPUTS=""" |
Evgenii Kliuchnikov | 52ff817 | 2016-06-24 15:32:51 +0200 | [diff] [blame] | 13 | tests/testdata/alice29.txt |
| 14 | tests/testdata/asyoulik.txt |
| 15 | tests/testdata/lcet10.txt |
| 16 | tests/testdata/plrabn12.txt |
Eugene Kliuchnikov | 6ece1d8 | 2017-04-23 14:07:08 +0200 | [diff] [blame] | 17 | c/enc/encode.c |
| 18 | c/common/dictionary.h |
| 19 | c/dec/decode.c |
Zoltan Szabadka | e173982 | 2014-10-30 13:59:37 +0100 | [diff] [blame] | 20 | """ |
| 21 | |
| 22 | for file in $INPUTS; do |
Eugene Kliuchnikov | d052918 | 2020-08-26 17:13:31 +0200 | [diff] [blame] | 23 | if [ -f $file ]; then |
| 24 | for quality in 1 6 9 11; do |
| 25 | echo "Roundtrip testing $file at quality $quality" |
| 26 | compressed=${TMP_DIR}/${file##*/}.br |
| 27 | uncompressed=${TMP_DIR}/${file##*/}.unbr |
| 28 | $BROTLI -fq $quality $file -o $compressed |
| 29 | $BROTLI $compressed -fdo $uncompressed |
| 30 | diff -q $file $uncompressed |
| 31 | # Test the streaming version |
| 32 | cat $file | $BROTLI -cq $quality | $BROTLI -cd >$uncompressed |
| 33 | diff -q $file $uncompressed |
| 34 | done |
| 35 | fi |
Zoltan Szabadka | e173982 | 2014-10-30 13:59:37 +0100 | [diff] [blame] | 36 | done |