diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-03 12:02:08 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-03 12:02:08 +0900 |
| commit | ed77ff97d6c137ef58f0464b7a9b08bc2b875bd2 (patch) | |
| tree | 63322190bfb1de4ea0b425c31a568fa4fe58a211 /crates/mozart/tests | |
| parent | ae1aa6540761e54a76b8f7984cf93cd3a0d011d0 (diff) | |
| download | php-mozart-ed77ff97d6c137ef58f0464b7a9b08bc2b875bd2.tar.gz php-mozart-ed77ff97d6c137ef58f0464b7a9b08bc2b875bd2.tar.zst php-mozart-ed77ff97d6c137ef58f0464b7a9b08bc2b875bd2.zip | |
fix(install): keep one cycle survivor as root for install ordering
Mozart's install-order topological sort marked every package required by
any other as non-root, so cycle members all fell out of the root set and
the cycle fallback emitted them in input (alphabetical) order. Composer
instead walks the sorted result map and removes each package's required
providers as it goes, skipping outer packages already removed — leaving
the highest-sort-key cycle member as a root and giving DFS a deterministic
entry point. Mirror that.
Unblocks the prefer_lowest_branches installer fixture.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart/tests')
| -rw-r--r-- | crates/mozart/tests/installer.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs index 3daaf1e..a0eaab0 100644 --- a/crates/mozart/tests/installer.rs +++ b/crates/mozart/tests/installer.rs @@ -308,7 +308,7 @@ installer_fixture!(partial_update_with_symlinked_path_repos); installer_fixture!(partial_update_without_lock); installer_fixture!(platform_ext_solver_problems); installer_fixture!(plugins_are_installed_first); -installer_fixture!(prefer_lowest_branches, ignore); +installer_fixture!(prefer_lowest_branches); installer_fixture!(problems_reduce_versions); installer_fixture!(provider_can_coexist_with_other_version_of_provided); installer_fixture!(provider_conflicts, ignore); |
