Skip to content

test: make the DECLARE conflict tests pass without a Java backend - #697

Merged
StephanWald merged 1 commit into
mainfrom
fix/variable-scoping-hermetic-declare-conflict
Sep 24, 2026
Merged

StephanWald merged 1 commit into
mainfrom
fix/variable-scoping-hermetic-declare-conflict

Conversation

@StephanWald

Copy link
Copy Markdown
Member

The Publish Preview run for #691 (run 35957793016) failed in `verify`, and bump-version and both publishes were skipped.

Cause: two tests in `test/variable-scoping.test.ts` resolved `java.lang.String` and `java.lang.Integer` through the real Java interop on `localhost:5008`. Since #691, the conflicting-DECLARE check only reports a pair of classes when both resolve. An unresolved type is not treated as evidence of a conflict. CI has no backend, so the check stayed silent and both tests found no diagnostic. They passed locally only because BBjServices listens on :5008.

Fix: only the test changes, not the validator. The two tests now validate through `createBBjTestServices`. Its test double preloads `java.lang.String` and `java.util.HashMap`, an unrelated pair, and never opens a socket. The other 35 tests keep the real services.

Verified locally:

  • The file passes 37/37 with :5008 up, and 37/37 when the regular services point at a closed port, which is what CI sees.
  • Before the fix, the closed-port run reproduced exactly the 2 CI failures.
  • With the validator temporarily changed to never report class conflicts, exactly these 2 tests fail, so they still catch a real regression.

🤖 Generated with Claude Code

The two conflict tests resolved java.lang.String and java.lang.Integer
through the real Java interop on :5008. CI has no backend, so neither
type resolved, the check stayed silent by design, and both tests failed,
which blocked the preview publish after #691. Validate them with
createBBjTestServices and a preloaded unrelated pair (String, HashMap).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

📦 Test build ready — bbj-lang-0.16.3-pr697-f92b872.vsix

Built from f92b872. Install it to try this PR without touching your Marketplace/preview build:

  1. Download the VSIX artifact (a zip) and unzip it.
  2. code --install-extension bbj-lang-0.16.3-pr697-f92b872.vsix — or Command Palette → Extensions: Install from VSIX…
  3. Reload. To revert, uninstall it and reinstall the preview build.

Artifact expires in 14 days · workflow run

@StephanWald
StephanWald merged commit e5fa34d into main Sep 24, 2026
4 checks passed
@StephanWald
StephanWald deleted the fix/variable-scoping-hermetic-declare-conflict branch September 24, 2026 06:24
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.

2 participants