chktest.sh - scc - simple c99 compiler
 (HTM) git clone git://git.simple-cc.org/scc
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
       chktest.sh (433B)
       ---
            1 #!/bin/sh
            2 
            3 file=${1?' empty input file'}
            4 tmp1=`mktemp`
            5 tmp2=`mktemp`
            6 trap "rm -f *.o  $tmp1 $tmp2" EXIT INT QUIT TERM
            7 ulimit -c 0
            8 rm -f test.log
            9 
           10 while read i state
           11 do
           12         rm -f *.o $i $tmp1 $tmp2
           13 
           14         (echo $i
           15          $CC $CFLAGS -o $i $i.c
           16          echo '/^output:$/+;/^end:$/-'w $tmp1 | ed -s $i.c
           17          ./$i > $tmp2 2>&1
           18          diff -u $tmp1 $tmp2) >> test.log 2>&1 &&
           19 
           20         printf '[PASS]' || printf '[FAIL]'
           21         printf '\t%s\t%s\n' $i $state
           22 done < $file