diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-16 14:56:45 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-16 14:56:45 +0900 |
| commit | 2faccc227b65ab9dea0f80cd008cbf22ca4c5142 (patch) | |
| tree | 6f4e11bc37489550d68ad57d210668d0bea9cfb6 /crates/shirabe/tests | |
| parent | aa2124fe5d0c96078c034a6e4044b7e81acdf692 (diff) | |
| download | php-shirabe-2faccc227b65ab9dea0f80cd008cbf22ca4c5142.tar.gz php-shirabe-2faccc227b65ab9dea0f80cd008cbf22ca4c5142.tar.zst php-shirabe-2faccc227b65ab9dea0f80cd008cbf22ca4c5142.zip | |
feat(plugin): proxy Composer\Util\Filesystem into the plugin worker
The class was shadowed by a guard, so a plugin doing `new Filesystem()`
got an explicit error. It is classified rust-proxy and plugin-constructible
and the Rust port is complete, so listing it as a stub target and answering
its public surface from the entity is all it takes.
The constructor rejects a caller-supplied ProcessExecutor: that class has no
proxy stub, so the argument could only be a second instance the Rust side
never sees. findShortestPath re-checks its arguments at the boundary because
the port panics where PHP throws, and a panic would take the process down
instead of reaching the plugin's catch block.
phpstan/extension-installer matches upstream Composer byte for byte again.
Diffstat (limited to 'crates/shirabe/tests')
| -rw-r--r-- | crates/shirabe/tests/plugin/e2e_extension_installer_test.rs | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/crates/shirabe/tests/plugin/e2e_extension_installer_test.rs b/crates/shirabe/tests/plugin/e2e_extension_installer_test.rs index 0465757a..9a95888c 100644 --- a/crates/shirabe/tests/plugin/e2e_extension_installer_test.rs +++ b/crates/shirabe/tests/plugin/e2e_extension_installer_test.rs @@ -117,10 +117,6 @@ fn run_install(work: &Path, program: &str, args: &[&str]) -> InstallRun { } } -// TODO(plugin): the plugin's post-install listener does `new Composer\Util\Filesystem()`, and -// the guard class the worker loads for that FQCN raises an explicit error: the Rust side owns -// Filesystem and has no proxy for plugin-constructed instances of it. -#[ignore = "Filesystem is Rust-owned and has no proxy the plugin can construct; see the TODO(plugin) above"] #[test] fn test_extension_installer_install_matches_upstream_composer() { if !php_runtime_available() { |
