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