Skip to content

fix IPC handle is longer than 103 chars error for CI#1565

Merged
eleanorjboyd merged 4 commits into
microsoft:mainfrom
eleanorjboyd:preliminary-primate
Jun 8, 2026
Merged

fix IPC handle is longer than 103 chars error for CI#1565
eleanorjboyd merged 4 commits into
microsoft:mainfrom
eleanorjboyd:preliminary-primate

Conversation

@eleanorjboyd

Copy link
Copy Markdown
Member

No description provided.

@eleanorjboyd eleanorjboyd changed the title Preliminary primate fix IPC handle is longer than 103 chars Jun 8, 2026
@eleanorjboyd eleanorjboyd requested a review from Copilot June 8, 2026 03:06
@eleanorjboyd eleanorjboyd added bug Issue identified by VS Code Team member as probable bug debt Code quality issues and removed bug Issue identified by VS Code Team member as probable bug labels Jun 8, 2026
@eleanorjboyd eleanorjboyd changed the title fix IPC handle is longer than 103 chars fix IPC handle is longer than 103 chars error for CI Jun 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses failures caused by overly long IPC/unix-socket paths during VS Code test runs (notably on macOS), and improves fast-path environment resolution by avoiding spawning PET when a cached interpreter path no longer exists.

Changes:

  • Shorten VS Code test --user-data-dir by moving it under os.tmpdir() and seed test settings via a reusable Node script in CI.
  • Add a cheap filesystem existence check to tryFastPathGet() so missing cached interpreter paths fall through without spawning PET.
  • Expand unit test coverage to validate the new “cached path missing on disk” behavior for both workspace and global caches.
Show a summary per file
File Description
src/test/managers/common/fastPath.unit.test.ts Updates test paths and adds coverage for missing persisted-path fast-path behavior.
src/managers/common/fastPath.ts Adds persistedPathExists() and short-circuits fast-path resolution when cached paths are missing.
build/setup-test-user-data.mjs New helper to create a short test user-data settings directory (CI seeding).
.vscode-test.mjs Switches VS Code test user-data dir to a short tmpdir-based path to avoid socket-length limits.
.github/workflows/push-check.yml Uses the new setup script instead of inline shell to seed test settings.
.github/workflows/pr-check.yml Uses the new setup script instead of inline shell to seed test settings.

Copilot's findings

  • Files reviewed: 6/6 changed files
  • Comments generated: 1

Comment thread .vscode-test.mjs
The fast-path resolver now does a real fs.promises.access on the
persisted path. The manager-level fast-path tests use synthetic
paths that don't exist, causing tryFastPathGet to fall through to
real initialization (and TypeError / 180s timeouts). Stub access
to resolve so the fast path still fires.
Move the python.useEnvironmentsExtension=true seed into the test
config so local 'npm run smoke-test' / e2e / integration runs match
CI. Without it the extension short-circuits during activation and
registration tests fail. Drops the duplicated CI step and helper.
@eleanorjboyd eleanorjboyd marked this pull request as ready for review June 8, 2026 21:20
@eleanorjboyd eleanorjboyd merged commit a1513ca into microsoft:main Jun 8, 2026
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

debt Code quality issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants