Skip to content

test(vscode): narrow upstream-internal coupling in tests - #123

Merged
fi3ework merged 1 commit into
mainfrom
test/narrow-internal-coupling
Nov 2, 2026
Merged

fi3ework merged 1 commit into
mainfrom
test/narrow-internal-coupling

Conversation

@fi3ework

@fi3ework fi3ework commented Nov 2, 2026

Copy link
Copy Markdown
Member

Summary

Tests may depend on an upstream internal only when packages/vscode/src depends on the same detail. This rule is now in packages/vscode/AGENTS.md, and all tests in packages/vscode were scanned against it.

 e2e/lint/suite-monorepo/monorepo.test.ts
-  copy package.json + dist          # encodes the core's file layout
+  copy the whole resolved package

 e2e/lint/suite-jsconfig/jsconfig.test.ts
-  assert: ignored nested candidate is not evaluated again    # upstream scheduling
   assert: ignored nested config does not apply to its directory

 comments, test names, assertion messages
-  Go / tsgo / Program / catalog / frame premises
+  observed behavior

Kept on purpose:

  • The marker guards in jsconfig.test.ts and noconfig.test.ts, which stop a negative assertion passing vacuously.
  • The isMainThread check in the plugin-host-failure fixture, documented as a known exception: no public surface can fail only the plugin host.

Evidence

Run on macOS arm64, at this commit:

Command Result
pnpm lint pass
pnpm test:unit 382/382 pass
pnpm test:e2e smoke pass
pnpm test:e2e lint 21/21 suites pass

The vscode and rstest slices, and Windows, were not run locally. CI covers them. The Windows path of the monorepo copy depends on that run.

Merge Danger

Door: two-way

Blast Radius: tests

No src change. One regression guard is removed on purpose: re-evaluation of an ignored nested config is no longer asserted in this repo.

Assert user-visible behavior instead of upstream package internals that
`src/` does not depend on:

- smoke: describe only that the project's `@rslint/core` runs a plugin rule
  and produces a diagnostic; drop the frame/ESTree/wire wording.
- monorepo: copy the whole resolved `@rslint/core` package for the second
  physical core, so the fixture no longer encodes the package's `dist` layout.
- jsconfig: drop the assertion that an ignored nested config is never
  re-evaluated (upstream scheduling); keep the visible outcome and document
  the deviation.
- comments and assertion messages: remove Go/server/tsgo/Program/catalog
  premises and name the observed behavior instead.
- plugin-host failure fixture: record the worker-thread premise as a known
  exception to the rule.

Document the rule in `packages/vscode/AGENTS.md` testing conventions.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-02T11:39:16.061159Z e1e95b8 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@fi3ework
fi3ework enabled auto-merge (squash) November 2, 2026 11:47
@fi3ework
fi3ework merged commit bc0e31f into main Nov 2, 2026
3 checks passed
@fi3ework
fi3ework deleted the test/narrow-internal-coupling branch November 2, 2026 11:47
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