Run historical updater completion in a fresh interpreter so cached imports cannot revive retired dependency installers. Share Git and ZIP completion, carry receipt and recovery state, and preserve child exit status. Route plugin admission, binary acquisition, desktop launch and build paths through PM. Replace redundant helpers and tests with real worker, package, publication and launch checks. Keep the shipped compatibility surface fixed. Targeted Python and desktop checks pass. Native update journeys and fresh production image qualification remain pending. This is a checkpoint before those acceptance runs.
16 lines
563 B
Python
16 lines
563 B
Python
"""The frozen npm retry import hands off, never provisioning in the old parent."""
|
|
|
|
import pytest
|
|
|
|
from hermes_cli.npm_engine import maybe_repair_npm_engine
|
|
from tests.compat.old_updater_support import (
|
|
fresh_child as fresh_child,
|
|
no_external_work as no_external_work,
|
|
)
|
|
|
|
|
|
@pytest.mark.parametrize("quiet,output", [(True, "EBADENGINE"), (False, "unrelated failure")])
|
|
def test_retired_retry_handoffs_without_provisioning(fresh_child, quiet, output):
|
|
with fresh_child.exits():
|
|
maybe_repair_npm_engine("/caller-owned/npm", output, quiet=quiet)
|