setup() {
|
|
export PYENV_ROOT="${BATS_TEST_TMPDIR}/root"
|
|
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
|
|
PATH="${BATS_TEST_DIRNAME}/../libexec:$PATH"
|
|
export PATH
|
|
|
|
# If test specific setup exist, run it
|
|
if [[ $(type -t _setup) == function ]]; then
|
|
_setup
|
|
fi
|
|
}
|
|
|
|
flunk() {
|
|
{ if [ "$#" -eq 0 ]; then cat -
|
|
else echo "$@"
|
|
fi
|
|
} | sed "s:${BATS_TEST_TMPDIR}:\${BATS_TEST_TMPDIR}:g" >&2
|
|
return 1
|
|
}
|
|
|
|
assert() {
|
|
if ! "$@"; then
|
|
flunk "failed: $@"
|
|
fi
|
|
}
|
|
|
|
assert_success() {
|
|
if [ "$status" -ne 0 ]; then
|
|
{ echo "command failed with exit status $status"
|
|
echo "output: $output"
|
|
} | flunk
|
|
elif [ "$#" -gt 0 ]; then
|
|
assert_output "$1"
|
|
fi
|
|
}
|
|
|
|
assert_failure() {
|
|
if [ "$status" -eq 0 ]; then
|
|
flunk "expected failed exit status"
|
|
elif [ "$#" -gt 0 ]; then
|
|
assert_output "$1"
|
|
fi
|
|
}
|
|
|
|
assert_equal() {
|
|
if [ "$1" != "$2" ]; then
|
|
{ echo "expected: $1"
|
|
echo "actual: $2"
|
|
} | flunk
|
|
fi
|
|
}
|
|
|
|
assert_output() {
|
|
local expected
|
|
if [ $# -eq 0 ]; then expected="$(cat -)"
|
|
else expected="$1"
|
|
fi
|
|
assert_equal "$expected" "$output"
|
|
}
|
|
|
|
assert_output_contains() {
|
|
local expected="$1"
|
|
echo "$output" | grep -F "$expected" >/dev/null || {
|
|
{ echo "expected output to contain: $expected"
|
|
echo "actual: $output"
|
|
} | flunk
|
|
}
|
|
}
|