+
Skip to content

Releases: bats-core/bats-core

v1.12.0

18 May 21:07
v1.12.0
713504b
Compare
Choose a tag to compare

Added :

  • bats::on_failure hook that gets called when a test or setup* function fails (#1031)

Fixed:

  • increase compatibility with Solaris (#1043)
  • fix noclobber breaking bats-gather-tests (#1042)
  • fix exiting with 0 despite bats:focus when all tests have been filtered out (#1058)
  • remove deprecated ubuntu 20.04 from CI config (#1083)

Documentation:

  • Fix hyperlink to external Bash resource (#1033)
  • Remove mentions to no longer existing find_library_load_path in
    lib/bats-core docstrings (#1032)
  • Add missing "status" word in --returned-status documentation (#1077)

v1.11.1

29 Nov 22:33
v1.11.1
b640ec3
Compare
Choose a tag to compare

Added:

  • make Dockerfile compatible with #!/bin/bash files (#967)

Documentation

  • document bats_pipe function (#901)

Fixed:

  • unbreak test suites with multiple files loading common constants (#904), introduced in v1.11.0
  • docker image won't crash if a file or directory named 'bats' exists (#920)
  • use $BATS_LIBDIR instead of hardcoded lib in 'bats-gather-tests' (#985, #990)

Changed:

  • update Docker image with the latest bats-detik version 1.3.2 (#1017)
  • cleanup: remove unused $BATS_FILTER (#907)

Documentation

  • fix hard-coded link to readthedocs (#901)
  • fix tutorial code for multiline test suite (#1011)

v1.11.0

24 Mar 15:05
v1.11.0
5da6687
Compare
Choose a tag to compare

Added:

  • hardened CI scripts by using hashes instead of versions for actions and restricting permissions (#754, #770)
  • add security.md (#762)
  • add codespell CI checks (#720)
  • dynamic test registration via bats_test_function (#349)
  • add check that Bats is executed with Bash >= 3.2 (#873)

Fixed:

  • install.sh now works for deviating lib/ dirs (like lib32,lib64) (#487)
  • catch unset BATS_TEST_SOURCE in lib/bats-core/tracing.bash so
    set -u/set -o nounset works as expected (#827)
  • fix --gather-test-outputs-in fails on tests with multiple / (#789)
  • install does not create unused /usr/share/bats anymore (#857)
  • ensure IFS is unchanged in {setup,teardown}{_suite,_file,}, @test and free code (#879)
  • junit formatter: remove ANSI Codes to avoid invalid XML character (#886)

Changed:

  • update Docker image with the latest bats-file version 0.4.0 (#780)
  • update Docker image with the latest bats-detik version 1.3.0 (#876)

Documentation

  • clarify docker usage (#741)
  • update Arch Linux package URL in installation.rst (#821)
  • rename bash-bats to bats for Arch Linux in installation.rst (#836)
  • fix FAQ entry about setup-/teardown_suite, as they are available now (#861)
  • added logo (#881)

v1.11.0-RC2

21 Feb 12:49
7531b57
Compare
Choose a tag to compare
v1.11.0-RC2 Pre-release
Pre-release

Fixes compared to RC1:

  • static tests are now interleaved with dynamic tests in the order they were declared in the file (#860)
  • setting PATH in free code does not break bats-gather-tests anymore (#858)

Please report problems in the associated discussion page.

v1.11.0-RC1

27 Jan 19:01
990d8e2
Compare
Choose a tag to compare
v1.11.0-RC1 Pre-release
Pre-release

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.

Added

  • hardened CI scripts by using hashes instead of versions for actions and restricting permissions (#754, #770)
  • add security.md (#762)
  • add codespell CI checks (#720)
  • dynamic test registration via bats_test_function (#349)

Fixed

  • install.sh now works for deviating lib/ dirs (like lib32,lib64) (#487)
  • catch unset BATS_TEST_SOURCE in lib/bats-core/tracing.bash so
    set -u/set -o nounset works as expected (#827)
  • fix --gather-test-outputs-in fails on tests with multiple / (#789)

Changed

  • update Docker image with the latest bats-file version 0.4.0 (#780)
  • update Docker image with the latest bats-detik version 1.2.1 (#810)

Documentation

  • clarify docker usage (#741)
  • update Arch Linux package URL in installation.rst (#821)
  • rename bash-bats to bats for Arch Linux in installation.rst (#836)

v1.10.0

15 Jul 22:03
v1.10.0
f7defb9
Compare
Choose a tag to compare

Added:

  • add ${BATS_TEST_TAGS[@]} for querying the tags during a test (#705)
  • print tags on failing tests (#705)
  • test for negative arguments to --jobs (#693)
  • add tests for --formatter cat (#710)
  • test coverage in CI (#718)
  • Support for rush as alternative to GNU parallel (#729)
  • add bats_pipe helper function for run that executes \| as pipes (#663)
  • publish docker images to ghcr.io (additionally to Dockerhub) (#740)

Documentation:

  • clarify use cases of --formatter cat (#710)

Fixed:

  • fix run with options overwriting the value of i (#726, #727)
  • fix ${BATS_TEST_NAMES[@]} containing only --tags instead of test name since Bats v1.8.0 (#705)
  • fix run --keep-empty-lines counting trailing \n as (empty) new line (#711)
  • fix short flag unpacker creating bogus command lines with valued flags (#732)
  • fix formatter becoming confused with retries (#734)
  • fix --gather-test-outputs-in fails on tests with / (#735)
  • fix overriding date breaks --timing (#736)

Documentation

  • typos, minor edits (#704)
  • simplified contributing.md (#718)

v1.9.0

12 Feb 12:36
v1.9.0
6636e2c
Compare
Choose a tag to compare

Added:

  • add installation instructions for Debian, Fedora, Gentoo, and OpenSUSE (#659)
  • add --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
  • add bats:focus tag to run only focused tests (#679)
  • add bats-support, bats-assert, bats-file and bats-detik to Dockerfile (#674)

Documentation:

  • add --help text and man page content for --filter-tags (#679)

Fixed:

  • explicitly check for GNU parallel (#691)
  • wait for report-formatter to finish before ending bats' execution,
    to fix empty files with --report-fomatter junit under Docker (#692)

Documentation

  • improved clarity of section about output in free code (#671)
  • fixed typos (#673)
  • clarify use cases of run (#366)

v1.8.2

19 Oct 21:38
v1.8.2
e8c840b
Compare
Choose a tag to compare

Bats 1.8.2

Released: 2022-10-19

Fixed:

  • fix non zero return code on successful retried tests (#670)

v1.8.1

19 Oct 20:32
v1.8.1
27807ae
Compare
Choose a tag to compare

Bats 1.8.1

Released: 2022-10-19

Fixed:

  • shfmt all files and enforce via CI (#651)
  • avoid kernel warning flood/hang with CTRL+C on Bash 5.2 RC (#656)
  • Fix infinite wait with (invalid) -j<n> (without space) (#657)

v1.8.0

14 Sep 23:38
v1.8.0
e9b286b
Compare
Choose a tag to compare

Bats 1.8.0

Released: 2022-09-15

Added:

  • using external formatters via --formatter <absolute path> (also works for
    --report-formatter) (#602)
  • running only tests that failed in the last run via --filter-status failed (#483)
  • variable BATS_TEST_RETRIES that specifies how often a test should be
    reattempted before it is considered failed (#618)
  • Docker tags 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)
  • also print (nonempty) $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)
  • warning BW03: inform about setup_suite in wrong file (.bats instead of setup_suite.bash) (#652)

Documentation

  • update gotcha about negated statements: Recommend using run ! on Bats
    versions >=1.5.0 (#593)
  • add documentation for bats_require_minimum_version (#595)
  • improve documentation about setup_suite (#652)

Fixed:

  • added missing shebang (#597)
  • remaining instances of run -<N> being incorrectly documented as run =<N> (#599)
  • allow --gather-test-outputs-in <directory> to work with existing, empty
    directories (#603)
    • also add --clean-and-gather-test-outputs-in <directory> for improved UX
  • double slashes in paths derived from TMPDIR on MacOS (#607)
  • fix load in teardown marking failed tests as not run (#612)
  • fix unset variable errors (with set -u) and add regression test (#621)
  • 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)
  • upgraded from deprecated CI envs for MacOS (10 -> 11,12) and Ubuntu
    (18.04 -> 22.04) (#630)
  • add /usr/lib/bats as default value for BATS_LIB_PATH (#628)
  • fix unset variable in bats-formatter-junit when setup_file fails (#632)
  • unify error behavior of teardown/teardown_file/teardown_suite functions:
    only fail via return code, not via ERREXIT (#633)
  • fix unbound variable errors with set -u on setup_suite failures (#643)
  • fix load not being available in setup_suite (#644)
  • fix RPM spec, add regression test (#648)
  • fix handling of IFS by run (#650)
  • only print setup_suite's stderr on errors (#649)

Documentation

  • fix typos, spelling and links (#596, #604, #619, #627)
  • fix redirection order of an example in the tutorial (#617)
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载