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