Bash Automated Testing System
bats_test_function
(#349)install.sh
now works for deviating lib/
dirs (like lib32
,lib64
) (#487)BATS_TEST_SOURCE
in lib/bats-core/tracing.bash
so
set -u
/set -o nounset
works as expected (#827)--gather-test-outputs-in
fails on tests with multiple /
(#789)/usr/share/bats
anymore (#857){setup,teardown}{_suite,_file,}
, @test
and free code (#879)bats-file
version 0.4.0 (#780)bats-detik
version 1.3.0 (#876)Fixes compared to RC1:
bats-gather-tests
anymore (#858)Please report problems in the associated discussion page.
Due to the extensive changes necessary for the dynamic test registration, this is first released as a candidate for users to check if it works as intended.
bats_test_function
(#349)install.sh
now works for deviating lib/
dirs (like lib32
,lib64
) (#487)BATS_TEST_SOURCE
in lib/bats-core/tracing.bash
so
set -u
/set -o nounset
works as expected (#827)--gather-test-outputs-in
fails on tests with multiple /
(#789)bats-file
version 0.4.0 (#780)bats-detik
version 1.2.1 (#810)${BATS_TEST_TAGS[@]}
for querying the tags during a test (#705)--jobs
(#693)--formatter cat
(#710)bats_pipe
helper function for run
that executes \|
as pipes (#663)--formatter cat
(#710)run
with options overwriting the value of i
(#726, #727)${BATS_TEST_NAMES[@]}
containing only --tags
instead of test name since Bats v1.8.0 (#705)run --keep-empty-lines
counting trailing \n
as (empty) new line (#711)--gather-test-outputs-in
fails on tests with /
(#735)date
breaks --timing
(#736)--line-reference-format
to switch file/line references in stack traces (#665)
comma_line
(default): file.bats, line 1
colon
: file.bats:1
uri
: file:///path/to/file.bats:1
custom
: define your own formatter in bats_format_file_line_reference_custom
bats:focus
tag to run only focused tests (#679)--help
text and man
page content for --filter-tags
(#679)bats
' execution,
to fix empty files with --report-fomatter junit
under Docker (#692)run
(#366)Bats 1.8.2
Released: 2022-10-19
Fixed:
Bats 1.8.1
Released: 2022-10-19
Fixed:
shfmt
all files and enforce via CI (#651)-j<n>
(without space) (#657)Bats 1.8.0
Released: 2022-09-15
--formatter <absolute path>
(also works for
--report-formatter
) (#602)--filter-status failed
(#483)BATS_TEST_RETRIES
that specifies how often a test should be
reattempted before it is considered failed (#618)latest-no-faccessat2
and <bats-version\>-no-faccessat2
for
avoiding bash: bats: No such file or directory
on docker<20.10
(or
runc<v1.0.0-rc93
) (#622)BATS_TEST_TIMEOUT
variable to force a timeout on test (including setup()
) (#491)$stderr
(from run --separate-stderr
) with
--print-output-on-failure
(#631)# bats test_tags=<tag list>
/# bats file_tags=<tag list>
and
--filter-tags <tag list>
for tagging tests for execution filters (#642)setup_suite
in wrong file (.bats
instead of setup_suite.bash
) (#652)run !
on Bats
versions >=1.5.0 (#593)bats_require_minimum_version
(#595)setup_suite
(#652)run -<N>
being incorrectly documented as run =<N>
(#599)--gather-test-outputs-in <directory>
to work with existing, empty
directories (#603)
--clean-and-gather-test-outputs-in <directory>
for improved UXload
in teardown
marking failed tests as not run (#612)teardown_file
errors don't swallow setup_file
errors anymore, the behavior
is more like teardown
's now (only return
/last command can trigger teardown
errors) (#623)/usr/lib/bats
as default value for BATS_LIB_PATH
(#628)bats-formatter-junit
when setup_file
fails (#632)teardown
/teardown_file
/teardown_suite
functions:
only fail via return code, not via ERREXIT (#633)set -u
on setup_suite
failures (#643)load
not being available in setup_suite
(#644)IFS
by run
(#650)setup_suite
's stderr on errors (#649)Bats 1.7.0
Released: 2022-05-14
bats_require_minimum_version
guard (#587)bats_require_minimum_version
to guard code that would not run on older
versions (#587)$BATS_VERSION
(#557)SHELLOPTS=nounset
(-u
) (#558)flock
and shlock
for parallel mode test (#554)#
with pretty formatter (#561)teardown
, teardown_file
, and teardown_suite
from overriding bats'
exit code by setting $status
(e.g. via calling run
) (#581, #575)
run --keep-empty-lines
now reports 0 lines on empty $output
(#583)run -N
(had =N
instead) (#579)
Bats 1.6.1
Released: 2022-05-14
teardown
, teardown_file
, and teardown_suite
from overriding bats'
exit code by setting $status
(e.g. via calling run
) (#581, #575)
run -N
(had =N
instead) (#579)