From 0615d2ea332b07586dc838bab7121253f0396db3 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Fri, 26 Aug 2016 12:57:56 +0100 Subject: Add AFL derived test vectors --- test/runtest.sh | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) (limited to 'test/runtest.sh') diff --git a/test/runtest.sh b/test/runtest.sh index 063db28..fd5a32b 100755 --- a/test/runtest.sh +++ b/test/runtest.sh @@ -1,18 +1,73 @@ #!/bin/sh +# run test images through libnsgif and count results + TEST_PATH=$1 TEST_OUT=${TEST_PATH}/ppm +TEST_LOG=${TEST_PATH}/test.log mkdir -p ${TEST_OUT} +echo "GIF tests" > ${TEST_LOG} + +# gif test directories + +# netsurf test gif +GIFTESTS="test/data/*.gif" + +# netsurf afl generated gif suite +GIFTESTS="${GIFTESTS} test/ns-afl-gif/*.gif" + gifdecode() { OUTF=$(basename ${1} .gif) - ${TEST_PATH}/test_decode_gif ${1} > ${TEST_OUT}/${OUTF}.ppm + CMPF=$(dirname ${1})/${OUTF}.ppm + echo "GIF:${1}" >> ${TEST_LOG} + ${TEST_PATH}/test_decode_gif ${1} ${TEST_OUT}/${OUTF}.ppm 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 + + return 0 } +GIFTESTTOTC=0 +GIFTESTPASSC=0 +GIFTESTFAILC=0 +GIFTESTERRC=0 + +echo "Testing GIF decode" -for GIF in $(ls test/data/*.gif);do +for GIF in $(ls ${GIFTESTS});do + GIFTESTTOTC=$((GIFTESTTOTC+1)) gifdecode ${GIF} + ECODE=$? + if [ "${ECODE}" -gt 127 ];then + GIFTESTERRC=$((GIFTESTERRC+1)) + else + if [ "${ECODE}" -gt 0 ];then + GIFTESTFAILC=$((GIFTESTFAILC+1)) + else + GIFTESTPASSC=$((GIFTESTPASSC+1)) + fi + fi done +echo "Tests:${GIFTESTTOTC} Pass:${GIFTESTPASSC} Fail:${GIFTESTFAILC} Error:${GIFTESTERRC}" + +# exit code +if [ "${GIFTESTERRC}" -gt 0 ]; then + exit 1 +fi + +exit 0 -- cgit v1.2.3