Skip to content

fix(vscode): support executable paths containing spaces - #6100

Open
Vamsi-klu wants to merge 1 commit into
SQLMesh:mainfrom
Vamsi-klu:fix/6093-vscode-exec-spaces
Open

Vamsi-klu wants to merge 1 commit into
SQLMesh:mainfrom
Vamsi-klu:fix/6093-vscode-exec-spaces

Conversation

@Vamsi-klu

Copy link
Copy Markdown

Description

Fixes #6093.

  • Replace shell-based command construction with execFile(command, args) so executable paths and arguments containing spaces are passed intact.
  • Preserve ExecResult behavior for nonzero exits and spawn failures while continuing to reject cancellation with AbortError.
  • Pass uv test-helper arguments separately and add regression coverage for spaced paths, literal shell metacharacters, trace output, failures, and cancellation.

Test Plan

  • pnpm run test:unit — 26 passed, including direct executable and argument coverage under paths containing spaces
  • pnpm exec eslint src/utilities/exec.ts src/utilities/exec.test.ts tests/utils.ts — passed
  • pnpm run check-types — passed
  • node esbuild.js — extension bundle passed
  • pnpm run vscode:package — VSIX packaging passed
  • pnpm exec playwright test tests/diagnostics.spec.ts — 10 passed in 1.2m

Checklist

  • I have run make style and fixed any issues
  • I have added tests for my changes (if applicable)
  • All existing tests pass (make fast-test)
  • My commits are signed off (git commit -s) per the DCO

Signed-off-by: Vamsi-klu <nrvamsi13@gmail.com>
@Vamsi-klu

Copy link
Copy Markdown
Author

@benfdking @georgesittas — could you review this? It touches the VS Code subprocess helper and E2E utilities you have previously worked on and reviewed.

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.

VSCode extension: execAsync builds an unquoted shell string, so any workspace path containing a space fails

1 participant