xref: /aosp_15_r20/external/libxml2/test/scripts/test.sh (revision 7c5688314b92172186c154356a6374bf7684c3ca)
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