blob: 708f84a7e582dfb459028ce91effc5c5a486c3d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#!/bin/sh
#
# run test images through libnssvg and count results
# This file is part of libsvgtiny
#
# Licensed under the MIT License,
# http://opensource.org/licenses/mit-license.php
# Copyright 2016 Vincent Sanders <vince@netsurf-browser.org>
TEST_PATH=$1
TEST_OUT=${TEST_PATH}/mvg
TEST_LOG=${TEST_PATH}/test.log
mkdir -p ${TEST_OUT}
echo "SVG tests" > ${TEST_LOG}
# svg test directories
# netsurf test svg
SVGTESTS="test/data/*.svg"
# netsurf afl generated svg suite
SVGTESTS="${SVGTESTS} test/ns-afl-svg/*.svg"
svgdecode()
{
OUTF=$(basename ${1} .svg)
CMPF=$(dirname ${1})/${OUTF}.mvg
echo "SVG:${1}" >> ${TEST_LOG}
${TEST_PATH}/test_decode_svg ${1} 1.0 ${TEST_OUT}/${OUTF}.mvg 2>> ${TEST_LOG}
ECODE=$?
echo "Exit code:${ECODE}" >> ${TEST_LOG}
if [ "${ECODE}" -gt 0 ];then
return ${ECODE}
fi
if [ -f "${CMPF}" ]; then
cmp ${CMPF} ${TEST_OUT}/${OUTF}.ppm >> ${TEST_LOG} 2>> ${TEST_LOG}
if [ "$?" -ne 0 ]; then
return 128
fi
fi
#convert mvg:${TEST_OUT}/${OUTF}.mvg png:${TEST_OUT}/${OUTF}.png
return 0
}
SVGTESTTOTC=0
SVGTESTPASSC=0
SVGTESTFAILC=0
SVGTESTERRC=0
echo "Testing SVG decode"
for SVG in $(ls ${SVGTESTS});do
SVGTESTTOTC=$((SVGTESTTOTC+1))
svgdecode ${SVG}
ECODE=$?
if [ "${ECODE}" -gt 127 ];then
SVGTESTERRC=$((SVGTESTERRC+1))
else
if [ "${ECODE}" -gt 0 ];then
SVGTESTFAILC=$((SVGTESTFAILC+1))
else
SVGTESTPASSC=$((SVGTESTPASSC+1))
fi
fi
done
echo "Tests:${SVGTESTTOTC} Pass:${SVGTESTPASSC} Fail:${SVGTESTFAILC} Error:${SVGTESTERRC}"
# exit code
if [ "${SVGTESTFAILC}" -gt 0 ]; then
exit 1
fi
if [ "${SVGTESTERRC}" -gt 0 ]; then
exit 2
fi
exit 0
|