Skip to content

test(vscode): cover the rstack config bridge end to end - #9

Merged
fi3ework merged 2 commits into
mainfrom
test-vscode-rstack-bridge-e2e
Aug 11, 2026
Merged

test(vscode): cover the rstack config bridge end to end#9
fi3ework merged 2 commits into
mainfrom
test-vscode-rstack-bridge-e2e

Conversation

@fi3ework

Copy link
Copy Markdown
Member

Summary

The rstack config bridge (a folder whose only test signal is rstack.config.* drives Rstest through rstack's shipped shim) was implemented but had no E2E coverage beyond detection. This PR locks it in end to end, against the newest published rstack:

  • New e2e/rstest/suite/bridge.test.ts — adds the shared rstack fixture as a second workspace folder and asserts the bridged project's explorer tree (node-less layout, AST-collected test cases) and a real run through the shim (1 passed), restoring the single-folder state for the suites that follow.
  • Fixture bumpe2e/fixtures/rstack now pins rstack@0.5.0-alpha.1 (newest published; npm latest is 0.4.0). The version gate already passes prereleases inside a supported range by policy, so no source change. The fixture's .npmrc public-hoist settings moved into shared install flags in setupFixtures.mjs — pnpm 11 no longer reads public-hoist-pattern from a project-local .npmrc.
  • E2E entry point — the enumerated test:e2e:* script chain is replaced by e2e/run.mjs: a SLICES table declares each slice's fixtures and entry, package.json scripts become thin forwards (pnpm test:e2e [slice ...]), tsc compiles first to fail fast. CI's pnpm run test:e2e is unaffected.
  • Glossary — CONTEXT.md gains the tools-and-configs vocabulary (atomic tool, native config, Rstack config, shim, bridged project, ownership).

Extension source (src/) is unchanged.

Verified: pnpm lint, pnpm test:unit, and the full E2E chain (smoke, vscode, rstest, lint) locally green.

Related Links

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

- Add e2e/rstest/suite/bridge.test.ts: a folder whose only test signal
  is rstack.config.ts gets a bridged project - explorer tree (node-less
  layout + AST test cases) and a real run through rstack's shipped shim.
- Bump the rstack fixture to rstack@0.5.0-alpha.1 (newest published);
  move its public-hoist settings from the fixture .npmrc (no longer read
  by pnpm 11) to shared install flags in setupFixtures.mjs.
- Replace the enumerated test:e2e:* script chain with e2e/run.mjs: a
  SLICES table declares each slice's fixtures and entry, package.json
  scripts become thin forwards, and tsc compiles first to fail fast.
- Record the tools-and-configs vocabulary (atomic tool, Rstack config,
  shim, bridged project, ownership) in CONTEXT.md.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b00aaf1bbd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/vscode/e2e/run.mjs Outdated
With shell: true Node concatenates command and args unescaped, so
spawning process.execPath or an entry path containing spaces through the
shared option would break argument boundaries on Windows. Only the pnpm
.cmd shim needs a shell (CVE-2024-27980 hardening); node spawns now run
shell-less. Raised by PR review.
@fi3ework
fi3ework merged commit e37916d into main Aug 11, 2026
3 checks passed
@fi3ework
fi3ework deleted the test-vscode-rstack-bridge-e2e branch August 11, 2026 09:50
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.

1 participant