Files
android_external_dtc/tests/dtc-checkfails.sh
Rob Herring 9d78c33bf8 tests: fix grep for checks error messages
I noticed the error type passed in didn't matter for check tests to pass.
There's a couple of problems with the grep regex. The error/warning
messages begin with the output filename now, so "ERROR" or "Warning" is not
at the beginning of the line. Secondly, the parentheses seem to be wrong.
It's not clear to me what was intended.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-06-17 21:39:07 +10:00

45 lines
700 B
Bash
Executable File

#! /bin/sh
. ./tests.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