From d96479dd1371585b8c1a2db76e644b2bc57735a3 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Thu, 2 Nov 2023 14:06:08 +0100 Subject: [PATCH] do not let context classes extend the message classes --- .../Component/Console/Messenger/RunCommandContext.php | 10 ++++++---- .../Component/Process/Messenger/RunProcessContext.php | 10 +++++----- .../Tests/Messenger/RunProcessMessageHandlerTest.php | 4 ++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/Symfony/Component/Console/Messenger/RunCommandContext.php b/src/Symfony/Component/Console/Messenger/RunCommandContext.php index 35d5cbeba904a..2ee5415c6d58b 100644 --- a/src/Symfony/Component/Console/Messenger/RunCommandContext.php +++ b/src/Symfony/Component/Console/Messenger/RunCommandContext.php @@ -14,10 +14,12 @@ /** * @author Kevin Bond */ -final class RunCommandContext extends RunCommandMessage +final class RunCommandContext { - public function __construct(RunCommandMessage $message, public readonly int $exitCode, public readonly string $output) - { - parent::__construct($message->input, $message->throwOnFailure, $message->catchExceptions); + public function __construct( + public readonly RunCommandMessage $message, + public readonly int $exitCode, + public readonly string $output, + ) { } } diff --git a/src/Symfony/Component/Process/Messenger/RunProcessContext.php b/src/Symfony/Component/Process/Messenger/RunProcessContext.php index 3c7da369397c1..b5ade07223007 100644 --- a/src/Symfony/Component/Process/Messenger/RunProcessContext.php +++ b/src/Symfony/Component/Process/Messenger/RunProcessContext.php @@ -16,16 +16,16 @@ /** * @author Kevin Bond */ -final class RunProcessContext extends RunProcessMessage +final class RunProcessContext { public readonly ?int $exitCode; public readonly ?string $output; public readonly ?string $errorOutput; - public function __construct(RunProcessMessage $message, Process $process) - { - parent::__construct($message->command, $message->cwd, $message->env, $message->input, $message->timeout); - + public function __construct( + public readonly RunProcessMessage $message, + Process $process, + ) { $this->exitCode = $process->getExitCode(); $this->output = $process->isOutputDisabled() ? null : $process->getOutput(); $this->errorOutput = $process->isOutputDisabled() ? null : $process->getErrorOutput(); diff --git a/src/Symfony/Component/Process/Tests/Messenger/RunProcessMessageHandlerTest.php b/src/Symfony/Component/Process/Tests/Messenger/RunProcessMessageHandlerTest.php index d406d24339c0b..049da77a6ed0c 100644 --- a/src/Symfony/Component/Process/Tests/Messenger/RunProcessMessageHandlerTest.php +++ b/src/Symfony/Component/Process/Tests/Messenger/RunProcessMessageHandlerTest.php @@ -22,7 +22,7 @@ public function testRunSuccessfulProcess() { $context = (new RunProcessMessageHandler())(new RunProcessMessage(['ls'], cwd: __DIR__)); - $this->assertSame(['ls'], $context->command); + $this->assertSame(['ls'], $context->message->command); $this->assertSame(0, $context->exitCode); $this->assertStringContainsString(basename(__FILE__), $context->output); } @@ -32,7 +32,7 @@ public function testRunFailedProcess() try { (new RunProcessMessageHandler())(new RunProcessMessage(['invalid'])); } catch (RunProcessFailedException $e) { - $this->assertSame(['invalid'], $e->context->command); + $this->assertSame(['invalid'], $e->context->message->command); $this->assertSame('\\' === \DIRECTORY_SEPARATOR ? 1 : 127, $e->context->exitCode); return;