1
0
mirror of https://github.com/sstephenson/bats.git synced 2024-11-17 11:42:33 +01:00

Initial tests

This commit is contained in:
Sam Stephenson 2011-12-28 16:21:48 -06:00
parent c850527cce
commit b9cfa7470c
4 changed files with 36 additions and 1 deletions

View File

@ -20,7 +20,11 @@ abs_dirname() {
} }
expand_path() { expand_path() {
echo "$(abs_dirname "$(dirname "$1")")/$(basename "$1")" { cd "$(dirname "$1")" 2>/dev/null
local dirname="$PWD"
cd "$OLDPWD"
echo "$dirname/$(basename "$1")"
} || echo "$1"
} }
BATS_LIBEXEC="$(abs_dirname "$0")" BATS_LIBEXEC="$(abs_dirname "$0")"

View File

@ -19,6 +19,15 @@ load() {
source "$BATS_TEST_DIRNAME/$1.bash" source "$BATS_TEST_DIRNAME/$1.bash"
} }
run() {
local e
[[ ! "$-" =~ e ]] || e=1
set +e
output="$("$@" 2>&1)"
status="$?"
[ -z "$e" ] || set -e
}
abort() { abort() {
[ "$#" -eq 0 ] || echo error: "$@" >&2 [ "$#" -eq 0 ] || echo error: "$@" >&2
exit 1 exit 1
@ -43,6 +52,7 @@ bats_test_function() {
} }
bats_exit_trap() { bats_exit_trap() {
trap - err exit
if [ -z "$BATS_TEST_COMPLETED" ]; then if [ -z "$BATS_TEST_COMPLETED" ]; then
echo "not ok $BATS_TEST_NUMBER $BATS_TEST_DESCRIPTION" echo "not ok $BATS_TEST_NUMBER $BATS_TEST_DESCRIPTION"
exit 1 exit 1

21
test/bats.bats Normal file
View File

@ -0,0 +1,21 @@
#!/usr/bin/env bats
FIXTURE_ROOT="$BATS_TEST_DIRNAME/fixtures"
@test "running 'bats' with no arguments prints usage instructions" {
run bats
[[ $status -eq 1 ]]
[[ $output =~ ^usage: ]]
}
@test "running 'bats' with an invalid filename prints an error" {
run bats nonexistent
[[ $status -eq 1 ]]
[[ $output =~ does\ not\ exist ]]
}
@test "running 'bats' with an empty test file runs zero tests" {
run bats "$FIXTURE_ROOT/empty.bats"
[[ $status -eq 0 ]]
[[ $output = "1..0" ]]
}

0
test/fixtures/empty.bats vendored Normal file
View File