-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
terminal/starbind: fix starlark conversion of named consts #3802
terminal/starbind: fix starlark conversion of named consts #3802
Conversation
If a value of a derived integer type matches a named constant, Delve will wrap the string representation of the value with the name of the constant, causing ParseInt/ParseUint to fail. This change removes the wrapping before attempting to parse the value before sending it to Starlark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but it would be better with a regression test. Tests for starlark go in pkg/terminal/starlark_test.go and _fixture/consts.go can be used for enums. If I understand correctly this test it could be enough to write this:
func TestStarlarkEnumValue(t *testing.T) {
withTestTerminal("consts", t, func(term *FakeTerminal) {
term.MustExec("continue")
out := strings.TrimSpace(term.MustExecStarlark(`v = eval(None, "a"); print(v.Value)`))
if out != "2" {
t.Fatalf("expected 2 got %s", out)
}
})
}
@aarzilli Since there was already an existing test specifically for testing the results of expressions I figured it made sense to add the test cases there and the associated fixture, but let me know if you'd prefer me to move them to their own test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/go-delve/delve](https://redirect.github.com/go-delve/delve) | `v1.23.0` -> `v1.23.1` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-delve%2fdelve/v1.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-delve%2fdelve/v1.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-delve%2fdelve/v1.23.0/v1.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-delve%2fdelve/v1.23.0/v1.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>go-delve/delve (github.com/go-delve/delve)</summary> ### [`v1.23.1`](https://redirect.github.com/go-delve/delve/releases/tag/v1.23.1) [Compare Source](https://redirect.github.com/go-delve/delve/compare/v1.23.0...v1.23.1) #### What's Changed - proc: move stepping test to their own file by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3784 - proc: fix step stuttering when entering range-over-func bodies by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3788 - proc: fix TestRangeOverFuncNext on linux/386 by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3795 - eval: Allow reslicing a slice up to its cap, rather than its length by [@​Jille](https://redirect.github.com/Jille) in [go-delve/delve#3796 - chore: fix function name by [@​linchizhen](https://redirect.github.com/linchizhen) in [go-delve/delve#3803 - terminal/starbind: fix starlark conversion of named consts by [@​arvidfm](https://redirect.github.com/arvidfm) in [go-delve/delve#3802 - proc: workaround for macOS section name truncation by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3799 - service/dap: make handlesMap generic by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3798 - service/dap: fix test failure with 1.24 by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3805 - proc: fix result type of division of untyped constants by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3794 - proc: improve Rosetta check by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3810 - proc: for optimized functions allow .closureptr to not exist by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3808 - proc: cache module data by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3800 - \*: release version 1.23.1 by [@​aarzilli](https://redirect.github.com/aarzilli) in [go-delve/delve#3816 #### New Contributors - [@​Jille](https://redirect.github.com/Jille) made their first contribution in [go-delve/delve#3796 - [@​linchizhen](https://redirect.github.com/linchizhen) made their first contribution in [go-delve/delve#3803 - [@​arvidfm](https://redirect.github.com/arvidfm) made their first contribution in [go-delve/delve#3802 **Curated Changelog**: https://github.com/go-delve/delve/blob/master/CHANGELOG.md#1231-2024-09-23 </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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/jaegertracing/jaeger). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhbmdlbG9nOmRlcGVuZGVuY2llcyJdfQ==--> Signed-off-by: Mend Renovate <bot@renovateapp.com>
If a value of a derived integer type matches a named constant, Delve will wrap the string representation of the value with the name of the constant, causing ParseInt/ParseUint to fail. This change removes the wrapping before attempting to parse the value before sending it to Starlark.
Fixes #3801