diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-07-24 20:23:35 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-07-24 20:23:35 +0900 |
| commit | 17766adb1b0c54bb6563333d6a4206d465c5cc7d (patch) | |
| tree | 131612594281f7c9c18ae393aa0a4986648d5ee9 /crates | |
| parent | 9a1838a32b77740f787a7a097af294842ed9cfdd (diff) | |
| download | php-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.rs | 2 |
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! { |
