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