Conversation
Replace the placeholder suite with checks that every intersystems.servers configuration connects without prompting, both through the extension's own API/REST layer and through the released ObjectScript extension. Runs in a new prepare-release.yml workflow on prepare-* PRs and on demand. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Run the IRIS containers under Podman and install the ObjectScript extension's pre-release, whose Podman support the docker-compose case needs. Drop the runner's Docker Compose so resolution goes through Podman. The docker-compose cases fail until the ObjectScript Podman build reaches the Marketplace; the post-timeout round-trip no longer re-verifies delete-sync, unreliable on the current release. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
named/anonymous, matching the case suffixes and server entries, so the service field goes away. Pin podman compose to podman-compose: Docker Desktop's CLI plugins otherwise make it run Docker Compose. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Every check gets its own idle so it is the first request on a lapsed session; before, the round trip re-authenticated and the rest ran fresh. Round trip moves last as the most expensive. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The released ObjectScript build doesn't re-wire delete-sync after a lapse, so the active -named cases fail here until 3.8.6 ships. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
vscode-objectscript#1872 fixed the stale connection for synced deletes; the released build still has it, so -inactive cases fail here until 3.8.6. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…e type Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The matrix is a LAUNCHES constant; the servers, kinds and toggleable set are plain data; workspaceFile hoists the shared settings. runTest drops what the README documents. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…e whole Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reading order
test-fixtures/README.md— the design: cases, checks, containers, how to run locally.src/test/cases.ts— that matrix as data;src/test/suite/extension.test.ts— the checks.src/test/runTest.tsand.github/workflows/prepare-release.yml— how they get run.Companion of intersystems-community/vscode-objectscript#1870; both repos run the same matrix, each installing the other extension's Marketplace release.
What changes
prepare-release.ymlworkflow runs the suite against IRIS containers onprepare-*PRs and manual dispatch.npm test(a singleassert.ok("All good"), run on every push) is replaced, and the step leavesmain.ymlandprerelease.yml.@vscode/test-electron2.5 → 3.1 (2.x looks for a binary current VS Code no longer ships on macOS), plusskipLibCheckfor its typings.Decisions worth knowing
runTest.tspinsPODMAN_COMPOSE_PROVIDER=podman-compose(Docker Desktop's plugins hijackpodman compose).--user-data-dirper case; the suite asserts it is running the build under test, not the Marketplace copy the ObjectScript extension depends on./api/ateliertimeout; every check reruns as the first request after it lapses.Verified by mutation
Reverting #347 fails the check that a password stored in settings reaches API consumers; reverting #352 fails the
-anonymousnamespace listings.Known failing on CI
All against the Marketplace ObjectScript 3.8.5; they clear once 3.8.6 ships (
runTest.tsinstalls it with--pre-release).clientSide-os-dockercases (need its Podman support) and the four-inactivecases' flip test (Fix deletes not syncing after activating the connection without reloading the window vscode-objectscript#1872).serverSide-sm-named› "OS lists the folder after the session times out" throwsCannot read properties of undefined (reading 'includes'); active-namedcases › "round-trips after the session times out" don't propagate the delete.Not covered
vscode.authentication.getSessionfrom a test hits VS Code's consent dialog.