xref: /aosp_15_r20/external/dtc/tests/testutils.sh (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Worker# Common functions for shell testcases
2*cd60bc56SAndroid Build Coastguard Worker
3*cd60bc56SAndroid Build Coastguard WorkerPASS () {
4*cd60bc56SAndroid Build Coastguard Worker    echo "PASS"
5*cd60bc56SAndroid Build Coastguard Worker    exit 0
6*cd60bc56SAndroid Build Coastguard Worker}
7*cd60bc56SAndroid Build Coastguard Worker
8*cd60bc56SAndroid Build Coastguard WorkerFAIL () {
9*cd60bc56SAndroid Build Coastguard Worker    echo "FAIL" "$@"
10*cd60bc56SAndroid Build Coastguard Worker    exit 2
11*cd60bc56SAndroid Build Coastguard Worker}
12*cd60bc56SAndroid Build Coastguard Worker
13*cd60bc56SAndroid Build Coastguard WorkerFAIL_IF_SIGNAL () {
14*cd60bc56SAndroid Build Coastguard Worker    ret="$1"
15*cd60bc56SAndroid Build Coastguard Worker    if [ "$ret" -gt 127 ]; then
16*cd60bc56SAndroid Build Coastguard Worker	signame=$(kill -l $((ret - 128)))
17*cd60bc56SAndroid Build Coastguard Worker	FAIL "Killed by SIG$signame"
18*cd60bc56SAndroid Build Coastguard Worker    fi
19*cd60bc56SAndroid Build Coastguard Worker}
20*cd60bc56SAndroid Build Coastguard Worker
21*cd60bc56SAndroid Build Coastguard Workerif [ -z "$TEST_BINDIR" ]; then
22*cd60bc56SAndroid Build Coastguard Worker    TEST_BINDIR=..
23*cd60bc56SAndroid Build Coastguard Workerfi
24*cd60bc56SAndroid Build Coastguard Worker
25*cd60bc56SAndroid Build Coastguard WorkerDTC=${TEST_BINDIR}/dtc
26*cd60bc56SAndroid Build Coastguard WorkerDTGET=${TEST_BINDIR}/fdtget
27*cd60bc56SAndroid Build Coastguard WorkerDTPUT=${TEST_BINDIR}/fdtput
28*cd60bc56SAndroid Build Coastguard WorkerFDTDUMP=${TEST_BINDIR}/fdtdump
29*cd60bc56SAndroid Build Coastguard WorkerFDTOVERLAY=${TEST_BINDIR}/fdtoverlay
30*cd60bc56SAndroid Build Coastguard Worker
31*cd60bc56SAndroid Build Coastguard Workerverbose_run () {
32*cd60bc56SAndroid Build Coastguard Worker    if [ -z "$QUIET_TEST" ]; then
33*cd60bc56SAndroid Build Coastguard Worker	"$@"
34*cd60bc56SAndroid Build Coastguard Worker    else
35*cd60bc56SAndroid Build Coastguard Worker	"$@" > /dev/null 2> /dev/null
36*cd60bc56SAndroid Build Coastguard Worker    fi
37*cd60bc56SAndroid Build Coastguard Worker}
38*cd60bc56SAndroid Build Coastguard Worker
39*cd60bc56SAndroid Build Coastguard Workerverbose_run_check () {
40*cd60bc56SAndroid Build Coastguard Worker    verbose_run "$@"
41*cd60bc56SAndroid Build Coastguard Worker    ret="$?"
42*cd60bc56SAndroid Build Coastguard Worker    FAIL_IF_SIGNAL $ret
43*cd60bc56SAndroid Build Coastguard Worker    if [ $ret != 0 ]; then
44*cd60bc56SAndroid Build Coastguard Worker	FAIL "Returned error code $ret"
45*cd60bc56SAndroid Build Coastguard Worker    fi
46*cd60bc56SAndroid Build Coastguard Worker}
47*cd60bc56SAndroid Build Coastguard Worker
48*cd60bc56SAndroid Build Coastguard Workerverbose_run_log () {
49*cd60bc56SAndroid Build Coastguard Worker    LOG="$1"
50*cd60bc56SAndroid Build Coastguard Worker    shift
51*cd60bc56SAndroid Build Coastguard Worker    "$@" > "$LOG" 2>&1
52*cd60bc56SAndroid Build Coastguard Worker    ret=$?
53*cd60bc56SAndroid Build Coastguard Worker    if [ -z "$QUIET_TEST" ]; then
54*cd60bc56SAndroid Build Coastguard Worker	cat "$LOG" >&2
55*cd60bc56SAndroid Build Coastguard Worker    fi
56*cd60bc56SAndroid Build Coastguard Worker    return $ret
57*cd60bc56SAndroid Build Coastguard Worker}
58*cd60bc56SAndroid Build Coastguard Worker
59*cd60bc56SAndroid Build Coastguard Workerverbose_run_log_check () {
60*cd60bc56SAndroid Build Coastguard Worker    verbose_run_log "$@"
61*cd60bc56SAndroid Build Coastguard Worker    ret="$?"
62*cd60bc56SAndroid Build Coastguard Worker    FAIL_IF_SIGNAL $ret
63*cd60bc56SAndroid Build Coastguard Worker    if [ $ret != 0 ]; then
64*cd60bc56SAndroid Build Coastguard Worker	FAIL "Returned error code $ret"
65*cd60bc56SAndroid Build Coastguard Worker    fi
66*cd60bc56SAndroid Build Coastguard Worker}
67*cd60bc56SAndroid Build Coastguard Worker
68