10d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson# Common functions for shell testcases
20d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson
30d6ade254773aa4798fed1b2f1639ea2b8bdeb89David GibsonPASS () {
40d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson    echo "PASS"
50d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson    exit 0
60d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson}
70d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson
80d6ade254773aa4798fed1b2f1639ea2b8bdeb89David GibsonFAIL () {
90d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson    echo "FAIL" "$@"
100d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson    exit 2
110d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson}
120d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson
13c879a8a28b168b3b448ca8a107e3386eda6829c7David GibsonFAIL_IF_SIGNAL () {
14c879a8a28b168b3b448ca8a107e3386eda6829c7David Gibson    ret="$1"
15c879a8a28b168b3b448ca8a107e3386eda6829c7David Gibson    if [ "$ret" -gt 127 ]; then
16c879a8a28b168b3b448ca8a107e3386eda6829c7David Gibson	signame=$(kill -l $((ret - 128)))
17c879a8a28b168b3b448ca8a107e3386eda6829c7David Gibson	FAIL "Killed by SIG$signame"
18c879a8a28b168b3b448ca8a107e3386eda6829c7David Gibson    fi
19c879a8a28b168b3b448ca8a107e3386eda6829c7David Gibson}
20c879a8a28b168b3b448ca8a107e3386eda6829c7David Gibson
210d6ade254773aa4798fed1b2f1639ea2b8bdeb89David GibsonDTC=../dtc
2268d057f20d7c3a93b441d2892c4749392bc83b45Simon GlassDTGET=../fdtget
231ede50c3559bbfca79fadcbfd8acb9388f4aac87Simon GlassDTPUT=../fdtput
2476a65b14d1bb10f300f518c11aed231575521c2eSimon GlassFDTDUMP=../fdtdump
250d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson
260d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibsonverbose_run () {
270d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson    if [ -z "$QUIET_TEST" ]; then
280d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson	"$@"
290d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson    else
300d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson	"$@" > /dev/null 2> /dev/null
310d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson    fi
320d6ade254773aa4798fed1b2f1639ea2b8bdeb89David Gibson}
335ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibson
3415b23d21a62b5a0295ee08b54d0842889ce94c92David Gibsonverbose_run_check () {
3515b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    verbose_run "$@"
3615b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    ret="$?"
3715b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    FAIL_IF_SIGNAL $ret
3815b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    if [ $ret != 0 ]; then
3915b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson	FAIL "Returned error code $ret"
4015b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    fi
4115b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson}
4215b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson
435ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibsonverbose_run_log () {
445ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibson    LOG="$1"
455ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibson    shift
46fc6e6f8d916b0d52b59a1c2a66f280e7fb7a80f5David Gibson    "$@" > "$LOG" 2>&1
475ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibson    ret=$?
485ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibson    if [ -z "$QUIET_TEST" ]; then
495ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibson	cat "$LOG" >&2
505ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibson    fi
515ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibson    return $ret
525ba0086bfd0fa6ab25f7ce1870417301a26c104fDavid Gibson}
5315b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson
5415b23d21a62b5a0295ee08b54d0842889ce94c92David Gibsonverbose_run_log_check () {
5515b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    verbose_run_log "$@"
5615b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    ret="$?"
5715b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    FAIL_IF_SIGNAL $ret
5815b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    if [ $ret != 0 ]; then
5915b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson	FAIL "Returned error code $ret"
6015b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson    fi
6115b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson}
6215b23d21a62b5a0295ee08b54d0842889ce94c92David Gibson
63