You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
945 B
53 lines
945 B
#! /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
|
|
|