blob: d4de33971027b12bc53224f4ecffa10248c08a02 [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 -e
10
11PROCESSING=""
12print_status() {
13 echo "Error while processing $PROCESSING"
14}
15
Lev Walkin68e94452014-09-17 00:15:57 -070016trap print_status EXIT
Lev Walkine0d321a2014-09-11 01:28:57 -070017
18if [ "x${top_srcdir}" = "x" ]; then
19 top_srcdir=".."
20fi
21
22for ref in ${top_srcdir}/tests/*.asn1.-*; do
23 # Figure out the initial source file used to generate this output.
Lev Walkin2e36bd82004-06-28 21:28:15 +000024 src=`echo "$ref" | sed -e 's/\.-[-a-zA-Z0-9=]*$//'`
Lev Walkine0d321a2014-09-11 01:28:57 -070025 # Figure out compiler flags used to create the file.
Lev Walkinf15320b2004-06-03 03:38:44 +000026 flags=`echo "$ref" | sed -e 's/.*\.-//'`
27 echo "Checking $src against $ref"
Lev Walkine0d321a2014-09-11 01:28:57 -070028 template=.tmp.check-parsing.$$
29 oldversion=${template}.old
30 newversion=${template}.new
31 PROCESSING="$ref (from $src)"
32 cat "$ref" | LANG=C sed -e 's/^found in .*/found in .../' > $oldversion
33 (./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 +000034 if [ $? = 0 ]; then
Lev Walkine0d321a2014-09-11 01:28:57 -070035 diff $diffArgs "$oldversion" "$newversion" || ec=$?
Lev Walkinf15320b2004-06-03 03:38:44 +000036 fi
Lev Walkine0d321a2014-09-11 01:28:57 -070037 rm -f $oldversion $newversion
38 if [ "$1" = "regenerate" ]; then
39 ./asn1c -S ${top_srcdir}/skeletons "-$flags" "$src" > "$ref"
Lev Walkincbf218f2004-08-20 13:24:38 +000040 fi
Lev Walkinf15320b2004-06-03 03:38:44 +000041done
42
Lev Walkin68e94452014-09-17 00:15:57 -070043if [ $ec = 0 ]; then
44 trap '' EXIT
45fi
46
Lev Walkinf15320b2004-06-03 03:38:44 +000047exit $ec