You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
git-secret/vendor/bats-core/docs/CHANGELOG.md

13 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

[1.6.0] - 2022-02-24

Added

  • new flag --code-quote-style (and $BATS_CODE_QUOTE_STYLE) to customize quotes around code blocks in error output (#506)
  • an example/regression test for running background tasks without blocking the test run (#525, #535)
  • bats_load_library for loading libraries from the search path $BATS_LIB_PATH (#548)

Fixed

  • improved error trace for some broken cases (#279)
  • removed leftover debug file /tmp/latch in selftest suite (single use latch) (#516)
  • fix recurring errors on CTRL+C tests with NPM on Windows in selftest suite (#516)
  • fixed leaking of local variables from debug trap (#520)
  • don't mark FD3 output from teardown_file as <failure> in junit output (#532)
  • fix unbound variable error with Bash pre 4.4 (#550)

Documentation

  • remove links to defunct freenode IRC channel (#515)
  • improved grammar (#534)
  • fixed link to TAP spec (#537)

[1.5.0] - 2021-10-22

Added

  • new command line flags (#488)
    • --verbose-run: Make run print $output by default
    • -x, --trace: Print test commands as they are executed (like set -x)`
    • --show-output-of-passing-tests: Print output of passing tests
    • --print-output-on-failure: Automatically print the value of $output on failed tests
    • --gather-test-outputs-in <directory>: Gather the output of failing and passing tests as files in directory
  • Experimental: add return code checks to run via !/-<N> (#367, #507)
  • install.sh and uninstall.sh take an optional second parameter for the lib folder name to allow for multilib install, e.g. into lib64 (#452)
  • add run flag --keep-empty-lines to retain empty lines in ${lines[@]} (#224, a894fbfa)
  • add run flag --separate-stderr which also fills $stderr and $stderr_lines (#47, 5c9b173d, #507)

Fixed

  • don't glob run's $output when splitting into ${lines[@]} (#151, #152, #158, #156, #281, #289)
  • remove empty line after test with pretty formatter on some terminals (#481)
  • don't run setup_file/teardown_file on files without tests, e.g. due to filtering (#484)
  • print final line without newline on Bash 3.2 for midtest (ERREXIT) failures too (#495, #145)
  • abort with error on missing flock/shlock when running in parallel mode (#496)
  • improved set -u test and fixed some unset variable accesses (#498, #501)
  • shorten suite/file/test temporary folder paths to leave enough space even on restricted systems (#503)

Documentation

  • minor edits (#478)

[1.4.1] - 2021-07-24

Added

  • Docker image architectures amd64, 386, arm64, arm/v7, arm/v6, ppc64le, s390x (#438)

Fixed

  • automatic push to Dockerhub (#438)

[1.4.0] - 2021-07-23

Added

  • added BATS_TEST_TMPDIR, BATS_FILE_TMPDIR, BATS_SUITE_TMPDIR (#413)
  • added checks and improved documentation for $BATS_TMPDIR (#410)
  • the docker container now uses tini as the container entrypoint to improve signal forwarding (#407)
  • script to uninstall bats from a given prefix (#400)
  • replace preprocessed file path (e.g. /tmp/bats-run-22908-NP0f9h/bats.23102.src) with original filename in stdout/err (but not FD3!) (#429)
  • print aborted command on SIGINT/CTRL+C (#368)
  • print error message when BATS_RUN_TMPDIR could not be created (#422)

Documentation

Fixed

  • fix bats_tap_stream_unknown: command not found with pretty formatter, when writing non compliant extended output (#412)
  • avoid collisions on $BATS_RUN_TMPDIR with --no-tempdir-cleanup and docker by using mktemp additionally to PID (#409)
  • pretty printer now puts text that is printed to FD 3 below the test name (#426)
  • rm semaphores/slot-: No such file or directory in parallel mode on MacOS (#434, #433)
  • fix YAML blocks in TAP13 formatter using ... instead of --- to start a block (#442)
  • fixed some typos in comments (#441, #447)
  • ensure /code exists in docker container, to make examples work again (#440)
  • also display error messages from free code (#429)
  • npm installed version on Windows: fix broken internal LIBEXEC paths (#459)

[1.3.0] - 2021-03-08

Added

  • custom test-file extension via BATS_FILE_EXTENSION when searching for test files in a directory (#376)
  • TAP13 formatter, including millisecond timing (#337)
  • automatic release to NPM via Github Actions (#406)

Documentation

  • added documentation about overusing run (#343)
  • improved documentation of load (#332)

Changed

  • recursive suite mode will follow symlinks now (#370)
  • split options for (file-) --report-formatter and (stdout) --formatter (#345)
    • WARNING: This changes the meaning of --formatter junit. stdout will now show unified xml instead of TAP. From now on, please use --report-formatter junit to obtain the .xml report file!
  • removed --parallel-preserve-environment flag, as this is the default behavior (#324)
  • moved CI from Travis/Appveyor to Github Actions (#405)
  • preprocessed files are no longer removed if --no-tempdir-cleanup is specified (#395)

Documentation

Fixed

Correctness

  • fix internal failures due to unbound variables when test files use set -u (#392)
  • fix internal failures due to changes to $PATH in test files (#387)
  • fix test duration always being 0 on busybox installs (#363)
  • fix hangs on CTRL+C (#354)
  • make BATS_TEST_NUMBER count per file again (#326)
  • include lib/ in npm package (#352)

Performance

  • don't fork bomb in parallel mode (#339)
  • preprocess each file only once (#335)
  • avoid running duplicate files n^2 times (#338)

Documentation

  • fix documentation for --formatter junit (#334)
  • fix documentation for setup_file variables (#333)
  • fix link to examples page (#331)
  • fix link to "File Descriptor 3" section (#301)

[1.2.1] - 2020-07-06

Added

  • JUnit output and extensible formatter rewrite (#246)
  • load function now reads from absolute and relative paths, and $PATH (#282)
  • Beginner-friendly examples in /docs/examples (#243)
  • @peshay's bats-file fork contributed to bats-core/bats-file (#276)

Changed

  • Duplicate test names now error (previous behaviour was to issue a warning) (#286)
  • Changed default formatter in Docker to pretty by adding ncurses to Dockerfile, override with --tap (#239)
  • Replace "readlink -f" dependency with Bash solution (#217)

[1.2.0] - 2020-04-25

Support parallel suite execution and filtering by test name.

Added

  • docs/CHANGELOG.md and docs/releasing.md (#122)
  • The -f, --filter flag to run only the tests matching a regular expression (#126)
  • Optimize stack trace capture (#138)
  • --jobs n flag to support parallel execution of tests with GNU parallel (#172)

Changed

  • AppVeyor builds are now semver-compliant (#123)
  • Add Bash 5 as test target (#181)
  • Always use upper case signal names to avoid locale dependent err… (#215)
  • Fix for tests reading from stdin (#227)
  • Fix wrong line numbers of errors in bash < 4.4 (#229)
  • Remove preprocessed source after test run (#232)

1.1.0 - 2018-07-08

This is the first release with new features relative to the original Bats 0.4.0.

Added

  • The -r, --recursive flag to scan directory arguments recursively for *.bats files (#109)
  • The contrib/rpm/bats.spec file to build RPMs (#111)

Changed

  • Travis exercises latest versions of Bash from 3.2 through 4.4 (#116, #117)
  • Error output highlights invalid command line options (#45, #46, #118)
  • Replaced echo with printf (#120)

Fixed

  • Fixed BATS_ERROR_STATUS getting lost when bats_error_trap fired multiple times under Bash 4.2.x (#110)
  • Updated bin/bats symlink resolution, handling the case on CentOS where /bin is a symlink to /usr/bin (#113, #115)

1.0.2 - 2018-06-18

  • Fixed sstephenson/bats#240, whereby skip messages containing parentheses were truncated (#48)
  • Doc improvements:
    • Docker usage (#94)
    • Better README badges (#101)
    • Better installation instructions (#102, #104)
  • Packaging/installation improvements:
    • package.json update (#100)
    • Moved libexec/ files to libexec/bats-core/, improved install.sh (#105)

1.0.1 - 2018-06-09

  • Fixed a BATS_CWD bug introduced in #91 whereby it was set to the parent of PWD, when it should've been set to PWD itself (#98). This caused file names in stack traces to contain the basename of PWD as a prefix, when the names should've been purely relative to PWD.
  • Ensure the last line of test output prints when it doesn't end with a newline (#99). This was a quasi-bug introduced by replacing sed with while in #88.

1.0.0 - 2018-06-08

1.0.0 generally preserves compatibility with 0.4.0, but with some Bash compatibility improvements and a massive performance boost. In other words:

  • all existing tests should remain compatible
  • tests that might've failed or exhibited unexpected behavior on earlier versions of Bash should now also pass or behave as expected

Changes:

  • Added support for Docker.
  • Added support for test scripts that have the unofficial strict mode enabled.
  • Improved stability on Windows and macOS platforms.
  • Massive performance improvements, especially on Windows (#8)
  • Workarounds for inconsistent behavior between Bash versions (#82)
  • Workaround for preserving stack info after calling an exported function under Bash < 4.4 (#87)
  • Fixed TAP compliance for skipped tests
  • Added support for tabs in test names.
  • bin/bats and install.sh now work reliably on Windows (#91)

0.4.0 - 2014-08-13

  • Improved the display of failing test cases. Bats now shows the source code of failing test lines, along with full stack traces including function names, filenames, and line numbers.
  • Improved the display of the pretty-printed test summary line to include the number of skipped tests, if any.
  • Improved the speed of the preprocessor, dramatically shortening test and suite startup times.
  • Added support for absolute pathnames to the load helper.
  • Added support for single-line @test definitions.
  • Added bats(1) and bats(7) manual pages.
  • Modified the bats command to default to TAP output when the $CI variable is set, to better support environments such as Travis CI.

0.3.1 - 2013-10-28

  • Fixed an incompatibility with the pretty formatter in certain environments such as tmux.
  • Fixed a bug where the pretty formatter would crash if the first line of a test file's output was invalid TAP.

0.3.0 - 2013-10-21

  • Improved formatting for tests run from a terminal. Failing tests are now colored in red, and the total number of failing tests is displayed at the end of the test run. When Bats is not connected to a terminal (e.g. in CI runs), or when invoked with the --tap flag, output is displayed in standard TAP format.
  • Added the ability to skip tests using the skip command.
  • Added a message to failing test case output indicating the file and line number of the statement that caused the test to fail.
  • Added "ad-hoc" test suite support. You can now invoke bats with multiple filename or directory arguments to run all the specified tests in aggregate.
  • Added support for test files with Windows line endings.
  • Fixed regular expression warnings from certain versions of Bash.
  • Fixed a bug running tests containing lines that begin with -e.

0.2.0 - 2012-11-16

  • Added test suite support. The bats command accepts a directory name containing multiple test files to be run in aggregate.
  • Added the ability to count the number of test cases in a file or suite by passing the -c flag to bats.
  • Preprocessed sources are cached between test case runs in the same file for better performance.

0.1.0 - 2011-12-30

  • Initial public release.