0.7.0
-
Automatically provision Bash and Unix utilities, including PCRE support, for
bashtest on Windows x86-64 without system installation or PATH configuration. -
Added named
toolsmappings that build executables for the test execution
platform and export their resolved paths with their runtime runfiles. -
Added Windows support with MSYS2 Bash using rules_shell runfiles resolution.
-
Preserved the existing source API while supporting manifest-only runfiles and
renamed external module dependencies. -
Fixed golden-file diagnostics and updates for manifest paths and filenames
containing spaces or regular-expression characters. Tool errors do not update
golden files, and short options preserve spaces in their values.
- Fetch shallow publication snapshots and report complete site size with a 250 MB advisory budget.
0.6.1
- Transferred the canonical repository from
helly25/bashtestto
mboworks/bashtest; future releases use the newmboworks_bashtestmodule
name. - Added managed per-fixture scratch directories through
test_tmpdir, with
configurable retention and cleanup.
0.6.0
- Added
skip_test "${REASON}": marks the current test as skipped and reports the reason. Use
skip_test "reason" && returnto end the test body. - Added
--no-skip, which turns everyskip_testinto a failure. For an environment that
GUARANTEES the capability a test probes for, where a skip means the guarantee broke. - Fixed: a fatal abort inside a test no longer reports success. The
EXITtrap's own last command
became the script's exit status, so a failing run could exit 0. This repository's own test suite
was dying at case 5 of 12 underset -uand still reporting PASS, hiding the seven that never
ran. - Fixed:
expect_contains/expect_not_containsaborted the shell when given an EMPTY array.
bash 3.2 (which macOS ships) treats"${@}"and"${array[@]}"as unbound underset -u.
0.5.0
- Added text-matching assertions:
expect_output_contains/expect_output_not_contains: literal substring checks.expect_matches/expect_not_matches: extended regular expression (ERE) checks via bash's built-in[[ =~ ]](no subprocess, so SIGPIPE-safe underset -o pipefail).^/$anchor the whole text, not individual lines.expect_pcre_matches/expect_pcre_not_matches: Perl Compatible Regular Expression checks. These shell out to an external tool (grep -P,ggrep -P,pcre2grep, orpcregrep) via a here-string and fail with an actionable message when none is available.
- Documented the
cmd | grep -qSIGPIPE-under-pipefail pitfall in the README.
0.4.0
- Renamed the module repo to
helly25_bashtestand dropped thecom_helly25_bashtestalias. Thebashtestmacro now resolves its runtime via a repo-relativeLabel, so it works regardless of the apparent repo name. Consumers must updateload("@helly25_bashtest//bashtest:bashtest.bzl", "bashtest")(previously@com_helly25_bashtest). - Dropped legacy
WORKSPACEsupport; the module is now bzlmod-only. - Extended the BCR presubmit support matrix: added Bazel 9.x and the Linux platforms ubuntu 22.04, Debian 12, and Rocky Linux 8 (alongside the existing ubuntu 24.04 and macOS).
0.3.1
- Re-release of 0.3.0 (no functional changes).
0.3.0
- Added explicit load of
sh_library(needed for bazel 9). - Upgraded dependencies: bazel 9.1.1, bazel_skylib 1.8.2, platforms 1.0.0, rules_shell 0.6.1.
0.2.0
- Added convenient target to print
bashtesthelpbazel run //bashtest:bashtest_helpwhich can be used with|pandoc -s -t man|man -l -. - Fixed description for flag '--test_filter'.
- Added '--gtest_filter' which is an actual glob based filter (as opposed to '--test_filter' which uses posix regular expressions).
- Correct support for space separated flag values.
0.1.0
- Initial version moved from helly25_mbo//testing/bashtest*