Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
improve
eval_capture
and test on all bash versions
dorothy, eval-tester, debug-bash: - testing on all or specific bash versions now moved to `debug-bash` - by default `dorothy test` will now test on all available bash versions - `dorothy test` and `debug-bash` can specify multiple custom bash versions/binaries via `--bash=<version/binary>` - `eval-tester` can specify a specific custom bash version/binary via `--bash=<version/binary>` - `debug-bash` now doens't include `-x` by default, you have to include it - now enforces the specific bash binary via a `PATH` bin symlink handle, which ensures the bash version is enforced correctly in all command invocations, not just the immediate ones, except of course when they source `environment.bash` but that is a case we don't wnat to handle - `dorothy test` now can also customise the skips via `--skip=<test>` - `eval-tester` now sources `debug-bash` such that it can now correctly debug functions eval-helper: - now code styles the default wrapped command output, to make things easier to follow dorothy: - as the `eval_capture` race condition is now fixed, make flakey clean such that we can retest them, as perhaps their issues were due to the race condition - test if `__debug_lines` lingered - test if `eval_capture` failed to cleanup `bash.bash:eval_capture`: - added new `__debug_lines` helper in `bash.bash`, which `dorothy test` will check if any lingered and will fail - now has more detailed debugging (commented out) as well as expanatory comments - fixed some comment documentation for pipefail and errtace options - now correctly licensed under the RPL as is the rest of dorothy - now correctly saves the status output to handle a special use case, which currently is still debugged - before the code for this was present, but a typo that commented out the `__print_lines` code prevented it from ever being loaded, so as there was no issues over the 2 years this was the case, it may not actually be needed, hence the lingering `__debug_lines` statement for us to detect this on CI, as it may just affect specific bash versions, so more testing is needed (that will come later) - the move to `[[` actually allows us to move `__is_errexit` and `__is_subshell_function` to their own methods, without impacting the `eval_capture` trap - fixed the race condition (works on everything except bash 4.1.0) /close #277 - the race condition fix also allows us to not bother with the temp file checks, as we can assume that have been written by then versions.md: - all this improved testing has revealed that bash versions below 3.2 are unsupported
- Loading branch information