1#!/bin/sh 2 3set -e 4 5echo "## Scripts regression tests" 6 7if [ -n "$1" ]; then 8 xmllint=$1 9else 10 xmllint=./xmllint 11fi 12 13exitcode=0 14 15for i in test/scripts/*.script ; do 16 name=$(basename $i .script) 17 xml="./test/scripts/$name.xml" 18 19 if [ -f $xml ] ; then 20 if [ ! -f result/scripts/$name ] ; then 21 echo "New test file $name" 22 23 $xmllint --shell $xml < $i \ 24 > result/scripts/$name \ 25 2> result/scripts/$name.err 26 else 27 $xmllint --shell $xml < $i > shell.out 2> shell.err || true 28 29 if [ -f result/scripts/$name.err ]; then 30 resulterr="result/scripts/$name.err" 31 else 32 resulterr=/dev/null 33 fi 34 35 log=$( 36 diff -u result/scripts/$name shell.out || true; 37 diff -u $resulterr shell.err || true 38 ) 39 40 if [ -n "$log" ] ; then 41 echo $name result 42 echo "$log" 43 exitcode=1 44 fi 45 46 rm shell.out shell.err 47 fi 48 fi 49done 50 51exit $exitcode 52