mirror of https://gerrit.osmocom.org/asn1c
47 lines
1.5 KiB
Bash
Executable File
47 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
ORIG="./.check-xxber.orig.$$.tmp"
|
|
TEST="./.check-xxber.test.$$.tmp"
|
|
|
|
# Test diff(1) capabilities
|
|
diff -a . . 2>/dev/null && diffArgs="-a" # Assume text files
|
|
diff -u . . 2>/dev/null && diffArgs="$diffArgs -u" # Unified diff output
|
|
|
|
cat<<EOM > $ORIG
|
|
<I O="0" T="[UNIVERSAL 16]" TL="2" V="Indefinite" A="SEQUENCE">
|
|
<P O="2" T="[UNIVERSAL 19]" TL="2" V="2" A="PrintableString">US</P>
|
|
<C O="6" T="[UNIVERSAL 16]" TL="2" V="22" A="SEQUENCE">
|
|
<P O="8" T="[UNIVERSAL 2]" TL="2" V="4" A="INTEGER">1¦ G</P>
|
|
<C O="14" T="[UNIVERSAL 16]" TL="2" V="6" A="SEQUENCE">
|
|
<P O="16" T="[UNIVERSAL 2]" TL="2" V="4" A="INTEGER">1¦ G</P>
|
|
</C O="22" T="[UNIVERSAL 16]" A="SEQUENCE" L="8">
|
|
<C O="22" T="[UNIVERSAL 16]" TL="2" V="6" A="SEQUENCE">
|
|
<P O="24" T="[UNIVERSAL 2]" TL="2" V="4" A="INTEGER">1¦ G</P>
|
|
</C O="30" T="[UNIVERSAL 16]" A="SEQUENCE" L="8">
|
|
</C O="30" T="[UNIVERSAL 16]" A="SEQUENCE" L="24">
|
|
<I O="30" T="[UNIVERSAL 16]" TL="2" V="Indefinite" A="SEQUENCE">
|
|
</I O="32" T="[UNIVERSAL 0]" TL="2" L="4">
|
|
EOM
|
|
|
|
./enber $ORIG | ./unber -p -i 0 - > $TEST 2>&1
|
|
diff $diffArgs $ORIG $TEST >/dev/null 2>&1
|
|
diffExitCode=$?
|
|
|
|
if [ "$diffExitCode" = "0" ]; then
|
|
echo "FAILED: $0: expected failure, got success"
|
|
exit 42;
|
|
fi
|
|
|
|
# Append necessary terminator
|
|
echo '</I O="34" T="[UNIVERSAL 0]" TL="2" L="36">' >> $ORIG
|
|
|
|
# Try trancoding again
|
|
./enber $ORIG | ./unber -p -i 0 - > $TEST 2>&1
|
|
|
|
diff $diffArgs $ORIG $TEST
|
|
diffExitCode=$?
|
|
|
|
rm -f $ORIG $TEST
|
|
|
|
exit $diffExitCode
|