~mcf/cproc

cproc/runtests -rwxr-xr-x 609 bytes
50956c82Michael Forney Update qbe submodule 3 days ago
                                                                                
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
27
28
29
30
31
32
33
34
35
36
37
#!/bin/sh

: ${CCQBE:=./cproc-qbe}

if [ $# = 0 ] ; then
	set -- test/*.c
fi

numfail=0
got=$(mktemp)
trap 'rm "$got"' EXIT

for test ; do
	name=${test%.c}
	if [ -f "$name.qbe" ] ; then
		want=$name.qbe
		set -- $CCQBE -o "$got" "$test"
	elif [ -f "$name.pp" ] ; then
		want=$name.pp
		set -- $CCQBE -E -o "$got" "$test"
	else
		echo "invalid test '$test'" >&2
		set -- false
	fi
	if "$@" && diff -Nu "$want" "$got" ; then
		result="PASS"
	else
		result="FAIL"
		numfail=$((numfail + 1))
	fi
	echo "[$result] $test" >&2
done

if [ "$numfail" -gt 0 ] ; then
	printf "%d test(s) failed\n" "$numfail"
	exit 1
fi