Test vectors update
[opus.git] / tests / run_vectors.sh
1 #!/bin/sh
2
3 if [ "$#" -ne "2" ]; then
4     echo "usage: run_vectors.sh <exec path> <vector path>"
5     exit 1
6 fi
7
8 CMD_PATH=$1
9 VECTOR_PATH=$2
10
11 OPUS_DEMO=$CMD_PATH/opus_demo
12 OPUS_COMPARE=$CMD_PATH/opus_compare
13
14 if [ -d $VECTOR_PATH ]; then
15     echo Test vectors found in $VECTOR_PATH
16 else
17     echo No test vectors found
18     #Don't make the test fail here because the test vectors will be 
19     #distributed separateyl
20     exit 0
21 fi
22
23 if [ -x $OPUS_DEMO ]; then
24     echo Decoding with $OPUS_DEMO
25 else
26     echo ERROR: Decoder not found: $OPUS_DEMO
27     exit 1
28 fi
29
30 echo "=============="
31 echo Testing mono
32 echo "=============="
33 echo
34
35 for file in test1_mono test2_mono test3_mono test4_mono test5_mono
36 do
37     if [ -e $VECTOR_PATH/$file.bit ]; then
38         echo Testing $file
39     else 
40         echo Bitstream file not found: $file
41     fi
42     if $OPUS_DEMO -d 48000 1 $VECTOR_PATH/$file.bit tmp.out > /dev/null 2>&1; then
43         echo successfully decoded
44     else
45         echo ERROR: decoding failed
46         exit 1
47     fi
48     $OPUS_COMPARE $VECTOR_PATH/$file.float tmp.out > /dev/null 2>&1
49     float_ret=$?
50     $OPUS_COMPARE $VECTOR_PATH/$file.fixed tmp.out > /dev/null 2>&1
51     fixed_ret=$?
52     if [ "$float_ret" -eq "0" -o "$fixed_ret" -eq "0" ]; then
53         echo output matches reference
54     else
55         echo ERROR: output does not match reference
56         exit 1
57     fi
58     echo
59 done
60
61 echo "=============="
62 echo Testing stereo
63 echo "=============="
64 echo
65
66 for file in test1_stereo test2_stereo test3_stereo test4_stereo
67 do
68     if [ -e $VECTOR_PATH/$file.bit ]; then
69         echo Testing $file
70     else 
71         echo Bitstream file not found: $file
72     fi
73     if $OPUS_DEMO -d 48000 2 $VECTOR_PATH/$file.bit tmp.out > /dev/null 2>&1; then
74         echo successfully decoded
75     else
76         echo ERROR: decoding failed
77         exit 1
78     fi
79     $OPUS_COMPARE -s $VECTOR_PATH/$file.float tmp.out > /dev/null 2>&1
80     float_ret=$?
81     $OPUS_COMPARE -s $VECTOR_PATH/$file.fixed tmp.out > /dev/null 2>&1
82     fixed_ret=$?
83     if [ "$float_ret" -eq "0" -o "$fixed_ret" -eq "0" ]; then
84         echo output matches reference
85     else
86         echo ERROR: output does not match reference
87         exit 1
88     fi
89     echo
90 done
91
92
93
94 echo All tests have passed successfully