chore: fixes test suite

This commit is contained in:
Nuno Maduro
2024-04-01 13:15:33 +01:00
parent 831d9bf49a
commit c6984323c3
4 changed files with 22 additions and 24 deletions

View File

@ -125,8 +125,14 @@ final class DefaultResultCache implements ResultCache
return; return;
} }
$contents = file_get_contents($this->cacheFilename);
if ($contents === false) {
return;
}
$data = json_decode( $data = json_decode(
file_get_contents($this->cacheFilename), $contents,
true, true,
); );

View File

@ -33,7 +33,6 @@
*/ */
declare(strict_types=1); declare(strict_types=1);
/* /*
* This file is part of PHPUnit. * This file is part of PHPUnit.
* *
@ -59,46 +58,40 @@ use function array_map;
*/ */
final readonly class TestSuiteFilterProcessor final readonly class TestSuiteFilterProcessor
{ {
private Factory $filterFactory;
public function __construct(Factory $factory = new Factory)
{
$this->filterFactory = $factory;
}
/** /**
* @throws Event\RuntimeException * @throws Event\RuntimeException
* @throws FilterNotConfiguredException * @throws FilterNotConfiguredException
*/ */
public function process(Configuration $configuration, TestSuite $suite): void public function process(Configuration $configuration, TestSuite $suite): void
{ {
$factory = new Factory;
if (! $configuration->hasFilter() && if (! $configuration->hasFilter() &&
! $configuration->hasGroups() && ! $configuration->hasGroups() &&
! $configuration->hasExcludeGroups() && ! $configuration->hasExcludeGroups() &&
! $configuration->hasExcludeFilter() && ! $configuration->hasExcludeFilter() &&
! $configuration->hasTestsCovering() && ! $configuration->hasTestsCovering() &&
! $configuration->hasTestsUsing() && ! $configuration->hasTestsUsing() &&
! Only::isEnabled() ! Only::isEnabled()) {
) {
return; return;
} }
if ($configuration->hasExcludeGroups()) { if ($configuration->hasExcludeGroups()) {
$this->filterFactory->addExcludeGroupFilter( $factory->addExcludeGroupFilter(
$configuration->excludeGroups(), $configuration->excludeGroups(),
); );
} }
if (Only::isEnabled()) { if (Only::isEnabled()) {
$this->filterFactory->addIncludeGroupFilter(['__pest_only']); $factory->addIncludeGroupFilter(['__pest_only']);
} elseif ($configuration->hasGroups()) { } elseif ($configuration->hasGroups()) {
$this->filterFactory->addIncludeGroupFilter( $factory->addIncludeGroupFilter(
$configuration->groups(), $configuration->groups(),
); );
} }
if ($configuration->hasTestsCovering()) { if ($configuration->hasTestsCovering()) {
$this->filterFactory->addIncludeGroupFilter( $factory->addIncludeGroupFilter(
array_map( array_map(
static fn (string $name): string => '__phpunit_covers_'.$name, static fn (string $name): string => '__phpunit_covers_'.$name,
$configuration->testsCovering(), $configuration->testsCovering(),
@ -107,7 +100,7 @@ final readonly class TestSuiteFilterProcessor
} }
if ($configuration->hasTestsUsing()) { if ($configuration->hasTestsUsing()) {
$this->filterFactory->addIncludeGroupFilter( $factory->addIncludeGroupFilter(
array_map( array_map(
static fn (string $name): string => '__phpunit_uses_'.$name, static fn (string $name): string => '__phpunit_uses_'.$name,
$configuration->testsUsing(), $configuration->testsUsing(),
@ -116,18 +109,18 @@ final readonly class TestSuiteFilterProcessor
} }
if ($configuration->hasExcludeFilter()) { if ($configuration->hasExcludeFilter()) {
$this->filterFactory->addExcludeNameFilter( $factory->addExcludeNameFilter(
$configuration->excludeFilter(), $configuration->excludeFilter(),
); );
} }
if ($configuration->hasFilter()) { if ($configuration->hasFilter()) {
$this->filterFactory->addIncludeNameFilter( $factory->addIncludeNameFilter(
$configuration->filter(), $configuration->filter(),
); );
} }
$suite->injectFilter($this->filterFactory); $suite->injectFilter($factory);
Event\Facade::emitter()->testSuiteFiltered( Event\Facade::emitter()->testSuiteFiltered(
Event\TestSuite\TestSuiteBuilder::from($suite), Event\TestSuite\TestSuiteBuilder::from($suite),

View File

@ -18,12 +18,12 @@ final class BootOverrides implements Bootstrapper
* @var array<string, string> * @var array<string, string>
*/ */
public const FILES = [ public const FILES = [
'ec723a9efae521dd6576d2e7d746cc12d3e27f271c49c46420fba8a0e161a61f' => 'Runner/Filter/NameFilterIterator.php', '4f57b79c6ca77cab241cef879ea98bc743d2cd1fbe4586ab652608bf29aa4176' => 'Runner/Filter/NameFilterIterator.php',
'52b2574e96269aca1bb2d41bbf418c3bcf23dd21d14c66f90789025c309e39df' => 'Runner/ResultCache/DefaultResultCache.php', 'c7c09ab7c9378710b27f761a4b2948196cbbdf2a73e4389bcdca1e7c94fa9c21' => 'Runner/ResultCache/DefaultResultCache.php',
'bc8718c89264f65800beabc23e51c6d3bcff87dfc764a12179ef5dbfde272c8b' => 'Runner/TestSuiteLoader.php', 'bc8718c89264f65800beabc23e51c6d3bcff87dfc764a12179ef5dbfde272c8b' => 'Runner/TestSuiteLoader.php',
'2ef8e21dbb27cf6597dd9bb0f941c063dcc98b5af2c35d10b1c2d77721582e8f' => 'TextUI/Command/Commands/WarmCodeCoverageCacheCommand.php', '2ef8e21dbb27cf6597dd9bb0f941c063dcc98b5af2c35d10b1c2d77721582e8f' => 'TextUI/Command/Commands/WarmCodeCoverageCacheCommand.php',
'badc88c79c2a47d768be3925051999b158d08b64e57ccf4ce560f1610cbcc1e8' => 'TextUI/Output/Default/ProgressPrinter/Subscriber/TestSkippedSubscriber.php', 'badc88c79c2a47d768be3925051999b158d08b64e57ccf4ce560f1610cbcc1e8' => 'TextUI/Output/Default/ProgressPrinter/Subscriber/TestSkippedSubscriber.php',
'8607a62825a762735721c39e5d7d59f6efee1409d85cd3b1a976d0d83a308be0' => 'TextUI/TestSuiteFilterProcessor.php', '5ff38e143e244c4d80e767447e5a045891cc6518f008f24f2bb945289b83a07f' => 'TextUI/TestSuiteFilterProcessor.php',
'a01a02eadd18146f12731c7adb8cd56cf76f3f6bda2bae06ff4fd6573789b0f4' => 'Event/Value/ThrowableBuilder.php', 'a01a02eadd18146f12731c7adb8cd56cf76f3f6bda2bae06ff4fd6573789b0f4' => 'Event/Value/ThrowableBuilder.php',
'c78f96e34b98ed01dd8106539d59b8aa8d67f733274118b827c01c5c4111c033' => 'Logging/JUnit/JunitXmlLogger.php', 'c78f96e34b98ed01dd8106539d59b8aa8d67f733274118b827c01c5c4111c033' => 'Logging/JUnit/JunitXmlLogger.php',
]; ];

View File

@ -5,8 +5,7 @@ declare(strict_types=1);
use Pest\Bootstrappers\BootOverrides; use Pest\Bootstrappers\BootOverrides;
test('versions', function (string $vendorPath, string $expectedHash) { test('versions', function (string $vendorPath, string $expectedHash) {
// expect(hash_file('sha256', $vendorPath))->toBe($expectedHash); expect(hash_file('sha256', $vendorPath))->toBe($expectedHash);
expect(true)->toBeTrue();
})->with(function () { })->with(function () {
foreach (BootOverrides::FILES as $hash => $file) { foreach (BootOverrides::FILES as $hash => $file) {
$path = implode(DIRECTORY_SEPARATOR, [ $path = implode(DIRECTORY_SEPARATOR, [