9b18df586384675c79d641cc1e06c2c4ee77a89a
[framework/graphics/cairo.git] / test / testsvg
1 #!/bin/sh
2
3 IMAGEDIFF=./imagediff
4
5 OUTDIR=testsvg-output
6 REFDIR=testsvg-reference
7 DIFFDIR=testsvg-diff
8 IMAGELIST=testsvg-imagelist
9
10 if [ $# -lt 1 ]; then
11         argv0=`basename $0`
12         echo "Usage: $argv0 file.svg [...]" >&2
13         exit 1;
14 fi
15
16 mkdir -p $OUTDIR
17 mkdir -p $DIFFDIR
18 rm -f $IMAGELIST
19
20 err=0
21 for svg in $@; do
22         svgbase=`basename $svg`
23         png=${svgbase/\.svg/.png}
24         outpng=$OUTDIR/$png
25         refpng=$REFDIR/$png
26         diffpng=$DIFFDIR/$png
27 #       if xsvg $svg -p $outpng ; then
28         if svg2png $svg $outpng ; then
29                 if [ -e $refpng ]; then
30                         if $IMAGEDIFF $refpng $outpng > $diffpng; then
31                                 echo "Rendering of $svg matches." >&2
32                                 rm -f $diffpng
33                         else
34                                 echo "ERROR: Rendering of $svg differs from reference image." >&2
35                                 echo $refpng $outpng $diffpng >> $IMAGELIST
36                                 err=$(($err+1))
37                         fi
38                 else
39                         echo "WARNING: No reference file found for $svg (looked in $refpng)" >&2
40                 fi
41         else
42                 echo "ERROR: Failed to render $svg" >&2
43                 err=$(($err+1))
44         fi
45 done
46
47 if [ $err -gt 0 ] ; then
48         echo "Differences found in $err renderings."
49 else
50         echo "All renderings matched reference images."
51 fi