-
Notifications
You must be signed in to change notification settings - Fork 310
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 a panic when generating help while the subcommand and all option groups are hidden #354
Merged
jessevdk
merged 1 commit into
jessevdk:master
from
bboozzoo:bboozzoo/fix-panic-hidden-positional-args
Mar 21, 2021
Merged
fix a panic when generating help while the subcommand and all option groups are hidden #354
jessevdk
merged 1 commit into
jessevdk:master
from
bboozzoo:bboozzoo/fix-panic-hidden-positional-args
Mar 21, 2021
Conversation
This file contains 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
…groups are hidden The panic is caused by calling strings.Repeat() with negative repeat count. This is triggered by incorrectly computed alignment info. Since the positional arguments are always shown (even when the subcommand is hidden), the arguments need to be accounted for when calculating alignment. The panic backtrace is the following: --- FAIL: TestHiddenCommandNoBuiltinHelp (0.00s) panic: strings: negative Repeat count [recovered] panic: strings: negative Repeat count goroutine 91 [running]: testing.tRunner.func1.1(0x57f160, 0x5f3f20) /home/maciek/code/go/go/src/testing/testing.go:1072 +0x30d testing.tRunner.func1(0xc000252a80) /home/maciek/code/go/go/src/testing/testing.go:1075 +0x41a panic(0x57f160, 0x5f3f20) /home/maciek/code/go/go/src/runtime/panic.go:969 +0x1b9 strings.Repeat(0x5bc3b0, 0x1, 0xfffffffffffffff1, 0x13, 0x0) /home/maciek/code/go/go/src/strings/strings.go:529 +0x5e5 github.com/jessevdk/go-flags.(*Parser).WriteHelp(0xc000387340, 0x5f6d40, 0xc0002772f0) /home/maciek/work/canonical/workspace/src/github.com/jessevdk/go-flags/help.go:449 +0x510 github.com/jessevdk/go-flags.TestHiddenCommandNoBuiltinHelp(0xc000252a80) /home/maciek/work/canonical/workspace/src/github.com/jessevdk/go-flags/help_test.go:469 +0x4d4 testing.tRunner(0xc000252a80, 0x5cd9a0) /home/maciek/code/go/go/src/testing/testing.go:1123 +0xef created by testing.(*T).Run /home/maciek/code/go/go/src/testing/testing.go:1168 +0x2b3 exit status 2 FAIL github.com/jessevdk/go-flags 0.016s Signed-off-by: Maciek Borzecki <[email protected]>
Uhh, looks like some of the dependencies won't build on 1.9/1.10 at this point:
and 1.10:
|
Nice catch! Looks good, I've updated travis on master but didn't manage to trigger a rebuild for your PR. I've merged. |
Thank you for merging it! |
nabeken
referenced
this pull request
in nabeken/psadm
Jun 17, 2024
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/jessevdk/go-flags](https://togithub.com/jessevdk/go-flags) | require | minor | `v1.5.0` -> `v1.6.1` | --- ### Release Notes <details> <summary>jessevdk/go-flags (github.com/jessevdk/go-flags)</summary> ### [`v1.6.1`](https://togithub.com/jessevdk/go-flags/releases/tag/v1.6.1) [Compare Source](https://togithub.com/jessevdk/go-flags/compare/v1.6.0...v1.6.1) **Full Changelog**: jessevdk/go-flags@v1.6.0...v1.6.1 ### [`v1.6.0`](https://togithub.com/jessevdk/go-flags/releases/tag/v1.6.0) [Compare Source](https://togithub.com/jessevdk/go-flags/compare/v1.5.0...v1.6.0) #### What's Changed - ini: fix IniParser.write() for zero values by [@​sean-](https://togithub.com/sean-) in [https://github.com/jessevdk/go-flags/pull/332](https://togithub.com/jessevdk/go-flags/pull/332) - fix a panic when generating help while the subcommand and all option groups are hidden by [@​bboozzoo](https://togithub.com/bboozzoo) in [https://github.com/jessevdk/go-flags/pull/354](https://togithub.com/jessevdk/go-flags/pull/354) - Help for positional args without allcmd.ArgsRequired dependent from arg.Required by [@​sv99](https://togithub.com/sv99) in [https://github.com/jessevdk/go-flags/pull/342](https://togithub.com/jessevdk/go-flags/pull/342) - Bump golang.org/x/sys from 0.0.0-20210320140829-1e4c9ba3b0c4 to 0.1.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/jessevdk/go-flags/pull/396](https://togithub.com/jessevdk/go-flags/pull/396) - Option to allow passing value to bool flag by [@​alexcb](https://togithub.com/alexcb) in [https://github.com/jessevdk/go-flags/pull/367](https://togithub.com/jessevdk/go-flags/pull/367) - Add support for SOURCE_DATE_EPOCH for TestMan by [@​anthonyfok](https://togithub.com/anthonyfok) in [https://github.com/jessevdk/go-flags/pull/376](https://togithub.com/jessevdk/go-flags/pull/376) - Update to run go-flags on AIX by [@​llrocha](https://togithub.com/llrocha) in [https://github.com/jessevdk/go-flags/pull/390](https://togithub.com/jessevdk/go-flags/pull/390) - Add option for key value delimiter by [@​anaprimawaty](https://togithub.com/anaprimawaty) in [https://github.com/jessevdk/go-flags/pull/392](https://togithub.com/jessevdk/go-flags/pull/392) - Undersocre support for numbers (set default base for strconv.Parse\* to 0) by [@​GRbit](https://togithub.com/GRbit) in [https://github.com/jessevdk/go-flags/pull/404](https://togithub.com/jessevdk/go-flags/pull/404) - docs: add ENV variable usage example by [@​cemremengu](https://togithub.com/cemremengu) in [https://github.com/jessevdk/go-flags/pull/371](https://togithub.com/jessevdk/go-flags/pull/371) - Support per-command PassAfterNonOption by [@​woky](https://togithub.com/woky) in [https://github.com/jessevdk/go-flags/pull/393](https://togithub.com/jessevdk/go-flags/pull/393) - Upgrade by [@​jessevdk](https://togithub.com/jessevdk) in [https://github.com/jessevdk/go-flags/pull/406](https://togithub.com/jessevdk/go-flags/pull/406) #### New Contributors - [@​sean-](https://togithub.com/sean-) made their first contribution in [https://github.com/jessevdk/go-flags/pull/332](https://togithub.com/jessevdk/go-flags/pull/332) - [@​sv99](https://togithub.com/sv99) made their first contribution in [https://github.com/jessevdk/go-flags/pull/342](https://togithub.com/jessevdk/go-flags/pull/342) - [@​dependabot](https://togithub.com/dependabot) made their first contribution in [https://github.com/jessevdk/go-flags/pull/396](https://togithub.com/jessevdk/go-flags/pull/396) - [@​alexcb](https://togithub.com/alexcb) made their first contribution in [https://github.com/jessevdk/go-flags/pull/367](https://togithub.com/jessevdk/go-flags/pull/367) - [@​anthonyfok](https://togithub.com/anthonyfok) made their first contribution in [https://github.com/jessevdk/go-flags/pull/376](https://togithub.com/jessevdk/go-flags/pull/376) - [@​llrocha](https://togithub.com/llrocha) made their first contribution in [https://github.com/jessevdk/go-flags/pull/390](https://togithub.com/jessevdk/go-flags/pull/390) - [@​anaprimawaty](https://togithub.com/anaprimawaty) made their first contribution in [https://github.com/jessevdk/go-flags/pull/392](https://togithub.com/jessevdk/go-flags/pull/392) - [@​GRbit](https://togithub.com/GRbit) made their first contribution in [https://github.com/jessevdk/go-flags/pull/404](https://togithub.com/jessevdk/go-flags/pull/404) - [@​cemremengu](https://togithub.com/cemremengu) made their first contribution in [https://github.com/jessevdk/go-flags/pull/371](https://togithub.com/jessevdk/go-flags/pull/371) - [@​woky](https://togithub.com/woky) made their first contribution in [https://github.com/jessevdk/go-flags/pull/393](https://togithub.com/jessevdk/go-flags/pull/393) **Full Changelog**: jessevdk/go-flags@v1.5.0...v1.6.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MDIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQwMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
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.
The panic is caused by calling strings.Repeat() with negative repeat count. This
is triggered by incorrectly computed alignment info.
Since the positional arguments are always shown (even when the subcommand is
hidden), the arguments need to be accounted for when calculating alignment.
The panic backtrace is the following:
There's also an open question whether positional arguments should be listed in the help output.