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: compgen -W expansion #78

Merged
merged 1 commit into from
Jun 12, 2024
Merged

fix: compgen -W expansion #78

merged 1 commit into from
Jun 12, 2024

Conversation

reubeno
Copy link
Owner

@reubeno reubeno commented Jun 12, 2024

With additional testing we see that the word string passed to 'compgen -W' is not only split but first expanded. Correcting that fixes completion of arguments to 'complete -p', among various other commands.

With additional testing we see that the word string passed to
'compgen -W' is not only split but first expanded. Correcting
that fixes completion of arguments to 'complete -p', among
various other commands.
Copy link

Test Results

394 tests   382 ✅  1m 23s ⏱️
 64 suites   12 💤
  8 files      0 ❌

Results for commit f661922.

Copy link

Performance Benchmark Report

Benchmark name Baseline (ns) Test/PR (ns) Delta (ns) Delta %
expand_one_string 3454 ns 3457 ns +3 ns 🟠 +0.09%
instantiate_shell 61064 ns 61983 ns +919 ns 🟠 +1.50%
instantiate_shell_with_init_scripts 27956542 ns 28398944 ns +442402 ns 🟠 +1.58%
parse_bash_completion 5616422 ns 5659978 ns +43556 ns 🟠 +0.78%
parse_sample_script 9103 ns 9055 ns -48 ns 🟢 -0.53%
run_echo_builtin_command 93298 ns 95978 ns +2680 ns 🟠 +2.87%
run_one_builtin_command 111624 ns 113417 ns +1793 ns 🟠 +1.61%
run_one_external_command 1935410 ns 1960245 ns +24835 ns 🟠 +1.28%
run_one_external_command_directly 1009269 ns 1009706 ns +437 ns 🟠 +0.04%

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 🔴 32.12% 🔴 32.12% ⚪ 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.11% 🟢 86.11% ⚪ 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 🟢 91.43% 🟢 91.43% ⚪ 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 🟢 92.86% 🟢 92.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 🟢 90.91% 🟢 90.91% ⚪ 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 🟢 96.1% 🟢 96.1% ⚪ 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.09% 🟢 92.09% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/completion.rs 🔴 41.44% 🔴 42.49% 🟢 1.05%
/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.85% 🟠 64.85% ⚪ 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 🟢 92.96% 🟢 92.96% ⚪ 0%
/home/runner/work/brush/brush/brush-core/src/jobs.rs 🔴 39.38% 🔴 41.45% 🟢 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 🟠 51.82% 🟠 51.82% ⚪ 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.93% 🟢 96.93% ⚪ 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 🟢 76.99% 🟢 77.31% 🟢 0.32%
/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 🟢 80.13% 🟢 80.13% ⚪ 0%
/home/runner/work/brush/brush/brush-interactive/src/interactive_shell.rs 🟢 75.52% 🟢 75.52% ⚪ 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.36% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/error.rs 🟠 75% 🟠 75% ⚪ 0%
/home/runner/work/brush/brush/brush-parser/src/parser.rs 🟢 98.66% 🟢 98.66% ⚪ 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 🟢 95.56% 🟢 95.56% ⚪ 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.56% 🟢 78.68% 🟢 0.12%

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

@reubeno reubeno merged commit 02cc8d4 into main Jun 12, 2024
6 checks passed
@reubeno reubeno deleted the fix-compgen-W branch June 12, 2024 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant