xref: /aosp_15_r20/external/libxml2/test/catalogs/test.sh (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker#!/bin/sh
2*7c568831SAndroid Build Coastguard Worker
3*7c568831SAndroid Build Coastguard Workerset -e
4*7c568831SAndroid Build Coastguard Worker
5*7c568831SAndroid Build Coastguard Workerecho "## Catalog regression tests"
6*7c568831SAndroid Build Coastguard Worker
7*7c568831SAndroid Build Coastguard Workerif [ -n "$1" ]; then
8*7c568831SAndroid Build Coastguard Worker    xmlcatalog=$1
9*7c568831SAndroid Build Coastguard Workerelse
10*7c568831SAndroid Build Coastguard Worker    xmlcatalog=./xmlcatalog
11*7c568831SAndroid Build Coastguard Workerfi
12*7c568831SAndroid Build Coastguard Worker
13*7c568831SAndroid Build Coastguard Workerexitcode=0
14*7c568831SAndroid Build Coastguard Worker
15*7c568831SAndroid Build Coastguard Workerfor i in test/catalogs/*.script ; do
16*7c568831SAndroid Build Coastguard Worker    name=$(basename $i .script)
17*7c568831SAndroid Build Coastguard Worker    xml="./test/catalogs/$name.xml"
18*7c568831SAndroid Build Coastguard Worker
19*7c568831SAndroid Build Coastguard Worker    if [ -f $xml ] ; then
20*7c568831SAndroid Build Coastguard Worker        if [ ! -f result/catalogs/$name ] ; then
21*7c568831SAndroid Build Coastguard Worker            echo New test file $name
22*7c568831SAndroid Build Coastguard Worker            $xmlcatalog --shell $xml < $i 2>&1 > result/catalogs/$name
23*7c568831SAndroid Build Coastguard Worker        else
24*7c568831SAndroid Build Coastguard Worker            $xmlcatalog --shell $xml < $i 2>&1 > catalog.out
25*7c568831SAndroid Build Coastguard Worker            log=$(diff result/catalogs/$name catalog.out)
26*7c568831SAndroid Build Coastguard Worker            if [ -n "$log" ] ; then
27*7c568831SAndroid Build Coastguard Worker                echo $name result
28*7c568831SAndroid Build Coastguard Worker                echo "$log"
29*7c568831SAndroid Build Coastguard Worker                exitcode=1
30*7c568831SAndroid Build Coastguard Worker            fi
31*7c568831SAndroid Build Coastguard Worker            rm catalog.out
32*7c568831SAndroid Build Coastguard Worker        fi
33*7c568831SAndroid Build Coastguard Worker    fi
34*7c568831SAndroid Build Coastguard Workerdone
35*7c568831SAndroid Build Coastguard Worker
36*7c568831SAndroid Build Coastguard Workerfor i in test/catalogs/*.script ; do
37*7c568831SAndroid Build Coastguard Worker    name=$(basename $i .script)
38*7c568831SAndroid Build Coastguard Worker    sgml="./test/catalogs/$name.sgml"
39*7c568831SAndroid Build Coastguard Worker
40*7c568831SAndroid Build Coastguard Worker    if [ -f $sgml ] ; then
41*7c568831SAndroid Build Coastguard Worker        if [ ! -f result/catalogs/$name ] ; then
42*7c568831SAndroid Build Coastguard Worker            echo New test file $name
43*7c568831SAndroid Build Coastguard Worker            $xmlcatalog --shell $sgml < $i > result/catalogs/$name
44*7c568831SAndroid Build Coastguard Worker        else
45*7c568831SAndroid Build Coastguard Worker            $xmlcatalog --shell $sgml < $i > catalog.out
46*7c568831SAndroid Build Coastguard Worker            log=$(diff result/catalogs/$name catalog.out)
47*7c568831SAndroid Build Coastguard Worker            if [ -n "$log" ] ; then
48*7c568831SAndroid Build Coastguard Worker                echo $name result
49*7c568831SAndroid Build Coastguard Worker                echo "$log"
50*7c568831SAndroid Build Coastguard Worker                exitcode=1
51*7c568831SAndroid Build Coastguard Worker            fi
52*7c568831SAndroid Build Coastguard Worker            rm catalog.out
53*7c568831SAndroid Build Coastguard Worker        fi
54*7c568831SAndroid Build Coastguard Worker    fi
55*7c568831SAndroid Build Coastguard Workerdone
56*7c568831SAndroid Build Coastguard Worker
57*7c568831SAndroid Build Coastguard Worker# Add and del operations on XML Catalogs
58*7c568831SAndroid Build Coastguard Worker
59*7c568831SAndroid Build Coastguard Worker$xmlcatalog --create --noout mycatalog
60*7c568831SAndroid Build Coastguard Worker$xmlcatalog --noout --add public Pubid sysid mycatalog
61*7c568831SAndroid Build Coastguard Worker$xmlcatalog --noout --add public Pubid2 sysid2 mycatalog
62*7c568831SAndroid Build Coastguard Worker$xmlcatalog --noout --add public Pubid3 sysid3 mycatalog
63*7c568831SAndroid Build Coastguard Workerdiff result/catalogs/mycatalog.full mycatalog
64*7c568831SAndroid Build Coastguard Worker$xmlcatalog --noout --del sysid mycatalog
65*7c568831SAndroid Build Coastguard Worker$xmlcatalog --noout --del sysid3 mycatalog
66*7c568831SAndroid Build Coastguard Worker$xmlcatalog --noout --del sysid2 mycatalog
67*7c568831SAndroid Build Coastguard Workerdiff result/catalogs/mycatalog.empty mycatalog
68*7c568831SAndroid Build Coastguard Workerrm -f mycatalog
69*7c568831SAndroid Build Coastguard Worker
70*7c568831SAndroid Build Coastguard Workerexit $exitcode
71