shithub: scc

Download patch

ref: b8a5015e5759505472294abea476ffffa4c387e7
parent: d691713e7dd054277bf83dc26b0b1d2a92fd5409
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Fri Aug 14 07:35:38 EDT 2015

Improve test script in cc1

This version has less escape hell problems and it enables warnings
in cc1.

--- a/cc1/tests/chktest.sh
+++ b/cc1/tests/chktest.sh
@@ -1,25 +1,31 @@
 #!/bin/sh
 
-out=/tmp/out
-chk=/tmp/chk
+out=/tmp/$$.out
+chk=/tmp/$$.chk
 
-#trap "rm -f $out $chk" EXIT INT QUIT
+trap "rm -f $out $chk" EXIT INT QUIT HUP
 
 for i in *.c
 do
-	rm -f $out $chk
 	awk '
-	/^name:/                  {printf "Running %s ", $2}
-	/^output:$/               {copyon=1}
-	/^\*/                     {copyon=0}
-	copyon==1 && !/^output:$/ {print $0 >> "'$chk'"}
-	' $i
-
-	../cc1 $i > $out 2>&1
-  	if cmp $out $chk >/dev/null 2>&1
-  	then
-   		echo [OK]
-  	else
-  		echo [FAILED]
- 	fi
+	BEGIN {
+		out="'$out'";chk="'$chk'"
+		system("rm -f " out " " chk)
+	}
+	/^name:/ {
+		printf "Running %s ", $2
+	}
+	/^output:$/ {
+		copyon=1
+	}
+	/^\*/  {
+		copyon=0
+	}
+	copyon==1 && !/^output:$/  {
+		print $0 >> chk
+	}
+	END {
+		system("../cc1 -w '$i' > " out " 2>&1")
+		print system("cmp -s " out " " chk) ? "[FAILED]" : "[OK]"
+	}' $i
 done