Add integration tests and CI workflow for interpreter detection#3705
Merged
zackverham merged 4 commits intomainfrom Mar 12, 2026
Merged
Add integration tests and CI workflow for interpreter detection#3705zackverham merged 4 commits intomainfrom
zackverham merged 4 commits intomainfrom
Conversation
2 tasks
d859387 to
9728cb9
Compare
fb48150 to
7063944
Compare
9728cb9 to
79ac36e
Compare
Add end-to-end integration tests that validate the interpreter detection module against real Python and R executables and a real filesystem. Changes: - integration.test.ts: tests from low-level fsUtils through full getInterpreterDefaults pipeline, using real temp files and executables - interpreter-integration.yaml: CI workflow with matrix of Python 3.9-3.13, R 4.1-4.4, across Ubuntu/macOS/Windows - pull-request.yaml: wire up interpreter-integration as a required job - package.json: add test-integration-interpreters npm script Tests use test.skipIf() when an interpreter isn't available, so the suite runs cleanly in any environment. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7063944 to
72857ee
Compare
6 tasks
Eliminates the shared tmpDir/beforeAll/afterAll pattern that leaked state between tests. Each test now creates and cleans up its own isolated temp directory via mkdtemp + try/finally. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace repeated mkdtemp/try/finally/rm pattern across all tests with a withTempDir(fn) helper that handles creation and cleanup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
christierney
approved these changes
Mar 12, 2026
Collaborator
christierney
left a comment
There was a problem hiding this comment.
Looks great!
Is the integration test also going to be run by the test-unit command? If so, is that ok?
Collaborator
Author
Technically yes, but anything that requires a true interpreter to exist will just get skipped. So I think that's fine. |
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.
Summary
integration.test.ts) that validate the interpreter detection module against real Python/R executables and a real temporary filesysteminterpreter-integration.yaml) with a matrix covering Python 3.9–3.13, R 4.1–4.4, across Ubuntu/macOS/Windowstest-integration-interpretersnpm scriptThis is PR 3 of 3 splitting up #3672. Testing infrastructure only — no production code changes. Can be reviewed independently of PR 2.
PRs:
PR 1(#3703, merged) | PR 2 (#3704) | PR 3 (this)Test plan
npx tsc --noEmitpasses🤖 Generated with Claude Code