#!/bin/sh ME_="${0##*/}" warn_() { printf >&2 '%s\n' "$*"; } fail_() { warn_ "$ME_: failed test: $*"; exit 1; } skip_() { warn_ "$ME_: skipped test: $*"; exit 77; } framework_failure_() { warn_ "$ME_: framework failure: $*"; exit 99; } framework_skip_() { warn_ "$ME_: framework skip: $*"; exit 77; } check_prog() { type "$@" > /dev/null 2>&1 || framework_skip_ "$* is not available" } check_strace() { STRACE=${*:-strace} $STRACE -V > /dev/null || framework_failure_ "$STRACE is not available" } timeout_duration=60 check_timeout() { TIMEOUT="timeout -s 9 $timeout_duration" $TIMEOUT true > /dev/null 2>&1 || TIMEOUT= }