Home | History | Annotate | Download | only in tests
      1 #! /bin/sh
      2 
      3 . ./tests.sh
      4 
      5 for x; do
      6     shift
      7     if [ "$x" = "-n" ]; then
      8 	for x; do
      9 	    shift
     10 	    if [ "$x" = "--" ]; then
     11 		break;
     12 	    fi
     13 	    NOCHECKS="$NOCHECKS $x"
     14 	done
     15 	break;
     16     fi
     17     if [ "$x" = "--" ]; then
     18 	break;
     19     fi
     20     YESCHECKS="$YESCHECKS $x"
     21 done
     22 
     23 LOG=tmp.log.$$
     24 rm -f $LOG
     25 trap "rm -f $LOG" 0
     26 
     27 verbose_run_log "$LOG" $VALGRIND "$DTC" -o /dev/null "$@"
     28 ret="$?"
     29 
     30 FAIL_IF_SIGNAL $ret
     31 
     32 for c in $YESCHECKS; do
     33     if ! grep -E "^(ERROR)|(Warning) \($c\):" $LOG > /dev/null; then
     34 	FAIL "Failed to trigger check \"$c\""
     35     fi
     36 done
     37 
     38 for c in $NOCHECKS; do
     39     if grep -E "^(ERROR)|(Warning) \($c\):" $LOG > /dev/null; then
     40 	FAIL "Incorrectly triggered check \"$c\""
     41     fi
     42 done
     43 
     44 PASS
     45