fix(runner): improve DX for silent test failures#613
Merged
Chemaclass merged 5 commits intomainfrom Mar 19, 2026
Merged
Conversation
- Detect risky tests (zero assertions) and show warning - Apply strict mode flags (-uo pipefail) in hook execution - Detect source failures in all hooks (tear_down, set_up_before_script, tear_down_after_script) using errtrace-based error detection - Extend runtime error patterns with 6 additional Bash errors: ambiguous redirect, integer expression expected, too many arguments, value too great, not a valid identifier, unexpected EOF
Contributor
✅ Contributor ReportUser: @Chemaclass This user is on the trusted contributors list and was automatically approved. |
Normalize T separator to space before calling date -d, so BusyBox date on Alpine can parse ISO 8601 datetime strings like 2023-11-14T12:00:00.
JesusValeraDev
approved these changes
Mar 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Rin simple mode,⚠ Riskyin detailed mode). Does not cause failure — just a DX signal.set_up()andtear_down()now respect--strictmode flags (-uo pipefail), so unbound variables in hooks are caught.tear_down(),set_up_before_script(), andtear_down_after_script()now detectsourceof non-existent files (previously onlyset_up()was protected via Source inexistent file makes test pass #611). Usesset -E(errtrace) instead ofset -eEto prevent the main process from crashing on Bash 3.2.ambiguous redirect,integer expression expected,too many arguments,value too great,not a valid identifier,unexpected EOF.Related to #611
Test plan
./bashunit --no-parallel tests/— all 929 tests pass (897 passed, 20 risky, 0 failed)./bashunit --parallel --simple tests/— parallel mode passesmake sa— ShellCheck passesmake lint— EditorConfig passes