summary refs log tree commit diff
path: root/tools/unit.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/unit.sh')
-rwxr-xr-xtools/unit.sh128
1 files changed, 0 insertions, 128 deletions
diff --git a/tools/unit.sh b/tools/unit.sh
deleted file mode 100755
index ace28fb..0000000
--- a/tools/unit.sh
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/sh
-
-DIR=`cd $(dirname "$0"); pwd`
-QBE=$DIR/../obj/qbe
-
-TMP=/tmp/qbe.zzzz
-
-DRV=$TMP.c
-ASM=$TMP.s
-BIN=$TMP.bin
-OUT=$TMP.out
-
-cleanup() {
-	rm -f $DRV $ASM $BIN $OUT
-}
-
-extract() {
-	WHAT="$1"
-	FILE="$2"
-
-	awk "
-		/^# >>> $WHAT/ {
-			p = 1
-			next
-		}
-		/^# <<</ {
-			p = 0
-		}
-		p
-	" $FILE \
-	| sed -e 's/# //' \
-	| sed -e 's/#$//'
-}
-
-once() {
-	T="$1"
-
-	if ! test -f $T
-	then
-		echo "invalid test file $T" >&2
-		exit 1
-	fi
-
-	printf "%-45s" "$(basename $T)..."
-
-	if ! $QBE -o $ASM $T
-	then
-		echo "[qbe fail]"
-		return 1
-	fi
-
-	extract driver $T > $DRV
-	extract output $T > $OUT
-
-	if test -s $DRV
-	then
-		LNK="$DRV $ASM"
-	else
-		LNK="$ASM"
-	fi
-
-	if ! cc $PIE -g -o $BIN $LNK
-	then
-		echo "[cc fail]"
-		return 1
-	fi
-
-	if test -s $OUT
-	then
-		$BIN a b c | diff - $OUT
-		RET=$?
-		REASON="output"
-	else
-		$BIN a b c
-		RET=$?
-		REASON="returned $RET"
-	fi
-
-	if test $RET -ne 0
-	then
-		echo "[$REASON fail]"
-		return 1
-	fi
-
-	echo "[ok]"
-}
-
-
-#trap cleanup TERM QUIT
-
-if test -z "$1"
-then
-	echo "usage: tools/unit.sh {all, SSAFILE}" 2>&1
-	exit 1
-fi
-
-for wtf in -nopie -no-pie
-do
-	if echo "int main() { return 0; }" |
-	   cc $wtf -x c -o /dev/null - >/dev/null 2>&1
-	then
-		PIE=$wtf
-	fi
-done
-
-case $1 in
-	"all")
-		F=0
-		for T in $DIR/../test/[!_]*.ssa
-		do
-			once $T
-			F=`expr $F + $?`
-		done
-		if test $F -ge 1
-		then
-			echo
-			echo "$F test(s) failed!"
-		else
-			echo
-			echo "All is fine!"
-		fi
-		exit $F
-		;;
-	*)
-		once $1
-		exit $?
-		;;
-esac