diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-01 21:32:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-01 21:32:01 +0900 |
| commit | 4453aaddb071515e4b2c263864bd00fe7fa2eee6 (patch) | |
| tree | 1e3473ad0094b9bbae6b14b18e454b8227633cff /crates/mozart/tests | |
| parent | 41655c14ad33f9eed6efcc4490a604a0e2defa4b (diff) | |
| download | php-mozart-4453aaddb071515e4b2c263864bd00fe7fa2eee6.tar.gz php-mozart-4453aaddb071515e4b2c263864bd00fe7fa2eee6.tar.zst php-mozart-4453aaddb071515e4b2c263864bd00fe7fa2eee6.zip | |
feat(install): verify lock file satisfies composer.json requires
Mirrors Composer's Installer::doInstall() check: before installing from
an existing composer.lock, walk every root require (and require-dev in
dev mode) and confirm the lock contains a satisfying package. If any
are missing or fail the constraint, print the standard bullet-list
diagnostic and exit with LOCK_FILE_INVALID (4) instead of blindly
attempting to install and failing later with a misleading "no dist or
source information" error. Closes the gap exercised by the
outdated-lock-file-fails-install 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 | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs index 0520108..af38c9e 100644 --- a/crates/mozart/tests/installer.rs +++ b/crates/mozart/tests/installer.rs @@ -297,10 +297,7 @@ installer_fixture!( load_replaced_package_if_replacer_dropped, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - outdated_lock_file_fails_install, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(outdated_lock_file_fails_install); installer_fixture!( outdated_lock_file_with_new_platform_reqs_fails, ignore = "mozart binary cannot yet run this fixture" |
