Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: add &>> implementation #103

Merged
merged 1 commit into from
Jun 29, 2024
Merged

fix: add &>> implementation #103

merged 1 commit into from
Jun 29, 2024

Conversation

reubeno
Copy link
Owner

@reubeno reubeno commented Jun 29, 2024

&> is already implemented; this adds the append version of it.

Fixes #102

@reubeno reubeno enabled auto-merge (squash) June 29, 2024 03:46
@reubeno reubeno added the found by fuzz testing Found with fuzz testing label Jun 29, 2024
@reubeno reubeno merged commit 31ab67b into main Jun 29, 2024
7 checks passed
@reubeno reubeno deleted the out-and-err-append branch June 29, 2024 03:54
Copy link

Test Results

403 tests   388 ✅  1m 19s ⏱️
 64 suites   15 💤
  8 files      0 ❌

Results for commit f9bbdba.

Copy link

Performance Benchmark Report

Benchmark name Baseline (ns) Test/PR (ns) Delta (ns) Delta %
expand_one_string 3463 ns 3462 ns -1 ns 🟢 -0.03%
instantiate_shell 61434 ns 60966 ns -468 ns 🟢 -0.76%
instantiate_shell_with_init_scripts 27431918 ns 27532151 ns +100233 ns 🟠 +0.37%
parse_bash_completion 5490730 ns 5504909 ns +14179 ns 🟠 +0.26%
parse_sample_script 8893 ns 8932 ns +39 ns 🟠 +0.44%
run_echo_builtin_command 94457 ns 94544 ns +87 ns 🟠 +0.09%
run_one_builtin_command 113790 ns 111536 ns -2254 ns 🟢 -1.98%
run_one_external_command 1931943 ns 1931440 ns -503 ns 🟢 -0.03%
run_one_external_command_directly 994876 ns 997540 ns +2664 ns 🟠 +0.27%

Code Coverage Report

Package Base Coverage New Coverage Difference
/home/runner/work/brush/brush/brush-core/src/arithmetic.rs 🟢 99.01% 🟢 99.01% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtin.rs 🔴 31.21% 🔴 31.21% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/alias.rs 🟢 83.87% 🟢 83.87% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/bg.rs 🔴 0% 🔴 0% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/break_.rs 🟢 90% 🟢 90% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/builtin_.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/cd.rs 🟢 88.57% 🟢 88.57% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/colon.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/command.rs 🟢 93.26% 🟢 93.26% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/complete.rs 🔴 21.48% 🔴 21.48% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/continue_.rs 🟢 90% 🟢 90% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/declare.rs 🟢 82.83% 🟢 82.83% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/dirs.rs 🟢 90.48% 🟢 90.48% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/dot.rs 🟢 95.65% 🟢 95.65% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/echo.rs 🟢 86.84% 🟢 86.84% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/enable.rs 🟢 91.07% 🟢 91.07% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/eval.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/exec.rs 🟢 90.32% 🟢 90.32% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/exit.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/export.rs 🟢 88.73% 🟢 88.73% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/false_.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/fg.rs 🔴 0% 🔴 0% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/getopts.rs 🟢 97.7% 🟢 97.7% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/help.rs 🟢 91.86% 🟢 91.86% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/jobs.rs 🔴 41.86% 🔴 41.86% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/kill.rs 🔴 0% 🔴 0% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/let_.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/mod.rs 🟢 94.61% 🟢 94.61% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/popd.rs 🟢 94.12% 🟢 94.12% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/printf.rs 🟢 91.18% 🟢 91.18% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/pushd.rs 🟢 91.3% 🟢 91.3% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/pwd.rs 🟢 89.47% 🟢 89.47% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/read.rs 🟠 73.53% 🟠 73.53% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/return_.rs 🟢 83.33% 🟢 83.33% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/set.rs 🟢 76.64% 🟢 76.64% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/shift.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/shopt.rs 🟢 88.39% 🟢 88.39% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/test.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/trap.rs 🟢 83.15% 🟢 83.15% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/true_.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/type_.rs 🟢 90.27% 🟢 90.27% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/umask.rs 🔴 0% 🔴 0% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/unalias.rs 🔴 0% 🔴 0% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/unimp.rs 🔴 0% 🔴 0% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/unset.rs 🟢 94.64% 🟢 94.64% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/builtins/wait.rs 🟢 85.71% 🟢 85.71% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/commands.rs 🟢 92.86% 🟢 92.86% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/completion.rs 🔴 42.49% 🔴 42.49% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/env.rs 🟢 87.85% 🟢 87.85% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/error.rs 🔴 25% 🔴 25% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/escape.rs 🔴 14.91% 🔴 14.91% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/expansion.rs 🟢 95.95% 🟢 95.95% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/extendedtests.rs 🟠 64.15% 🟠 64.15% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/files.rs 🟠 66.67% 🟠 66.67% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/functions.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/interp.rs 🟢 93.11% 🟢 93.14% 🟢 0.03%
/home/runner/work/brush/brush/brush-core/src/jobs.rs 🔴 41.45% 🔴 39.38% 🔴 -2.07%
/home/runner/work/brush/brush/brush-core/src/keywords.rs 🟢 96.88% 🟢 96.88% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/namedoptions.rs 🟠 52.34% 🟠 52.34% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/openfiles.rs 🔴 46.15% 🔴 46.15% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/options.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/patterns.rs 🟢 96.96% 🟢 96.96% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/prompt.rs 🟢 78.48% 🟢 78.48% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/regex.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/shell.rs 🟢 78.44% 🟢 78.61% 🟢 0.17%
/home/runner/work/brush/brush/brush-core/src/tests.rs 🟠 50% 🟠 50% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/traps.rs 🟠 50% 🟠 50% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/users.rs 🔴 16.13% 🔴 16.13% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/variables.rs 🟢 79.91% 🟢 79.91% ⚪ 0%
/home/runner/work/brush/brush/brush-interactive/src/interactive_shell.rs 🟢 77.78% 🟢 77.78% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/arithmetic.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/ast.rs 🔴 29.36% 🔴 29.11% 🔴 -0.25%
/home/runner/work/brush/brush/brush-parser/src/error.rs 🟢 76.92% 🟢 76.92% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/parser.rs 🟢 99.73% 🟢 99.73% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/pattern.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/prompt.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/test_command.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/tokenizer.rs 🟢 96.36% 🟢 96.36% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/word.rs 🟢 100% 🟢 100% ⚪ 0%
/home/runner/work/brush/brush/brush-shell/src/main.rs 🟠 71.63% 🟠 71.63% ⚪ 0%
Overall Coverage 🟢 78.57% 🟢 78.53% 🔴 -0.04%

Minimum allowed coverage is 0%, this run produced 78.53%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
found by fuzz testing Found with fuzz testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add &>> to complement already-implemented &> redirection operator
1 participant