chore: phpunit ^10.1 support

This commit is contained in:
Nuno Maduro
2023-04-13 11:03:29 +01:00
parent 81cdb7a300
commit 0064f3fdff
4 changed files with 28 additions and 9 deletions

View File

@ -23,11 +23,11 @@
"nunomaduro/termwind": "^1.15.1", "nunomaduro/termwind": "^1.15.1",
"pestphp/pest-plugin": "^2.0.1", "pestphp/pest-plugin": "^2.0.1",
"pestphp/pest-plugin-arch": "^2.1.1", "pestphp/pest-plugin-arch": "^2.1.1",
"phpunit/phpunit": "^10.0.19" "phpunit/phpunit": "^10.1.0"
}, },
"conflict": { "conflict": {
"webmozart/assert": "<1.11.0", "webmozart/assert": "<1.11.0",
"phpunit/phpunit": ">10.0.19" "phpunit/phpunit": ">10.1.0"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {

View File

@ -21,9 +21,9 @@
<exclude>./tests/Fixtures/Inheritance</exclude> <exclude>./tests/Fixtures/Inheritance</exclude>
</testsuite> </testsuite>
</testsuites> </testsuites>
<coverage> <source>
<include> <include>
<directory suffix=".php">./src</directory> <directory suffix=".php">./src</directory>
</include> </include>
</coverage> </source>
</phpunit> </phpunit>

View File

@ -34,6 +34,7 @@ use PHPUnit\Event\TestSuite\Finished as TestSuiteFinished;
use PHPUnit\Event\TestSuite\Started as TestSuiteStarted; use PHPUnit\Event\TestSuite\Started as TestSuiteStarted;
use PHPUnit\Event\UnknownSubscriberTypeException; use PHPUnit\Event\UnknownSubscriberTypeException;
use PHPUnit\TestRunner\TestResult\Facade as TestResultFacade; use PHPUnit\TestRunner\TestResult\Facade as TestResultFacade;
use ReflectionClass;
use Symfony\Component\Console\Output\ConsoleOutput; use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -207,13 +208,16 @@ final class TeamCityLogger
$style = new Style($this->output); $style = new Style($this->output);
$telemetry = $event->telemetryInfo(); $telemetry = $event->telemetryInfo();
if ($this->withoutDuration) { if ($this->withoutDuration) {
$reflector = new ReflectionClass($telemetry);
$property = $reflector->getProperty('snapshot');
$property->setAccessible(true);
$snapshot = $property->getValue($telemetry);
assert($snapshot instanceof Snapshot);
$telemetry = new Info( $telemetry = new Info(
new Snapshot( $snapshot,
$telemetry->time(),
$telemetry->memoryUsage(),
$telemetry->peakMemoryUsage(),
),
Duration::fromSecondsAndNanoseconds(1, 0), Duration::fromSecondsAndNanoseconds(1, 0),
$telemetry->memoryUsageSinceStart(), $telemetry->memoryUsageSinceStart(),
$telemetry->durationSincePrevious(), $telemetry->durationSincePrevious(),

View File

@ -7,6 +7,7 @@ namespace Pest\Plugins\Parallel\Support;
use NunoMaduro\Collision\Adapters\Phpunit\State; use NunoMaduro\Collision\Adapters\Phpunit\State;
use NunoMaduro\Collision\Adapters\Phpunit\Style; use NunoMaduro\Collision\Adapters\Phpunit\Style;
use ParaTest\Options; use ParaTest\Options;
use PHPUnit\Event\Telemetry\GarbageCollectorStatus;
use PHPUnit\Event\Telemetry\HRTime; use PHPUnit\Event\Telemetry\HRTime;
use PHPUnit\Event\Telemetry\Info; use PHPUnit\Event\Telemetry\Info;
use PHPUnit\Event\Telemetry\MemoryUsage; use PHPUnit\Event\Telemetry\MemoryUsage;
@ -122,11 +123,25 @@ final class CompactPrinter
$snapshotDuration = HRTime::fromSecondsAndNanoseconds((int) $duration->asSeconds(), $nanoseconds); $snapshotDuration = HRTime::fromSecondsAndNanoseconds((int) $duration->asSeconds(), $nanoseconds);
$telemetryDuration = \PHPUnit\Event\Telemetry\Duration::fromSecondsAndNanoseconds((int) $duration->asSeconds(), $nanoseconds); $telemetryDuration = \PHPUnit\Event\Telemetry\Duration::fromSecondsAndNanoseconds((int) $duration->asSeconds(), $nanoseconds);
$status = gc_status();
$garbageCollectorStatus = new GarbageCollectorStatus(
$status['runs'],
$status['collected'],
$status['threshold'],
$status['roots'],
null,
null,
null,
null,
);
$telemetry = new Info( $telemetry = new Info(
new Snapshot( new Snapshot(
$snapshotDuration, $snapshotDuration,
MemoryUsage::fromBytes(0), MemoryUsage::fromBytes(0),
MemoryUsage::fromBytes(0), MemoryUsage::fromBytes(0),
$garbageCollectorStatus,
), ),
$telemetryDuration, $telemetryDuration,
MemoryUsage::fromBytes(0), MemoryUsage::fromBytes(0),