NativeEnumerated.c vars NULL init and check
[com/asn1c.git] / asn1c / check-xxber.sh
1 #!/bin/sh
2
3 ORIG="./.check-xxber.orig.$$.tmp"
4 TEST="./.check-xxber.test.$$.tmp"
5
6 # Test diff(1) capabilities
7 diff -a . . 2>/dev/null && diffArgs="-a"                # Assume text files
8 diff -u . . 2>/dev/null && diffArgs="$diffArgs -u"      # Unified diff output
9
10 cat<<EOM > $ORIG
11 <I O="0" T="[UNIVERSAL 16]" TL="2" V="Indefinite" A="SEQUENCE">
12 <P O="2" T="[UNIVERSAL 19]" TL="2" V="2" A="PrintableString">&#x55;&#x53;</P>
13 <C O="6" T="[UNIVERSAL 16]" TL="2" V="22" A="SEQUENCE">
14 <P O="8" T="[UNIVERSAL 2]" TL="2" V="4" A="INTEGER">&#x31;&#xa6;&#x20;&#x47;</P>
15 <C O="14" T="[UNIVERSAL 16]" TL="2" V="6" A="SEQUENCE">
16 <P O="16" T="[UNIVERSAL 2]" TL="2" V="4" A="INTEGER">&#x31;&#xa6;&#x20;&#x47;</P>
17 </C O="22" T="[UNIVERSAL 16]" A="SEQUENCE" L="8">
18 <C O="22" T="[UNIVERSAL 16]" TL="2" V="6" A="SEQUENCE">
19 <P O="24" T="[UNIVERSAL 2]" TL="2" V="4" A="INTEGER">&#x31;&#xa6;&#x20;&#x47;</P>
20 </C O="30" T="[UNIVERSAL 16]" A="SEQUENCE" L="8">
21 </C O="30" T="[UNIVERSAL 16]" A="SEQUENCE" L="24">
22 <I O="30" T="[UNIVERSAL 16]" TL="2" V="Indefinite" A="SEQUENCE">
23 </I O="32" T="[UNIVERSAL 0]" TL="2" L="4">
24 EOM
25
26 ./enber $ORIG | ./unber -p -i 0 - > $TEST 2>&1
27 diff $diffArgs "$ORIG" "$TEST" >/dev/null 2>&1
28 diffExitCode=$?
29
30 if [ "$diffExitCode" = "0" ]; then
31         echo "FAILED: $0: expected failure, got success"
32         exit 42;
33 fi
34
35 # Append necessary terminator
36 echo '</I O="34" T="[UNIVERSAL 0]" TL="2" L="36">' >> $ORIG
37
38 # Try trancoding again
39 ./enber $ORIG | ./unber -p -i 0 - > $TEST 2>&1
40
41 diff $diffArgs "$ORIG" "$TEST"
42 diffExitCode=$?
43
44 rm -f $ORIG $TEST
45
46 exit $diffExitCode