js8call/media/tests/test

50 lines
1.0 KiB
Plaintext
Raw Normal View History

#!/bin/bash
# Run test cases using the media files and the js8 cli decoder
JS8=~/js8call-prefix/build/js8
JS8_ALT=/opt/js8call/bin/js8
PWD=$(pwd)
declare -i pass=0
declare -i fail=0
for f in *.wav
do
MODE=$(echo $f | cut -f 1 -d '_')
DEPTH=$(echo $f | cut -f 2 -d '_')
EXPECTED=$(echo $f | cut -f 3 -d '_' | cut -f 1 -d '.')
OUT=$($JS8 -8 -b $MODE -d $DEPTH $PWD/$f | tail -n 1 | awk '{print $(NF)}' | sed -E 's/\s//g')
if [ "$JS8_ALT" != "" ]; then
OUT_ALT=$($JS8_ALT -8 -b $MODE -d $DEPTH $PWD/$f | tail -n 1 | awk '{print $(NF)}' | sed -E 's/\s//g')
fi
echo -n $f...
if [ "$OUT" == "$EXPECTED" ]; then
echo PASS.
pass=$((pass+1))
else
echo FAIL got $OUT expected $EXPECTED;
fail=$((fail+1))
fi
if [ "$JS8_ALT" != "" ]; then
if [ "$OUT" != "$OUT_ALT" ]; then
echo "--> js8 alt got $OUT_ALT expected $EXPECTED"
fi
fi
echo
done
echo ---
echo
echo $((pass+fail)) total tests run
echo $pass passed
echo $fail failed
rm timer.out jt9_wisdom.dat