xref: /aosp_15_r20/external/dtc/tests/fdtput-runtest.sh (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Worker#! /bin/sh
2*cd60bc56SAndroid Build Coastguard Worker
3*cd60bc56SAndroid Build Coastguard Worker# Run script for fdtput tests
4*cd60bc56SAndroid Build Coastguard Worker# We run fdtput to update the device tree, then fdtget to check it
5*cd60bc56SAndroid Build Coastguard Worker
6*cd60bc56SAndroid Build Coastguard Worker# Usage
7*cd60bc56SAndroid Build Coastguard Worker#    fdtput-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 Workerdtb="$2"
20*cd60bc56SAndroid Build Coastguard Workernode="$3"
21*cd60bc56SAndroid Build Coastguard Workerproperty="$4"
22*cd60bc56SAndroid Build Coastguard Workerflags="$5"
23*cd60bc56SAndroid Build Coastguard Workershift 5
24*cd60bc56SAndroid Build Coastguard Workervalue="$@"
25*cd60bc56SAndroid Build Coastguard Worker
26*cd60bc56SAndroid Build Coastguard Worker# First run fdtput
27*cd60bc56SAndroid Build Coastguard Workerverbose_run_check $VALGRIND "$DTPUT" "$dtb" "$node" "$property" $value $flags
28*cd60bc56SAndroid Build Coastguard Worker
29*cd60bc56SAndroid Build Coastguard Worker# Now fdtget to read the value
30*cd60bc56SAndroid Build Coastguard Workerverbose_run_log_check "$LOG" $VALGRIND "$DTGET" "$dtb" "$node" "$property" $flags
31*cd60bc56SAndroid Build Coastguard Worker
32*cd60bc56SAndroid Build Coastguard Workerif cmp $EXPECT $LOG >/dev/null; then
33*cd60bc56SAndroid Build Coastguard Worker    PASS
34*cd60bc56SAndroid Build Coastguard Workerelse
35*cd60bc56SAndroid Build Coastguard Worker    if [ -z "$QUIET_TEST" ]; then
36*cd60bc56SAndroid Build Coastguard Worker	echo "EXPECTED :-:"
37*cd60bc56SAndroid Build Coastguard Worker	cat $EXPECT
38*cd60bc56SAndroid Build Coastguard Worker    fi
39*cd60bc56SAndroid Build Coastguard Worker    FAIL "Results differ from expected"
40*cd60bc56SAndroid Build Coastguard Workerfi
41