blob: 7d81172bfca290b019a117dbef8e2f4bb27db312 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001#!/bin/sh
2
Lev Walkindf24e402005-08-15 03:28:06 +00003# Test diff(1) capabilities
Lev Walkincc3e13d2005-03-17 22:20:05 +00004diff -a . . 2>/dev/null && diffArgs="-a" # Assume text files
5diff -u . . 2>/dev/null && diffArgs="$diffArgs -u" # Unified diff output
Lev Walkina460ba32004-10-20 15:40:04 +00006
Lev Walkinf15320b2004-06-03 03:38:44 +00007ec=0
8
Lev Walkine0d321a2014-09-11 01:28:57 -07009set -o pipefail
10set -e
11
12PROCESSING=""
13print_status() {
14 echo "Error while processing $PROCESSING"
15}
16
17trap print_status ERR
18
19if [ "x${top_srcdir}" = "x" ]; then
20 top_srcdir=".."
21fi
22
23for ref in ${top_srcdir}/tests/*.asn1.-*; do
24 # Figure out the initial source file used to generate this output.
Lev Walkin2e36bd82004-06-28 21:28:15 +000025 src=`echo "$ref" | sed -e 's/\.-[-a-zA-Z0-9=]*$//'`
Lev Walkine0d321a2014-09-11 01:28:57 -070026 # Figure out compiler flags used to create the file.
Lev Walkinf15320b2004-06-03 03:38:44 +000027 flags=`echo "$ref" | sed -e 's/.*\.-//'`
28 echo "Checking $src against $ref"
Lev Walkine0d321a2014-09-11 01:28:57 -070029 template=.tmp.check-parsing.$$
30 oldversion=${template}.old
31 newversion=${template}.new
32 PROCESSING="$ref (from $src)"
33 cat "$ref" | LANG=C sed -e 's/^found in .*/found in .../' > $oldversion
34 (./asn1c -S ${top_srcdir}/skeletons "-$flags" "$src" | LANG=C sed -e 's/^found in .*/found in .../' > "$newversion") || ec=$?
Lev Walkinf15320b2004-06-03 03:38:44 +000035 if [ $? = 0 ]; then
Lev Walkine0d321a2014-09-11 01:28:57 -070036 diff $diffArgs "$oldversion" "$newversion" || ec=$?
Lev Walkinf15320b2004-06-03 03:38:44 +000037 fi
Lev Walkine0d321a2014-09-11 01:28:57 -070038 rm -f $oldversion $newversion
39 if [ "$1" = "regenerate" ]; then
40 ./asn1c -S ${top_srcdir}/skeletons "-$flags" "$src" > "$ref"
Lev Walkincbf218f2004-08-20 13:24:38 +000041 fi
Lev Walkinf15320b2004-06-03 03:38:44 +000042done
43
44exit $ec