@ -15,17 +15,26 @@ fuzz=$8
outdir = "tests/data/fate"
outdir = "tests/data/fate"
outfile = " ${ outdir } / ${ test } "
outfile = " ${ outdir } / ${ test } "
oneoff ( ) {
do_tiny_psnr ( ) {
psnr = $( tests/tiny_psnr " $1 " " $2 " 2 0 0)
psnr = $( tests/tiny_psnr " $1 " " $2 " 2 0 0)
max = $( expr " $psnr " : '.*MAXDIFF: *\([0-9]*\)' )
val = $( expr " $psnr " : " .* $3 : *\([0-9.]*\) " )
size1 = $( expr " $psnr " : '.*bytes: *\([0-9]*\)' )
size1 = $( expr " $psnr " : '.*bytes: *\([0-9]*\)' )
size2 = $( expr " $psnr " : '.*bytes:[ 0-9]*/ *\([0-9]*\)' )
size2 = $( expr " $psnr " : '.*bytes:[ 0-9]*/ *\([0-9]*\)' )
if [ $max -gt ${ 3 :- 1 } ] || [ $size1 != $size2 ] ; then
res = $( echo " $val $4 $5 " | bc)
if [ " $res " != 1 ] || [ $size1 != $size2 ] ; then
echo " $psnr "
echo " $psnr "
return 1
return 1
fi
fi
}
}
oneoff( ) {
do_tiny_psnr " $1 " " $2 " MAXDIFF '<=' ${ fuzz :- 1 }
}
stddev( ) {
do_tiny_psnr " $1 " " $2 " stddev '<=' ${ fuzz :- 1 }
}
if ! test -e " $ref " ; then
if ! test -e " $ref " ; then
echo " reference file ' $ref ' not found "
echo " reference file ' $ref ' not found "
exit 1
exit 1
@ -38,6 +47,7 @@ eval $target_exec $command > "$outfile" 2>/dev/null || exit
case $cmp in
case $cmp in
diff) diff -u -w " $ref " " $outfile " ; ;
diff) diff -u -w " $ref " " $outfile " ; ;
oneoff) oneoff " $ref " " $outfile " " $fuzz " ; ;
oneoff) oneoff " $ref " " $outfile " " $fuzz " ; ;
stddev) stddev " $ref " " $outfile " " $fuzz " ; ;
esac
esac
test $? = 0 && rm $outfile
test $? = 0 && rm $outfile