aboutsummaryrefslogtreecommitdiffstats
path: root/asn1c/check-parsing.sh
blob: 02b146e97195be85f6c4ebedc8c0cedf1146897f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh

tmpfile=".check-parsing.$$.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

ec=0

for ref in ../tests/*.asn1.-*; do
	src=`echo "$ref" | sed -e 's/\.-[-a-zA-Z0-9=]*$//'`
	flags=`echo "$ref" | sed -e 's/.*\.-//'`
	echo "Checking $src against $ref"
	./asn1c "-$flags" "$src" > "$tmpfile" || ec=$?
	if [ $? = 0 ]; then
		diff $diffArgs "$ref" "$tmpfile" || ec=$?
	fi
	if [ "$1" != "regenerate" ]; then
		rm -f "$tmpfile"
	else
		mv "$tmpfile" "$ref"
	fi
done

exit $ec