diff options
| author | root <root@dc13.lemmi> | 2020-07-21 10:00:46 +0200 |
|---|---|---|
| committer | root <root@dc13.lemmi> | 2020-07-21 10:00:46 +0200 |
| commit | 1192c4575ea7afdf38e3fa0df4587a08620af11e (patch) | |
| tree | 6910a62487c282d0840d2e668aa7eb40b7c8a3fd /project/scripts/test-wszst.sh | |
| parent | 76de8a89f7c1d1b4522eb66e8f89d248e8c1781f (diff) | |
SZS v2.18a
Diffstat (limited to '')
| -rwxr-xr-x | project/scripts/test-wszst.sh | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/project/scripts/test-wszst.sh b/project/scripts/test-wszst.sh new file mode 100755 index 0000000..ca4a22e --- /dev/null +++ b/project/scripts/test-wszst.sh @@ -0,0 +1,99 @@ +#!/usr/bin/env bash +# (c) Wiimm, 2012-11-11 + +export LC_ALL=POSIX + +SZS=wszst +[[ -x ./wszst ]] && SZS=./wszst +SZS0="$SZS -q" +SZS="$SZS0" +echo "SZS=$SZS" + +BMG=wbmgt +[[ -x ./wbmgt ]] && BMG=./wbmgt +BMG0="$BMG -q" +BMG="$BMG0" +echo "BMG=$BMG" + +if [[ $1 = -i || $1 = --ignore ]] +then + DIFF="diff -q -x wszst-setup.txt -x .string-pool.* -x .*.d" + echo "DIFF=$DIFF" + printf "\n!!! WARNING: '.string-pool.*' excluded !!!\n\n" + shift +else + DIFF="diff -q -x wszst-setup.txt" + echo "DIFF=$DIFF" +fi + +function error() +{ + echo "!! Test failed: $*" >&2 + exit 1 +} + +let count=0 +for src in "$@" +do + if [[ $src = -n || $src = --new ]] + then + echo ">> enabled: --NEW" + SZS="$SZS0 --NEW" + BMG="$BMG0 --NEW" + continue + fi + + if [[ $src = -o || $src = --old ]] + then + echo ">> enabled: --OLD" + SZS="$SZS0 --OLD" + BMG="$BMG0 --OLD" + continue + fi + + let count++ + printf "%5u. %s\n" $count "$src" + temp="$(mktemp -ut test-wszst-XXXXXXXX).tmp" || exit 1 + #echo "TEMP=$temp" + + $SZS decom "$src" -D "$temp/11.u8" || error 11 decompress + $SZS compr "$temp/11.u8" -D "$temp/12.szs" || error 12 compress + $SZS decom "$temp/12.szs" -D "$temp/13.u8" || error 13 decompress + $DIFF "$temp/11.u8" "$temp/13.u8" || error raw diff 11.u8 13.u8 + + $SZS extr "$src" -D "$temp/21.d" || error 21 extract + $SZS extr "$temp/11.u8" -D "$temp/22.d" || error 22 extract + $DIFF -r "$temp/21.d" "$temp/22.d" || error raw diff 21.d 22.d + + $SZS create "$temp/22.d" -D "$temp/23.u8" --noc || error 23 create + $SZS diff "$src" "$temp/23.u8" || error file diff src 23 + $SZS extr "$temp/23.u8" -D "$temp/24.d" || error 24 extract + $DIFF -r "$temp/21.d" "$temp/24.d" || error raw diff 21 24 + + $SZS extr "$src" -D "$temp/31.d" -a --no-check || error 31 extract --all + $SZS create "$temp/31.d" -D "$temp/32.u8" --noc || error 32 create + $SZS extr "$temp/32.u8" -D "$temp/33.d" -a --no-check || error 33 extract --all + $DIFF -r "$temp/31.d" "$temp/33.d" || error raw diff 31 33 + + $SZS compr "$src" -D "$temp/41.wbz" --wbz || error 41 to wbz + $SZS compr "$temp/41.wbz" -D "$temp/42.szs" --szs || error 42 to szs + $SZS diff "$src" "$temp/42.szs" || error file diff 41 42 + + find "$temp/24.d" -name '*.bmg' | while read f + do + [[ -f $f ]] || continue + echo " - ${f/*.d}" + + $BMG encode "$f" -d "$f.1.bmg" || error encode "$f" + $DIFF "$f" "$f.1.bmg" || error raw diff src 1 + + $BMG decode "$f" -d "$f.2.txt" || error decode "$f" + $BMG encode "$f.2.txt" -d "$f.3.bmg" || error encode "$f" + $DIFF "$f" "$f.3.bmg" || error raw diff src 3 + + done || exit 1 + rm -rf "$temp" + +done +echo "**OK**" + |
