diff --git a/tests/Makefile.am b/tests/Makefile.am index baabe68..f3f4f5b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -20,7 +20,6 @@ EXTRA_DIST = \ run-self-tests \ self-test \ - self-test-perfect \ test-* \ testdata-* diff --git a/tests/Makefile.in b/tests/Makefile.in index ab4541a..9519617 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -156,7 +156,6 @@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ run-self-tests \ self-test \ - self-test-perfect \ test-* \ testdata-* diff --git a/tests/self-test b/tests/self-test index a4dde4c..4d60bbc 100755 --- a/tests/self-test +++ b/tests/self-test @@ -9,21 +9,59 @@ MINIMODEM="${MINIMODEM-./minimodem}" } } +test_perfect=0 +[ "$1" = "-P" ] && { + test_perfect=1 + shift +} + [ $# -ge 2 ] || { - echo "usage: self-test textfile minimodem_args" 1>&2 + echo "usage: self-test [-P] textfile minimodem_args" 1>&2 exit 1 } textfile="$1" shift minimodem_args="$*" -TMPF="/tmp/minimodem-test-$$.wav" -trap "rm -f $TMPF" 0 +TMPF="/tmp/minimodem-test-$$" +trap "rm -f $TMPF.*" 0 set -e -echo -echo "$MINIMODEM ... $minimodem_args < $textfile" -$MINIMODEM --tx -T 1 --file $TMPF $minimodem_args < "$textfile" -# ls -l $TMPF -$MINIMODEM --rx --file $TMPF $minimodem_args | diff "$textfile" - +#echo +#echo "$MINIMODEM ... $minimodem_args < $textfile" +$MINIMODEM --tx -T 1 --file $TMPF.wav $minimodem_args < "$textfile" + +# cp $TMPF.wav /tmp/x.wav + +$MINIMODEM --rx --file $TMPF.wav $minimodem_args \ + > $TMPF.out 2> $TMPF.err || { + cat $TMPF.err + exit 1 +} + +cmp "$textfile" $TMPF.out + +{ + read xlitcarrier + read xlithashes xlitnocarrier stats +} < $TMPF.err + + +result="OK " +exitcode=0 + +[ $test_perfect -eq 1 ] && { + match="confidence=inf .* (rate perfect)" + if grep -q "$match" $TMPF.err + then + result="PERFECT " + else + result="IMPERFECT" + exitcode=1 + fi +} + +echo -e "$result $stats" + +exit $exitcode diff --git a/tests/self-test-perfect b/tests/self-test-perfect deleted file mode 100755 index 131c05d..0000000 --- a/tests/self-test-perfect +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -[ $# -ge 2 ] || { - echo "usage: self-test-perfect textfile minimodem_args" 1>&2 - exit 1 -} -textfile="$1" -shift -minimodem_args="$*" - -TMPF=/tmp/minimodem-test.$$ -trap "rm -f $TMPF" 0 - -# test for "confidence=1.00" and "rate perfect" -./self-test "$textfile" $minimodem_args 2>&1 | tee $TMPF - -ndata=$(wc -c <$textfile) - -match="ndata=$ndata confidence=inf .* (rate perfect)" -grep -q "$match" $TMPF || { -echo "Not perfect; expected: $match" - exit 1 -} -echo "Perfect!" -exit 0 diff --git a/tests/test-10-verify-perfect b/tests/test-10-verify-perfect index 6af5926..b038462 100755 --- a/tests/test-10-verify-perfect +++ b/tests/test-10-verify-perfect @@ -1,4 +1,4 @@ # test for confidence=1.00 when using exact integer multiple frequencies -exec ./self-test-perfect testdata-ascii.txt \ +exec ./self-test -P testdata-ascii.txt \ 1200 --samplerate 24000 -M 1200 -S 2400 diff --git a/tests/test-11-verify-perfect-nolut b/tests/test-11-verify-perfect-nolut index 904adcc..5b5faa2 100755 --- a/tests/test-11-verify-perfect-nolut +++ b/tests/test-11-verify-perfect-nolut @@ -1,2 +1,2 @@ -exec ./self-test-perfect testdata-ascii.txt \ +exec ./self-test -P testdata-ascii.txt \ 1200 --samplerate 24000 -M 1200 -S 2400 --lut=0 diff --git a/tests/test-12-verify-perfect-lut16 b/tests/test-12-verify-perfect-lut16 index 7f56791..c6413df 100755 --- a/tests/test-12-verify-perfect-lut16 +++ b/tests/test-12-verify-perfect-lut16 @@ -1,2 +1,2 @@ -exec ./self-test-perfect testdata-ascii.txt \ +exec ./self-test -P testdata-ascii.txt \ 1200 --samplerate 24000 -M 1200 -S 2400 --lut=16 diff --git a/tests/test-13-verify-perfect-nolut-float b/tests/test-13-verify-perfect-nolut-float index 5a6ee1e..1a6b406 100755 --- a/tests/test-13-verify-perfect-nolut-float +++ b/tests/test-13-verify-perfect-nolut-float @@ -1,2 +1,2 @@ -exec ./self-test-perfect testdata-ascii.txt \ +exec ./self-test -P testdata-ascii.txt \ 1200 --samplerate 24000 -M 1200 -S 2400 --lut=0 --float-samples diff --git a/tests/test-14-verify-perfect-lut16-float b/tests/test-14-verify-perfect-lut16-float index a825cad..975aed4 100755 --- a/tests/test-14-verify-perfect-lut16-float +++ b/tests/test-14-verify-perfect-lut16-float @@ -1,2 +1,2 @@ -exec ./self-test-perfect testdata-ascii.txt \ +exec ./self-test -P testdata-ascii.txt \ 1200 --samplerate 24000 -M 1200 -S 2400 --lut=16 --float-samples diff --git a/tests/test-15-verify-perfect-float b/tests/test-15-verify-perfect-float index ba06e74..d8a3163 100755 --- a/tests/test-15-verify-perfect-float +++ b/tests/test-15-verify-perfect-float @@ -1,2 +1,2 @@ -exec ./self-test-perfect testdata-ascii.txt \ +exec ./self-test -P testdata-ascii.txt \ 1200 --samplerate 24000 -M 1200 -S 2400 --float-samples