From 2cb2f128cffb4e664145c9a8a392b9666d014459 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 4 Aug 2026 05:25:30 +0900 Subject: test(plugin): compare a real-plugin install against upstream Composer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run upstream Composer and Shirabe over pristine copies of a fixture project at the same path and require composer.lock, the whole vendor tree (including the plugin-generated GeneratedConfig.php), the plugin's IO lines and the exit code to match byte for byte. The plugin under test (phpstan/extension-installer 1.4.3) is downloaded by fixtures/e2e/fetch — pinned to an upstream commit and hash-verified — into a git-ignored directory rather than committed; the test skips while it is absent, like the other real-PHP prerequisites. Its dependencies are minimal stand-ins resolved from local repositories, so test runs stay offline. A zip dist would exercise the known lossy-string byte-precision debt in RemoteFilesystem, so the fixture serves the plugin through a path dist until that is resolved. Co-Authored-By: Claude Fable 5 --- crates/shirabe/tests/plugin/main.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'crates/shirabe/tests/plugin/main.rs') diff --git a/crates/shirabe/tests/plugin/main.rs b/crates/shirabe/tests/plugin/main.rs index 3a66bb75..b2631eb7 100644 --- a/crates/shirabe/tests/plugin/main.rs +++ b/crates/shirabe/tests/plugin/main.rs @@ -3,5 +3,6 @@ mod async_runtime; #[path = "../common/config_stub.rs"] mod config_stub; +mod e2e_extension_installer_test; mod plugin_installer_test; mod subscriber_test; -- cgit v1.3.1