tests/run-tests
changeset 349 b2293093b89e
parent 331 55f63f3b6a54
child 350 b4e0e20646bb
equal deleted inserted replaced
348:442eb02cf870 349:b2293093b89e
       
     1 #!/bin/bash
       
     2 
       
     3 set -e
       
     4 
       
     5 tests=0
       
     6 failed=0
       
     7 H=$PWD
       
     8 
       
     9 for f in `ls test-* | grep -Ev "\.|~"` ; do
       
    10     echo -n "."
       
    11     D=`mktemp -d`
       
    12     if [ "$D" == "" ] ; then
       
    13 	echo mktemp failed!
       
    14     fi
       
    15 
       
    16     cd $D
       
    17     fail=0
       
    18     if ! $H/$f > .out 2>&1 ; then
       
    19 	echo $f failed with error code $?
       
    20 	fail=1
       
    21     fi
       
    22     if [ -s .out -a ! -r $H/$f.out ] ; then
       
    23 	echo $f generated unexpected output:
       
    24 	cat .out
       
    25 	cp .out $H/$f.err
       
    26 	fail=1
       
    27     elif ! diff -u $H/$f.out .out > /dev/null ; then
       
    28 	echo $f output changed:
       
    29 	diff -u $H/$f.out .out && true
       
    30 	cp .out $H/$f.err
       
    31     fi
       
    32 
       
    33     cd $H
       
    34     rm -r $D
       
    35 
       
    36     failed=$[$failed + $fail]
       
    37     tests=$[$tests + 1]
       
    38 done
       
    39 
       
    40 echo
       
    41 echo Ran $tests tests, $failed failed
       
    42 
       
    43 if [ $failed -gt 0 ] ; then
       
    44     exit 1
       
    45 fi
       
    46