aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart/tests
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-04 00:13:04 +0900
committernsfisis <nsfisis@gmail.com>2026-05-04 00:13:04 +0900
commit16f8cf26db22c4fb1073b55d57d31110ea9773cc (patch)
tree6e6b5d02c3099160ca0c5c0616f7e86f79f2d1d4 /crates/mozart/tests
parent837327901f28b229695c7cfd435a2c4f5fe2763d (diff)
downloadphp-mozart-16f8cf26db22c4fb1073b55d57d31110ea9773cc.tar.gz
php-mozart-16f8cf26db22c4fb1073b55d57d31110ea9773cc.tar.zst
php-mozart-16f8cf26db22c4fb1073b55d57d31110ea9773cc.zip
fix(update): run full resolve under --lock to surface alias changes
Drop the content-hash-only short-circuit for `--lock` and route the flag through the same updateMirrors flow Composer uses (`UpdateCommand::execute` line 219). Locked packages are pinned at their lock versions, but the resolver still runs and the installer still emits the operation trace — including MarkAliasInstalled lines for aliases the lock declares but installed.json hasn't recorded yet. Three follow-on fixes the new flow needs: - Re-attach `<lock-version> as <alias>` from `lock.aliases` when building the mirrors-mode require list, so the resolver's alias extractor materializes the alias entry. The bare `<version>` form is required because `==<version>` fails Composer's normalize. - Don't `continue` past Action::Skip in the install loop. Composer's Transaction::calculateOperations emits MarkAliasInstalled even when the target package is already at the right version, as long as the alias is missing from installed.json. 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.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs
index 2e31cae..b998793 100644
--- a/crates/mozart/tests/installer.rs
+++ b/crates/mozart/tests/installer.rs
@@ -316,7 +316,7 @@ installer_fixture!(
ignore
);
installer_fixture!(partial_update_from_lock);
-installer_fixture!(partial_update_from_lock_with_root_alias, ignore);
+installer_fixture!(partial_update_from_lock_with_root_alias);
installer_fixture!(partial_update_installs_from_lock_even_missing, ignore);
installer_fixture!(partial_update_keeps_older_dep_if_still_required);
installer_fixture!(partial_update_keeps_older_dep_if_still_required_with_provide);