-
Notifications
You must be signed in to change notification settings - Fork 74
Fix mixtures of parentheses and spaces in windows command paths #2138
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
Conversation
cc @DanTup |
PR HealthBreaking changes ✔️
Changelog Entry ✔️
Changes to files need to be accounted for in their respective changelogs. Coverage ✔️
This check for test coverage is informational (issues shown here will not fail the PR). API leaks ✔️The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.
License Headers ✔️
All source files should start with a license header. Unrelated files missing license headers
|
Package publishing
Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation. |
Weird, I cannot replicate the originally reported error without this patch - the integration test I added at the end works either way. |
Ahhh, so I can replicate this error with |
@jakemac53 for my original issue, the folder was named "Latest (Bleeding Edge)" which contains both spaces and quotes, so I would've expected it to already be quoted (in fact in the screenshot, it looks wrapped in quotes). Might there be more to it? I can do some testing locally tomorrow and see if I can confirm if this fixes it (and if not, try to figure out why). |
Oh, this sounded familiar and I found this in Dart-Code:
Shell execute is a mess. If you know you're getting |
When testing locally on windows it seems like the dart issue has since been closed and now this helper code is actually causing problems when parentheses are involved. I have now removed the helper and its tests, and added integration tests that actually run an executable, and also added windows testing to the GitHub workflows for this package. |
Ok, so actually it looks like when there are only parenthesis this still doesn't work. However, simply wrapping it in quotes also doesn't work. I don't know what the right thing to do here is. |
I can try this, but dang does that sound hacky lol. |
Perhaps, but escape correctly for shell is already a minefield (see dart-lang/sdk#59604 for some issues that were never resolved). If you know you're executing a binary and don't need the shell, avoiding it makes things simpler. I'll see if I can pull these changes in locally and test my original problem and post back. |
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.
Looks like it was just a bad OS name and GitHub likes to waste time queueing jobs for oses that don't exist :P |
Btw I skipped the test for having just parenthesis in the path and filed a separate issue. This is not a regression, its a new test that is failing (there was no special handling for this case before). |
Based on this suggestion from @DanTup dart-lang/tools#2138 (comment)
…, web, webdriver Revisions updated by `dart tools/rev_sdk_deps.dart`. ai (https://github.com/dart-lang/ai/compare/7fbe88a..72a9283): 72a9283 2025-07-31 Jacob MacDonald add --exclude-tool option to exclude tools by name (dart-lang/ai#253) 0dbbd8b 2025-07-30 Jacob MacDonald only run in shell when on windows and running a .bat file (dart-lang/ai#252) 0858b0b 2025-07-28 Jacob MacDonald further prompt refinement, discourage use of temp ids and encourage getting the widget tree often (dart-lang/ai#249) 912c1f3 2025-07-28 Jacob MacDonald release dart_mcp v0.3.3 (dart-lang/ai#247) 0f7cba8 2025-07-28 Jacob MacDonald add analytics tracking for prompts (dart-lang/ai#246) dartdoc (https://github.com/dart-lang/dartdoc/compare/882aea9..414953e): 414953ed 2025-08-04 Sam Rawlins Simplify how inheritance is computed. (dart-lang/dartdoc#4079) ecosystem (https://github.com/dart-lang/ecosystem/compare/d5233c6..2fe3618): 2fe3618 2025-08-01 dependabot[bot] Bump the github-actions group with 3 updates (dart-lang/ecosystem#361) protobuf (https://github.com/dart-lang/protobuf/compare/44ecd74..0b73b0d): 0b73b0d 2025-07-30 Devon Carew workspace, formatting, and proto version updates (google/protobuf.dart#1033) a664760 2025-07-30 Devon Carew various CI workflow updates (google/protobuf.dart#1035) test (https://github.com/dart-lang/test/compare/6aeb1e4..953e828): 953e8282 2025-08-01 Nate Bosch Drop executable arguments forwarding (dart-lang/test#2528) tools (https://github.com/dart-lang/tools/compare/2a2a2d6..5e977d6): 5e977d6f 2025-07-30 Jacob MacDonald Fix mixtures of parentheses and spaces in windows command paths (dart-lang/tools#2138) 607340ca 2025-07-29 Devon Carew disable failing test (dart-lang/tools#2136) vector_math (https://github.com/google/vector_math.dart/compare/13f185f..3939545): 3939545 2025-08-04 Kevin Moore Bump min SDK to 3.7, update dependencies, reformat (google/vector_math.dart#348) web (https://github.com/dart-lang/web/compare/da1dd5d..1d5771b): 1d5771b 2025-07-31 Nikechukwu [interop] Add support for importing and exporting declarations, as well as multi-file output (dart-lang/web#418) webdriver (https://github.com/google/webdriver.dart/compare/cfab787..595649d): 595649d 2025-08-01 dependabot[bot] Bump nanasess/setup-chromedriver (google/webdriver.dart#331) Change-Id: Ia014bf6cafa9edcdaf453edda9cd5ecff516e16d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/443625 Auto-Submit: Devon Carew <[email protected]> Reviewed-by: Konstantin Shcheglov <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
Should resolve #2137.
Dropped the
sanitizeExecutablePath
entirely as it no longer seems to be necessary (SDK issue was closed long ago)