Big thanks to @vincentbernat for this one!
Source: sstephenson/bats#135 (comment)
#!bats
load fail_fast
setup() {
fail_fast
}
teardown() {
mark_test_as_completed
}
# put your tests below
#!/usr/bin/env bash
fail_fast() {
[ ! -f "${BATS_PARENT_TMPNAME}.skip" ] || skip "skipping; fail-fast is enabled"
}
mark_test_as_complete() {
[ -n "$BATS_TEST_COMPLETED" ] || touch ${BATS_PARENT_TMPNAME}.skip
}