can now handle subdirs
[libfirm] / ir / be / test / makereport.sh
index 1c19b24..5c9b924 100755 (executable)
@@ -1,4 +1,5 @@
-EDG_CFLAGS="-b ra-chordal-spill=belady -b ia32-arch=athlon -b ia32-fpunit=x87 --c --gnu=400002 -I/usr/lib/gcc-lib/i586-suse-linux/3.3.5/include"
+EDG_BIN="edgcpfe"
+EDG_CFLAGS="--c --gnu=30305 -I/usr/lib/gcc-lib/i586-suse-linux/3.3.5/include"
 GCC_CFLAGS="-O3 -g -fomit-frame-pointer"
 LINKFLAGS="-lm"
 
@@ -20,9 +21,14 @@ cat > $XMLRES << __END__
 __END__
 
 # so endless apps stop at some point...
-ulimit -t2
+#ulimit -t2
 
-for file in ${CFILES}; do
+basedir=`pwd`
+
+for dir in . gcc-testsuite gcc-testsuite/ieee; do
+       curdir=$basedir/$dir
+    echo "<section name=\"$curdir/\">" >> $XMLRES
+for file in $curdir/$CFILES; do
     COMPILE_RES="ok"
     LINK_RES="omitted"
     GCC_RES="ok"
@@ -35,13 +41,13 @@ for file in ${CFILES}; do
     echo "Building $name"
     echo "Results for $name" > $res
     echo "*** EDG/FIRM Compile" >> $res
-    CMD="edg ${EDG_CFLAGS} $file"
+    CMD="ulimit -t300 ; ${EDG_BIN} ${EDG_CFLAGS} $file"
     echo "$CMD" >> $res
-    $CMD >> $res 2>&1 || COMPILE_RES="failed"
+    /bin/bash -c "ulimit -t300 ; ${EDG_BIN} ${EDG_CFLAGS} $file" >> $res 2>&1 || COMPILE_RES="failed"
 
     if [ ${COMPILE_RES} == "ok" ]; then
         LINK_RES="ok"
-        CMD="mv $name.s build_firm/$name.s"
+        CMD="mv $curdir/$name.s build_firm/$name.s"
         echo "$CMD" >> $res
         $CMD >> $res 2>&1
         echo "*** Linking" >> $res
@@ -61,7 +67,7 @@ for file in ${CFILES}; do
         echo "*** Run GCC" >> $res
         CMD="build_gcc/$name.exe > $OUTPUTDIR/result_gcc_$name.txt 2>&1"
         echo "$CMD" >> $res
-        build_gcc/$name.exe > $OUTPUTDIR/result_gcc_$name.txt 2>&1 || GCC_RUN_RES="failed"
+        /bin/bash -c "ulimit -t2 ; build_gcc/$name.exe" > $OUTPUTDIR/result_gcc_$name.txt 2>&1 || GCC_RUN_RES="failed"
     fi
 
     if [ ${LINK_RES} = "ok" ]; then
@@ -70,7 +76,7 @@ for file in ${CFILES}; do
         echo "*** Run Firm" >> $res
         CMD="build_firm/$name.exe > $OUTPUTDIR/result_gcc_$name.txt 2>&1"
         echo "$CMD" >> $res
-        build_firm/$name.exe > $OUTPUTDIR/result_firm_$name.txt 2>&1 || FIRM_RUN_RES="failed"
+        /bin/bash -c "ulimit -t2 ; build_firm/$name.exe" > $OUTPUTDIR/result_firm_$name.txt 2>&1 || FIRM_RUN_RES="failed"
     fi
 
     if [ ${GCC_RUN_RES} = "ok" -a ${FIRM_RUN_RES} = "ok" ]; then
@@ -91,6 +97,8 @@ for file in ${CFILES}; do
         <diff>$DIFF_RES</diff>
     </result>
 __END__
+done
+    echo "</section>" >> $XMLRES
 done
 
 echo "</results>" >> $XMLRES