fdtput-runtest.sh revision 1ede50c3559bbfca79fadcbfd8acb9388f4aac87
1#! /bin/sh
2
3# Run script for fdtput tests
4# We run fdtput to update the device tree, thn fdtget to check it
5
6# Usage
7#    fdtput-runtest.sh name expected_output dtb_file node property flags value
8
9. ./tests.sh
10
11LOG="tmp.log.$$"
12EXPECT="tmp.expect.$$"
13
14rm -f $TMPFILE $LOG
15
16expect="$1"
17echo "$expect" >$EXPECT
18dtb="$2"
19node="$3"
20property="$4"
21flags="$5"
22shift 5
23value="$@"
24
25# First run fdtput
26verbose_run $VALGRIND "$DTPUT" "$dtb" "$node" "$property" $value $flags
27ret="$?"
28
29if [ "$ret" -ne 0 -a "$expect" = "ERR" ]; then
30	PASS
31fi
32if [ "$ret" -gt 127 ]; then
33    signame=$(kill -l $[ret - 128])
34    FAIL "Killed by SIG$signame"
35fi
36
37# Now fdtget to read the value
38verbose_run_log "$LOG" $VALGRIND "$DTGET" "$dtb" "$node" "$property" $flags
39ret="$?"
40
41if [ "$ret" -gt 127 ]; then
42    signame=$(kill -l $[ret - 128])
43    FAIL "Killed by SIG$signame"
44fi
45
46diff $EXPECT $LOG
47ret="$?"
48
49rm -f $LOG $EXPECT
50
51if [ "$ret" -eq 0 ]; then
52	PASS
53else
54	FAIL
55fi
56