c34e88354a
Currently the fdt{get,put}-runtest.sh scripts invoke diff to check if fdt{get,put} did the right thing. This isn't great though: it's not obvious from the diff output which is the expected and which is the actual result; diff's line by line behaviour is useless here, since all the results are a single line and finally, when there is a difference it always prints information even when the tests are supposed to be running in quiet mode. This patch uses cmp instead, and explicitly prints the expected results, when running in verbose mode (the invocation of fdtget itself will have already displayed the actual results in this mode. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
39 lines
774 B
Bash
39 lines
774 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_check $VALGRIND "$DTPUT" "$dtb" "$node" "$property" $value $flags
|
|
|
|
# Now fdtget to read the value
|
|
verbose_run_log_check "$LOG" $VALGRIND "$DTGET" "$dtb" "$node" "$property" $flags
|
|
|
|
if cmp $EXPECT $LOG >/dev/null; then
|
|
PASS
|
|
else
|
|
if [ -z "$QUIET_TEST" ]; then
|
|
echo "EXPECTED :-:"
|
|
cat $EXPECT
|
|
fi
|
|
FAIL "Results differ from expected"
|
|
fi
|