PhpVersionManifestTest
final class PhpVersionManifestTest extends TestCase (View source)
Pins the rule that tests/cache/php-versions.json only ever moves forward.
check-and-update-php-versions.php used to assign the fetched patch unconditionally and then compare, so a fetch that came back older overwrote the manifest with the older patch while printing the newer one labelled "(up to date)". The next regeneration then built from a different PHP patch than the committed cache came from.
Methods
No description
No description
The case the bug produced: Docker Hub rebuilds 8.4.22-*, its last_updated jumps above
8.4.23-alpine's, and 8.4.23-alpine falls out of the paged tag window — so the fetch
legitimately returns a patch below the recorded one.
No description
Double-digit patches are where a string comparison diverges from a version comparison, and the tracked lines have long since passed patch 9.
Details
void
testItRecordsTheFetchedPatchOnTheFirstRun()
No description
void
testItAdvancesToANewerPatch()
No description
void
testItKeepsTheRecordedPatchWhenTheFetchedOneIsOlder()
The case the bug produced: Docker Hub rebuilds 8.4.22-*, its last_updated jumps above
8.4.23-alpine's, and 8.4.23-alpine falls out of the paged tag window — so the fetch
legitimately returns a patch below the recorded one.
void
testItIsAStableNoOpWhenNothingChanged()
No description
void
testItComparesNumericallyRatherThanLexicographically()
Double-digit patches are where a string comparison diverges from a version comparison, and the tracked lines have long since passed patch 9.