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