Don't use diff to check fdt{get,put} results

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>
main
David Gibson 2012-02-03 16:12:08 +11:00 committed by Jon Loeliger
parent 15b23d21a6
commit c34e88354a
2 changed files with 14 additions and 12 deletions

View File

@ -13,11 +13,12 @@ shift


verbose_run_log_check "$LOG" $VALGRIND $DTGET "$@" verbose_run_log_check "$LOG" $VALGRIND $DTGET "$@"


diff $EXPECT $LOG if cmp $EXPECT $LOG>/dev/null; then
ret="$?" PASS

if [ "$ret" -eq 0 ]; then
PASS
else else
FAIL if [ -z "$QUIET_TEST" ]; then
echo "EXPECTED :-:"
cat $EXPECT
fi
FAIL "Results differ from expected"
fi fi

View File

@ -28,11 +28,12 @@ verbose_run_check $VALGRIND "$DTPUT" "$dtb" "$node" "$property" $value $flags
# Now fdtget to read the value # Now fdtget to read the value
verbose_run_log_check "$LOG" $VALGRIND "$DTGET" "$dtb" "$node" "$property" $flags verbose_run_log_check "$LOG" $VALGRIND "$DTGET" "$dtb" "$node" "$property" $flags


diff $EXPECT $LOG if cmp $EXPECT $LOG >/dev/null; then
ret="$?" PASS

if [ "$ret" -eq 0 ]; then
PASS
else else
FAIL if [ -z "$QUIET_TEST" ]; then
echo "EXPECTED :-:"
cat $EXPECT
fi
FAIL "Results differ from expected"
fi fi