1*cc7d2833Sskrll# Common functions for shell testcases 2*cc7d2833Sskrll 3*cc7d2833SskrllPASS () { 4*cc7d2833Sskrll echo "PASS" 5*cc7d2833Sskrll exit 0 6*cc7d2833Sskrll} 7*cc7d2833Sskrll 8*cc7d2833SskrllFAIL () { 9*cc7d2833Sskrll echo "FAIL" "$@" 10*cc7d2833Sskrll exit 2 11*cc7d2833Sskrll} 12*cc7d2833Sskrll 13*cc7d2833SskrllFAIL_IF_SIGNAL () { 14*cc7d2833Sskrll ret="$1" 15*cc7d2833Sskrll if [ "$ret" -gt 127 ]; then 16*cc7d2833Sskrll signame=$(kill -l $((ret - 128))) 17*cc7d2833Sskrll FAIL "Killed by SIG$signame" 18*cc7d2833Sskrll fi 19*cc7d2833Sskrll} 20*cc7d2833Sskrll 21*cc7d2833SskrllDTC=../dtc 22*cc7d2833SskrllDTGET=../fdtget 23*cc7d2833SskrllDTPUT=../fdtput 24*cc7d2833SskrllFDTDUMP=../fdtdump 25*cc7d2833SskrllFDTOVERLAY=../fdtoverlay 26*cc7d2833Sskrll 27*cc7d2833Sskrllverbose_run () { 28*cc7d2833Sskrll if [ -z "$QUIET_TEST" ]; then 29*cc7d2833Sskrll "$@" 30*cc7d2833Sskrll else 31*cc7d2833Sskrll "$@" > /dev/null 2> /dev/null 32*cc7d2833Sskrll fi 33*cc7d2833Sskrll} 34*cc7d2833Sskrll 35*cc7d2833Sskrllverbose_run_check () { 36*cc7d2833Sskrll verbose_run "$@" 37*cc7d2833Sskrll ret="$?" 38*cc7d2833Sskrll FAIL_IF_SIGNAL $ret 39*cc7d2833Sskrll if [ $ret != 0 ]; then 40*cc7d2833Sskrll FAIL "Returned error code $ret" 41*cc7d2833Sskrll fi 42*cc7d2833Sskrll} 43*cc7d2833Sskrll 44*cc7d2833Sskrllverbose_run_log () { 45*cc7d2833Sskrll LOG="$1" 46*cc7d2833Sskrll shift 47*cc7d2833Sskrll "$@" > "$LOG" 2>&1 48*cc7d2833Sskrll ret=$? 49*cc7d2833Sskrll if [ -z "$QUIET_TEST" ]; then 50*cc7d2833Sskrll cat "$LOG" >&2 51*cc7d2833Sskrll fi 52*cc7d2833Sskrll return $ret 53*cc7d2833Sskrll} 54*cc7d2833Sskrll 55*cc7d2833Sskrllverbose_run_log_check () { 56*cc7d2833Sskrll verbose_run_log "$@" 57*cc7d2833Sskrll ret="$?" 58*cc7d2833Sskrll FAIL_IF_SIGNAL $ret 59*cc7d2833Sskrll if [ $ret != 0 ]; then 60*cc7d2833Sskrll FAIL "Returned error code $ret" 61*cc7d2833Sskrll fi 62*cc7d2833Sskrll} 63*cc7d2833Sskrll 64