fate: fail with a sensible error message if reference file is missing
[libav.git] / tests / fate-run.sh
CommitLineData
2fad0977
MR
1#! /bin/sh
2
3base=$(dirname $0)
4. "${base}/md5.sh"
5
6test="${1#fate-}"
7SAMPLES_PATH=$2
8target_exec=$3
9BUILD_PATH=$4
10command=$5
3ade7d32 11cmp=${6:-diff}
2fad0977 12
3ade7d32
MR
13ref=${7:-"${base}/ref/fate/${test}"}
14fuzz=$8
2fad0977
MR
15outdir="tests/data/fate"
16outfile="${outdir}/${test}"
17
aab3ea5f
MR
18oneoff(){
19 psnr=$(tests/tiny_psnr "$1" "$2" 2 0 0)
20 max=$(expr "$psnr" : '.*MAXDIFF: *\([0-9]*\)')
21 if [ $max -gt ${3:-1} ]; then
22 echo "$psnr"
23 return 1
24 fi
25}
26
150ef830
MR
27if ! test -e "$ref"; then
28 echo "reference file '$ref' not found"
29 exit 1
30fi
31
2fad0977
MR
32mkdir -p "$outdir"
33
58d2b154 34eval $target_exec $command > "$outfile" 2>/dev/null || exit
3ade7d32
MR
35
36case $cmp in
37 diff) diff -u -w "$ref" "$outfile" ;;
aab3ea5f 38 oneoff) oneoff "$ref" "$outfile" "$fuzz" ;;
3ade7d32 39esac
7d610af6
MR
40
41test $? = 0 && rm $outfile