|
|
|
#! /bin/sh
|
|
|
|
|
|
|
|
SRCDIR=`dirname "$0"`
|
|
|
|
. "$SRCDIR/testutils.sh"
|
|
|
|
|
|
|
|
for x; do
|
|
|
|
shift
|
|
|
|
if [ "$x" = "-n" ]; then
|
|
|
|
for x; do
|
|
|
|
shift
|
|
|
|
if [ "$x" = "--" ]; then
|
|
|
|
break;
|
|
|
|
fi
|
|
|
|
NOCHECKS="$NOCHECKS $x"
|
|
|
|
done
|
|
|
|
break;
|
|
|
|
fi
|
|
|
|
if [ "$x" = "--" ]; then
|
|
|
|
break;
|
|
|
|
fi
|
|
|
|
YESCHECKS="$YESCHECKS $x"
|
|
|
|
done
|
|
|
|
|
|
|
|
LOG=tmp.log.$$
|
|
|
|
rm -f $LOG
|
|
|
|
trap "rm -f $LOG" 0
|
|
|
|
|
|
|
|
verbose_run_log "$LOG" $VALGRIND "$DTC" -o /dev/null "$@"
|
|
|
|
ret="$?"
|
|
|
|
|
|
|
|
FAIL_IF_SIGNAL $ret
|
|
|
|
|
|
|
|
for c in $YESCHECKS; do
|
|
|
|
if ! grep -E "(ERROR|Warning) \($c\):" $LOG > /dev/null; then
|
|
|
|
FAIL "Failed to trigger check \"$c\""
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
for c in $NOCHECKS; do
|
|
|
|
if grep -E "(ERROR|Warning) \($c\):" $LOG > /dev/null; then
|
|
|
|
FAIL "Incorrectly triggered check \"$c\""
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
PASS
|