Skip to content

test(vscode): port remaining upstream lint extension test gaps - #125

Merged
fi3ework merged 1 commit into
mainfrom
test/port-missing-upstream-cases
Nov 4, 2026
Merged

fi3ework merged 1 commit into
mainfrom
test/port-missing-upstream-cases

Conversation

@fi3ework

@fi3ework fi3ework commented Nov 4, 2026

Copy link
Copy Markdown
Member

Summary

Audited every case in rslint@4933a976e (the last commit before the standalone extension and its tests were deleted) against packages/vscode: 178 cases, 156 already ported, 15 obsolete (migration notices, runtimeReady / unsupportedCore events, server-restart reset — features removed here). This PR closes the remaining gaps:

 e2e/lint/suite-jsconfig/
   rslint-lifecycle.test.ts
     settles a hung initialize tail after forced transport close
+      assert.rejects(startPromise)              # restored from upstream
+      no unhandledRejection within 1.1 s        # restored from upstream
   core-resolver.test.ts
+    rejects an unsupported configured corePath  # ported; 0.7.3 < current floor >=0.8.0
 tests/stacks/lint/
+  workerCore.test.ts                            # new: pins worker/core.ts binary guard
+    rejects a core package whose binary is missing
+    rejects a core package whose binary is not a file

The binary check moved from upstream's CoreResolver into the Lint worker (src/stacks/lint/worker/core.ts), which the E2E resolver suite cannot reach, so it is pinned as a unit test with a stub Rslint core exposing only the exports loadCoreInstallation consumes.

Not ported: upstream's version matrix (0.10.0, 0.10.0-canary.1, 0.8.2) — its versions are stale against the current floor, and the gate is covered by tests/versionCheck.test.ts and tests/stacks/lint/coreResolver.test.ts.

Evidence

  • Before: the hung-initialize case only awaited startPromise settling, so a start that resolved or leaked an unhandled rejection still passed; no test exercised the corePath version gate or the missing-binary guard.
    After:
    pnpm lint                                   → passed
    pnpm test:unit                              → 384/384 passed (incl. 2 new workerCore cases)
    RSTACK_LINT_E2E_SUITES="JS config tests"
      pnpm test:e2e lint                        → Exit code: 0
    
    Restored assertions pass against current src/ — no source change was needed.

Merge Danger

Door: two-way

Test-only change; revert is a single commit.

Blast Radius: tests

Adds ~1.1 s to the JS config tests E2E suite.

Close the gaps found by auditing rslint@4933a976e's deleted
packages/vscode-extension tests against this repo:

- rslint-lifecycle: restore the dropped assertions that a hung initialize
  tail settles as a rejection and leaves no unhandled rejection behind.
- core-resolver: port "rejects an unsupported configured corePath" with a
  version below the current SUPPORT_MATRIX floor.
- worker core: pin loadCoreInstallation's missing / non-file binary
  rejections in a new unit test.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 4, 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-04T07:50:29.991784Z db3852d 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 4, 2026 07:50
@fi3ework
fi3ework merged commit 571ca76 into main Nov 4, 2026
3 checks passed
@fi3ework
fi3ework deleted the test/port-missing-upstream-cases branch November 4, 2026 08:00
@fi3ework fi3ework mentioned this pull request Nov 5, 2026
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