Dmitry V. Levin | 4e4b5ad | 2011-02-27 00:28:50 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | ME_="${0##*/}" |
| 4 | |
| 5 | warn_() { printf >&2 '%s\n' "$*"; } |
| 6 | fail_() { warn_ "$ME_: failed test: $*"; exit 1; } |
| 7 | skip_() { warn_ "$ME_: skipped test: $*"; exit 77; } |
| 8 | framework_failure_() { warn_ "$ME_: framework failure: $*"; exit 99; } |
Mike Frysinger | e689e04 | 2011-02-28 19:57:24 -0500 | [diff] [blame] | 9 | framework_skip_() { warn_ "$ME_: framework skip: $*"; exit 77; } |
Dmitry V. Levin | 4e4b5ad | 2011-02-27 00:28:50 +0000 | [diff] [blame] | 10 | |
| 11 | check_prog() |
| 12 | { |
Maxin B. John | 066a733 | 2013-03-18 11:35:06 +0100 | [diff] [blame] | 13 | type "$@" > /dev/null 2>&1 || |
Mike Frysinger | e689e04 | 2011-02-28 19:57:24 -0500 | [diff] [blame] | 14 | framework_skip_ "$* is not available" |
Dmitry V. Levin | 4e4b5ad | 2011-02-27 00:28:50 +0000 | [diff] [blame] | 15 | } |
| 16 | |
| 17 | check_strace() |
| 18 | { |
Dmitry V. Levin | 84abf70 | 2012-03-15 20:17:49 +0000 | [diff] [blame] | 19 | STRACE=${*:-../strace} |
Dmitry V. Levin | 4e4b5ad | 2011-02-27 00:28:50 +0000 | [diff] [blame] | 20 | $STRACE -V > /dev/null || |
| 21 | framework_failure_ "$STRACE is not available" |
| 22 | } |
Dmitry V. Levin | 56fb81c | 2013-05-08 01:39:55 +0000 | [diff] [blame^] | 23 | |
| 24 | timeout_duration=60 |
| 25 | check_timeout() |
| 26 | { |
| 27 | TIMEOUT="timeout -s 9 $timeout_duration" |
| 28 | $TIMEOUT true > /dev/null 2>&1 || |
| 29 | TIMEOUT= |
| 30 | } |