54 lines
945 B
Bash
54 lines
945 B
Bash
#! /bin/sh
|
|
|
|
# Run script for fdtput tests
|
|
# We run fdtput to update the device tree, thn fdtget to check it
|
|
|
|
# Usage
|
|
# fdtput-runtest.sh name expected_output dtb_file node property flags value
|
|
|
|
. ./tests.sh
|
|
|
|
LOG=tmp.log.$$
|
|
EXPECT=tmp.expect.$$
|
|
rm -f $LOG $EXPECT
|
|
trap "rm -f $LOG $EXPECT" 0
|
|
|
|
expect="$1"
|
|
echo "$expect" >$EXPECT
|
|
dtb="$2"
|
|
node="$3"
|
|
property="$4"
|
|
flags="$5"
|
|
shift 5
|
|
value="$@"
|
|
|
|
# First run fdtput
|
|
verbose_run $VALGRIND "$DTPUT" "$dtb" "$node" "$property" $value $flags
|
|
ret="$?"
|
|
|
|
if [ "$ret" -ne 0 -a "$expect" = "ERR" ]; then
|
|
PASS
|
|
fi
|
|
if [ "$ret" -gt 127 ]; then
|
|
signame=$(kill -l $[ret - 128])
|
|
FAIL "Killed by SIG$signame"
|
|
fi
|
|
|
|
# Now fdtget to read the value
|
|
verbose_run_log "$LOG" $VALGRIND "$DTGET" "$dtb" "$node" "$property" $flags
|
|
ret="$?"
|
|
|
|
if [ "$ret" -gt 127 ]; then
|
|
signame=$(kill -l $[ret - 128])
|
|
FAIL "Killed by SIG$signame"
|
|
fi
|
|
|
|
diff $EXPECT $LOG
|
|
ret="$?"
|
|
|
|
if [ "$ret" -eq 0 ]; then
|
|
PASS
|
|
else
|
|
FAIL
|
|
fi
|