#!/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