Skip all tests of file after failed setup_file

This commit is contained in:
Martin Schulze 2019-09-11 01:01:51 +02:00
parent 8e6152ff2f
commit 3513944d0a
1 changed files with 10 additions and 0 deletions

View File

@ -34,16 +34,26 @@ function wait_for_finished_setup_in_container() {
repeat_until_success_or_timeout $TEST_TIMEOUT_IN_SECONDS sh -c "docker logs $1 | grep 'Starting mail server'"
}
SETUP_FILE_MARKER="$BATS_TMPDIR/`basename \"$BATS_TEST_FILENAME\".setup_file`"
# use in setup() in conjunction with a `@test "first" {}` to trigger setup_file reliably
function run_setup_file_if_necessary() {
if [ "$BATS_TEST_NAME" == 'test_first' ]; then
rm -f "$SETUP_FILE_MARKE"
setup_file
touch "$SETUP_FILE_MARKER"
else
if [ ! -f "$SETUP_FILE_MARKER" ]; then
skip "setup_file failed"
return 1
fi
fi
}
# use in teardown() in conjunction with a `@test "last" {}` to trigger teardown_file reliably
function run_teardown_file_if_necessary() {
if [ "$BATS_TEST_NAME" == 'test_last' ]; then
rm -f "$SETUP_FILE_MARKE"
teardown_file
fi
}