diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-06-30 22:21:20 +0300 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-06-30 22:22:14 +0300 |
commit | 72ca2d3977f113f5e8527a04732b78d8b4d3665c (patch) | |
tree | 5822f6577eaa075ad9e9ecaa77d3976f64129afa | |
parent | f74ab71ec9c03642bdbb89609b73f396be5e2d89 (diff) |
New testing script
-rwxr-xr-x | tests/run_vectors.sh | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/tests/run_vectors.sh b/tests/run_vectors.sh index 7cd23ed4..f0c52b30 100755 --- a/tests/run_vectors.sh +++ b/tests/run_vectors.sh @@ -1,4 +1,6 @@ -# Copyright (c) 2011-2012 IETF Trust, Jean-Marc Valin. All rights reserved. +#!/bin/sh + +# Copyright (c) 2011-2012 Jean-Marc Valin # # This file is extracted from RFC6716. Please see that RFC for additional # information. @@ -31,10 +33,8 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#!/bin/sh - -rm logs_mono.txt -rm logs_stereo.txt +rm logs_mono.txt logs_mono2.txt +rm logs_stereo.txt logs_stereo2.txt if [ "$#" -ne "3" ]; then echo "usage: run_vectors.sh <exec path> <vector path> <rate>" @@ -45,18 +45,23 @@ CMD_PATH=$1 VECTOR_PATH=$2 RATE=$3 -OPUS_DEMO=$CMD_PATH/opus_demo -OPUS_COMPARE=$CMD_PATH/opus_compare +: ${OPUS_DEMO:=$CMD_PATH/opus_demo} +: ${OPUS_COMPARE:=$CMD_PATH/opus_compare} if [ -d $VECTOR_PATH ]; then echo Test vectors found in $VECTOR_PATH else echo No test vectors found - #Don't make the test fail here because the test vectors will be - #distributed separately + #Don't make the test fail here because the test vectors + #will be distributed separately exit 0 fi +if [ ! -x $OPUS_COMPARE ]; then + echo ERROR: Compare program not found: $OPUS_COMPARE + exit 1 +fi + if [ -x $OPUS_DEMO ]; then echo Decoding with $OPUS_DEMO else @@ -82,9 +87,11 @@ do echo ERROR: decoding failed exit 1 fi - $OPUS_COMPARE -r $RATE $VECTOR_PATH/testvector$file.dec tmp.out >> logs_mono.txt 2>&1 + $OPUS_COMPARE -r $RATE $VECTOR_PATH/testvector${file}s.dec tmp.out >> logs_mono.txt 2>&1 float_ret=$? - if [ "$float_ret" -eq "0" ]; then + $OPUS_COMPARE -r $RATE $VECTOR_PATH/testvector${file}m.dec tmp.out >> logs_mono2.txt 2>&1 + float_ret2=$? + if [ "$float_ret" -eq "0" ] || [ "$float_ret2" -eq "0" ]; then echo output matches reference else echo ERROR: output does not match reference @@ -111,9 +118,11 @@ do echo ERROR: decoding failed exit 1 fi - $OPUS_COMPARE -s -r $RATE $VECTOR_PATH/testvector$file.dec tmp.out >> logs_stereo.txt 2>&1 + $OPUS_COMPARE -s -r $RATE $VECTOR_PATH/testvector${file}s.dec tmp.out >> logs_stereo.txt 2>&1 float_ret=$? - if [ "$float_ret" -eq "0" ]; then + $OPUS_COMPARE -s -r $RATE $VECTOR_PATH/testvector${file}m.dec tmp.out >> logs_stereo2.txt 2>&1 + float_ret2=$? + if [ "$float_ret" -eq "0" ] || [ "$float_ret2" -eq "0" ]; then echo output matches reference else echo ERROR: output does not match reference @@ -125,5 +134,10 @@ done echo All tests have passed successfully -grep quality logs_mono.txt | awk '{sum+=$4}END{print "Average mono quality is", sum/NR, "%"}' -grep quality logs_stereo.txt | awk '{sum+=$4}END{print "Average stereo quality is", sum/NR, "%"}' +mono1=`grep quality logs_mono.txt | awk '{sum+=$4}END{if (NR == 12) sum /= 12; else sum = 0; print sum}'` +mono2=`grep quality logs_mono2.txt | awk '{sum+=$4}END{if (NR == 12) sum /= 12; else sum = 0; print sum}'` +echo $mono1 $mono2 | awk '{if ($2 > $1) $1 = $2; print "Average mono quality is", $1, "%"}' + +stereo1=`grep quality logs_stereo.txt | awk '{sum+=$4}END{if (NR == 12) sum /= 12; else sum = 0; print sum}'` +stereo2=`grep quality logs_stereo2.txt | awk '{sum+=$4}END{if (NR == 12) sum /= 12; else sum = 0; print sum}'` +echo $stereo1 $stereo2 | awk '{if ($2 > $1) $1 = $2; print "Average stereo quality is", $1, "%"}' |