This commit is contained in:
nuno maduro
2026-05-01 21:51:09 +01:00
parent 57fd5ce042
commit 34f1e9a7f2
2 changed files with 26 additions and 4 deletions

View File

@ -34,13 +34,21 @@ final class CoverageMerger
$current = self::requireCoverage($reportPath);
if ($current instanceof CodeCoverage) {
$state->write(Tia::KEY_COVERAGE_CACHE, serialize($current));
$state->write(Tia::KEY_COVERAGE_CACHE, self::compress(serialize($current)));
}
return;
}
$cached = self::unserializeCoverage($cachedBytes);
$decoded = self::decompress($cachedBytes);
if ($decoded === null) {
$state->delete(Tia::KEY_COVERAGE_CACHE);
return;
}
$cached = self::unserializeCoverage($decoded);
$current = self::requireCoverage($reportPath);
if (! $cached instanceof CodeCoverage || ! $current instanceof CodeCoverage) {
@ -59,7 +67,21 @@ final class CoverageMerger
$reportPath,
'<?php return unserialize('.var_export($serialised, true).");\n",
);
$state->write(Tia::KEY_COVERAGE_CACHE, $serialised);
$state->write(Tia::KEY_COVERAGE_CACHE, self::compress($serialised));
}
private static function compress(string $bytes): string
{
$compressed = @gzencode($bytes);
return $compressed === false ? $bytes : $compressed;
}
private static function decompress(string $bytes): ?string
{
$decoded = @gzdecode($bytes);
return $decoded === false ? null : $decoded;
}
/**