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