Skip to content

Add inline-script environment creation tests (PEP 723 PR 5/16 - tests)#1654

Closed
StellaHuang95 wants to merge 2 commits into
microsoft:mainfrom
StellaHuang95:pep723-pr5-tests
Closed

Add inline-script environment creation tests (PEP 723 PR 5/16 - tests)#1654
StellaHuang95 wants to merge 2 commits into
microsoft:mainfrom
StellaHuang95:pep723-pr5-tests

Conversation

@StellaHuang95

Copy link
Copy Markdown
Contributor

Companion to #1651 (implementation). Part of #1602 (PEP 723 inline script env support). Design doc: #1601.

Split for review

Reviewers asked to reduce the size of #1651. That PR now carries only the implementation; this PR carries the unit tests for the inline-script environment creation path.

This PR is stacked on #1651. Its branch is based on the #1651 branch, so the diff below currently also includes the implementation commit. To review just the tests, open the Add PEP 723 inline script environment creation tests commit (9 test files). Once #1651 merges to main, this PR reduces to tests only with no rebase needed.

Applied together, the two PRs are byte-for-byte identical to the original single change.

What this PR adds

New suites:

  • lockfile.apis.unit.test.ts — 9 tests: contention, retain/fail-fast, orphaned and compromised locks, and timeout.
  • venvUtils.createWithProgress.unit.test.ts — 3 tests for trackUvEnvironment and pkgInstallationCancelled.
  • helpers.cancellation.unit.test.ts — 4 tests for runProcess cancellation safety.
  • virtualEnvironment.unit.test.ts — 2 tests for getVenvPythonPath on Windows and POSIX.

Expanded / updated suites:

  • inlineScriptEnvManager.unit.test.ts — 40 tests across scope/metadata validation, base-interpreter selection, cache creation, cache reuse, transaction rollback, and events/disposal.
  • inlineScriptCacheLayout.unit.test.ts, inlineScriptCacheKey.unit.test.ts, inlineScriptInterpreter.unit.test.ts — cover the new/changed layout, cache-key, and interpreter-selection helpers.
  • inlineScriptMain.unit.test.ts — updated for the new registerInlineScriptFeatures signature.

With both PRs applied, npm run unittest reports 1487 passing, 0 failing, 5 pending.

Merge order

Merge #1651 first, then this PR.

StellaHuang95 and others added 2 commits July 23, 2026 16:06
Create and reuse dependency-keyed virtual environments for inline scripts, with compatible interpreter selection, cache ownership validation, cross-process locking, and cancellation-safe creation.

Tests for this change are split into a companion PR to keep the diff reviewable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 39dcc6a3-0fbd-4f36-9d0f-68677de49c27
Unit tests for the inline-script environment creation path: cache key, cache layout, interpreter selection, cross-process lockfile, venv python path, process cancellation, createWithProgress options, and the InlineScriptEnvManager create/reuse flow.

Based on the implementation branch so this PR shows only the test changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 39dcc6a3-0fbd-4f36-9d0f-68677de49c27
@StellaHuang95

Copy link
Copy Markdown
Contributor Author

Superseded by a finer 3-way split. Rather than an implementation/tests split, PR 5 is now divided by dependency layer, each PR carrying its own tests:

Each is independently green (compile-tests clean, 0 failing). Merge order 5a -> 5b -> 5c; applied together they are byte-for-byte identical to the original change. Closing this PR.

@StellaHuang95
StellaHuang95 deleted the pep723-pr5-tests branch July 23, 2026 23:34
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