diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-28 23:10:43 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-28 23:10:43 +0900 |
| commit | 1a85368838c1e482f2a7020ff1cbdc87fcb092cc (patch) | |
| tree | 6c89ebc81f401abc1af8116eebb10905697d6649 /crates/shirabe/tests/command/install_command_test.rs | |
| parent | 1e72ee3ddaf581753e30b39dfc33b48d44a25ef7 (diff) | |
| download | php-shirabe-1a85368838c1e482f2a7020ff1cbdc87fcb092cc.tar.gz php-shirabe-1a85368838c1e482f2a7020ff1cbdc87fcb092cc.tar.zst php-shirabe-1a85368838c1e482f2a7020ff1cbdc87fcb092cc.zip | |
fix(installer): execute install/update/uninstall ops in execute_batch
execute_batch only awaited prepare(), leaving the install/update/
uninstall + cleanup + repo.write promise chain as a todo!() stub, so
packages were downloaded to cache but never installed into the target
directory. Wire the operation step (mirroring PHP's promise chain),
propagate errors from the install/update/uninstall wrappers instead of
swallowing them with .ok()?, and write the repo after each op.
Un-ignore the create-project functional tests and the install/remove
command tests this unblocks. The remaining --no-install case still fails
on a separate install-path bug; its ignore reason is updated to match.
Diffstat (limited to 'crates/shirabe/tests/command/install_command_test.rs')
| -rw-r--r-- | crates/shirabe/tests/command/install_command_test.rs | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/crates/shirabe/tests/command/install_command_test.rs b/crates/shirabe/tests/command/install_command_test.rs index 0fababa..55ea996 100644 --- a/crates/shirabe/tests/command/install_command_test.rs +++ b/crates/shirabe/tests/command/install_command_test.rs @@ -87,7 +87,6 @@ fn test_install_command_errors() { #[test] #[serial] -#[ignore = "InstallationManager::execute_batch only awaits prepare(); the install/update/uninstall + cleanup + repo.write promise chain is still a todo!() stub, so package operations do not actually execute"] fn test_install_from_empty_vendor() { let composer_json = serde_json::json!({ "require": { "root/req": "1.*" }, @@ -128,7 +127,6 @@ Generating autoload files", #[test] #[serial] -#[ignore = "InstallationManager::execute_batch only awaits prepare(); the install/update/uninstall + cleanup + repo.write promise chain is still a todo!() stub, so package operations do not actually execute"] fn test_install_from_empty_vendor_no_dev() { let composer_json = serde_json::json!({ "require": { "root/req": "1.*" }, @@ -169,7 +167,6 @@ Generating autoload files", #[test] #[serial] -#[ignore = "InstallationManager::execute_batch only awaits prepare(); the install/update/uninstall + cleanup + repo.write promise chain is still a todo!() stub, so package operations do not actually execute"] fn test_install_new_packages_with_existing_partial_vendor() { let composer_json = serde_json::json!({ "require": { |
