| #!/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 |