xref: /aosp_15_r20/external/dtc/tests/fdtoverlay-runtest.sh (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Worker#! /bin/sh
2*cd60bc56SAndroid Build Coastguard Worker
3*cd60bc56SAndroid Build Coastguard Worker# Run script for fdtoverlay tests
4*cd60bc56SAndroid Build Coastguard Worker# We run fdtoverlay to generate a target device tree, then fdtget to check it
5*cd60bc56SAndroid Build Coastguard Worker
6*cd60bc56SAndroid Build Coastguard Worker# Usage
7*cd60bc56SAndroid Build Coastguard Worker#    fdtoverlay-runtest.sh name expected_output dtb_file node property flags value
8*cd60bc56SAndroid Build Coastguard Worker
9*cd60bc56SAndroid Build Coastguard WorkerSRCDIR=`dirname "$0"`
10*cd60bc56SAndroid Build Coastguard Worker. "$SRCDIR/testutils.sh"
11*cd60bc56SAndroid Build Coastguard Worker
12*cd60bc56SAndroid Build Coastguard WorkerLOG=tmp.log.$$
13*cd60bc56SAndroid Build Coastguard WorkerEXPECT=tmp.expect.$$
14*cd60bc56SAndroid Build Coastguard Workerrm -f $LOG $EXPECT
15*cd60bc56SAndroid Build Coastguard Workertrap "rm -f $LOG $EXPECT" 0
16*cd60bc56SAndroid Build Coastguard Worker
17*cd60bc56SAndroid Build Coastguard Workerexpect="$1"
18*cd60bc56SAndroid Build Coastguard Workerecho $expect >$EXPECT
19*cd60bc56SAndroid Build Coastguard Workernode="$2"
20*cd60bc56SAndroid Build Coastguard Workerproperty="$3"
21*cd60bc56SAndroid Build Coastguard Workerflags="$4"
22*cd60bc56SAndroid Build Coastguard Workerbasedtb="$5"
23*cd60bc56SAndroid Build Coastguard Workertargetdtb="$6"
24*cd60bc56SAndroid Build Coastguard Workershift 6
25*cd60bc56SAndroid Build Coastguard Workeroverlays="$@"
26*cd60bc56SAndroid Build Coastguard Worker
27*cd60bc56SAndroid Build Coastguard Worker# First run fdtoverlay
28*cd60bc56SAndroid Build Coastguard Workerverbose_run_check $VALGRIND "$FDTOVERLAY" -i "$basedtb" -o "$targetdtb" $overlays
29*cd60bc56SAndroid Build Coastguard Worker
30*cd60bc56SAndroid Build Coastguard Worker# Now fdtget to read the value
31*cd60bc56SAndroid Build Coastguard Workerverbose_run_log_check "$LOG" $VALGRIND "$DTGET" "$targetdtb" "$node" "$property" $flags
32*cd60bc56SAndroid Build Coastguard Worker
33*cd60bc56SAndroid Build Coastguard Workerif cmp $EXPECT $LOG >/dev/null; then
34*cd60bc56SAndroid Build Coastguard Worker    PASS
35*cd60bc56SAndroid Build Coastguard Workerelse
36*cd60bc56SAndroid Build Coastguard Worker    if [ -z "$QUIET_TEST" ]; then
37*cd60bc56SAndroid Build Coastguard Worker	echo "EXPECTED :-:"
38*cd60bc56SAndroid Build Coastguard Worker	cat $EXPECT
39*cd60bc56SAndroid Build Coastguard Worker    fi
40*cd60bc56SAndroid Build Coastguard Worker    FAIL "Results differ from expected"
41*cd60bc56SAndroid Build Coastguard Workerfi
42