Add qemu 2.4.0
[kvmfornfv.git] / qemu / dtc / tests / tests.sh
1 # Common functions for shell testcases
2
3 PASS () {
4     echo "PASS"
5     exit 0
6 }
7
8 FAIL () {
9     echo "FAIL" "$@"
10     exit 2
11 }
12
13 FAIL_IF_SIGNAL () {
14     ret="$1"
15     if [ "$ret" -gt 127 ]; then
16         signame=$(kill -l $((ret - 128)))
17         FAIL "Killed by SIG$signame"
18     fi
19 }
20
21 DTC=../dtc
22 DTGET=../fdtget
23 DTPUT=../fdtput
24
25 verbose_run () {
26     if [ -z "$QUIET_TEST" ]; then
27         "$@"
28     else
29         "$@" > /dev/null 2> /dev/null
30     fi
31 }
32
33 verbose_run_check () {
34     verbose_run "$@"
35     ret="$?"
36     FAIL_IF_SIGNAL $ret
37     if [ $ret != 0 ]; then
38         FAIL "Returned error code $ret"
39     fi
40 }
41
42 verbose_run_log () {
43     LOG="$1"
44     shift
45     "$@" > "$LOG" 2>&1
46     ret=$?
47     if [ -z "$QUIET_TEST" ]; then
48         cat "$LOG" >&2
49     fi
50     return $ret
51 }
52
53 verbose_run_log_check () {
54     verbose_run_log "$@"
55     ret="$?"
56     FAIL_IF_SIGNAL $ret
57     if [ $ret != 0 ]; then
58         FAIL "Returned error code $ret"
59     fi
60 }
61