aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-07-24 20:23:35 +0900
committernsfisis <nsfisis@gmail.com>2026-07-24 20:23:35 +0900
commit17766adb1b0c54bb6563333d6a4206d465c5cc7d (patch)
tree131612594281f7c9c18ae393aa0a4986648d5ee9 /crates
parent9a1838a32b77740f787a7a097af294842ed9cfdd (diff)
downloadphp-shirabe-17766adb1b0c54bb6563333d6a4206d465c5cc7d.tar.gz
php-shirabe-17766adb1b0c54bb6563333d6a4206d465c5cc7d.tar.zst
php-shirabe-17766adb1b0c54bb6563333d6a4206d465c5cc7d.zip
docs(installer-test): record confirmed cause for github-issues-7665 ignore
The ignore reason for slow_github_issues_7665 said "unknown reason, needs further investigation." Investigation since then traced the mismatch to an upstream Composer defect: Problem::getPrettyString's RULE_LEARNED tie-break comparator (getSortableString() <=> getSortableString()) is not transitive, and the values it compares are literal ids that shift with the platform package count, which Installer::createPlatformRepo() derives from the real ambient PHP runtime and which Composer's own test suite never mocks. This fixture is brittle to whichever extensions are installed on the machine generating or running it. Nothing to fix on the Rust side; this is an upstream Composer bug (composer/composer#12111 introduced the comparator).
Diffstat (limited to 'crates')
-rw-r--r--crates/shirabe/tests/installer_test.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/shirabe/tests/installer_test.rs b/crates/shirabe/tests/installer_test.rs
index c12d9cfd..f694d62d 100644
--- a/crates/shirabe/tests/installer_test.rs
+++ b/crates/shirabe/tests/installer_test.rs
@@ -1362,7 +1362,7 @@ macro_rules! raw_pool_test {
}
slow_test! {
- slow_github_issues_7665 => "github-issues-7665.test", ignore = "TODO(phase-d): unknown reason. Needs further investigation.";
+ slow_github_issues_7665 => "github-issues-7665.test", ignore = "TODO(phase-d): upstream Composer defect (composer/composer#12111), not a porting bug. Problem::getPrettyString breaks RULE_LEARNED sort ties with getSortableString() <=> getSortableString(), which compares numerically when both sides are numeric strings and by byte otherwise, so it is not transitive. Those sortable strings are SAT-solver literal ids assigned sequentially while rules are generated, so their values shift with the pool's total package count, including platform packages that Installer::createPlatformRepo() derives from the real ambient PHP runtime, which Composer's own test suite never mocks. This fixture's expected order is therefore brittle to whichever extensions happen to be loaded on the machine that generates or runs it. Nothing to fix on the Rust side.";
}
pool_optimizer_test! {