Commit 442d921
committed
test: pin the orphan policy contract for solved plans
Component tests for the graph-integrity check. Test-only.
- the normal shape: ``python.depends == ["pip"]`` makes ``pip``
reachable and it inherits python's category without rescue;
- the abnormal shape: ``python.depends == []`` orphans ``pip`` and
hard-fails -- named as broken solver metadata in the docstring;
- ``CONDA_LOCK_ALLOW_ORPHANED_LOCKFILE=1`` semantics: WARNING
naming ``main``, ``--dev-dependencies``/``-e <category>``, and
the envvar itself (so the message cannot silently weaken),
orphans promoted to ``main``, no raise;
- the classic conda#896 corrupt-cache shape (``zlib`` planned with
empty depends, unreachable) hard-fails with the regeneration
guidance and the escape hatch named in the error;
- a multi-category dependency-breakage variant;
- a positive intact-graph sanity check.
Verification: ``pytest tests/component/test_graph_integrity.py``.
Each test drives the public ``solve_conda`` path with a synthetic
dryrun, so the contract holds at the orchestration boundary rather
than only on the helper.1 parent 0d7e8d6 commit 442d921
1 file changed
Lines changed: 466 additions & 0 deletions
0 commit comments