From 321dc38ac602fc2de74deadade0a72cb999bb584 Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Mon, 25 Mar 2024 22:59:29 +0000
Subject: [PATCH] Issue #3432171 by mondrake: dump() no longer produces output
 in PHPUnit tests running under PHP 8.3

(cherry picked from commit 80139bdb8e968759d757293432289a0ea175526f)
---
 core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php | 4 ++--
 core/tests/Drupal/KernelTests/KernelTestBaseTest.php      | 4 ++--
 core/tests/Drupal/TestTools/TestVarDumper.php             | 4 ++--
 core/tests/Drupal/Tests/UnitTestCaseTest.php              | 8 ++++----
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php b/core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php
index 6d0d1f6d469f..e151df9926f0 100644
--- a/core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php
+++ b/core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php
@@ -572,11 +572,11 @@ public function testDeprecationHeaders() {
    * Tests the dump() function provided by the var-dumper Symfony component.
    */
   public function testVarDump() {
-    // Append the stream capturer to the STDOUT stream, so that we can test the
+    // Append the stream capturer to the STDERR stream, so that we can test the
     // dump() output and also prevent it from actually outputting in this
     // particular test.
     stream_filter_register("capture", StreamCapturer::class);
-    stream_filter_append(STDOUT, "capture");
+    stream_filter_append(STDERR, "capture");
 
     // Dump some variables to check that dump() in test code produces output
     // on the command line that is running the test.
diff --git a/core/tests/Drupal/KernelTests/KernelTestBaseTest.php b/core/tests/Drupal/KernelTests/KernelTestBaseTest.php
index f22ae1db2288..91984854a302 100644
--- a/core/tests/Drupal/KernelTests/KernelTestBaseTest.php
+++ b/core/tests/Drupal/KernelTests/KernelTestBaseTest.php
@@ -341,11 +341,11 @@ public function testProfileModules() {
    * Tests the dump() function provided by the var-dumper Symfony component.
    */
   public function testVarDump() {
-    // Append the stream capturer to the STDOUT stream, so that we can test the
+    // Append the stream capturer to the STDERR stream, so that we can test the
     // dump() output and also prevent it from actually outputting in this
     // particular test.
     stream_filter_register("capture", StreamCapturer::class);
-    stream_filter_append(STDOUT, "capture");
+    stream_filter_append(STDERR, "capture");
 
     // Dump some variables.
     $this->enableModules(['system', 'user']);
diff --git a/core/tests/Drupal/TestTools/TestVarDumper.php b/core/tests/Drupal/TestTools/TestVarDumper.php
index 67d6136e155f..dbf5af90f971 100644
--- a/core/tests/Drupal/TestTools/TestVarDumper.php
+++ b/core/tests/Drupal/TestTools/TestVarDumper.php
@@ -22,7 +22,7 @@ class TestVarDumper {
   public static function cliHandler($var) {
     $cloner = new VarCloner();
     $dumper = new CliDumper();
-    fwrite(STDOUT, "\n");
+    fwrite(STDERR, "\n");
     $dumper->setColors(TRUE);
     $dumper->dump(
       $cloner->cloneVar($var),
@@ -30,7 +30,7 @@ function ($line, $depth, $indent_pad) {
         // A negative depth means "end of dump".
         if ($depth >= 0) {
           // Adds a two spaces indentation to the line.
-          fwrite(STDOUT, str_repeat($indent_pad, $depth) . $line . "\n");
+          fwrite(STDERR, str_repeat($indent_pad, $depth) . $line . "\n");
         }
       }
     );
diff --git a/core/tests/Drupal/Tests/UnitTestCaseTest.php b/core/tests/Drupal/Tests/UnitTestCaseTest.php
index 4d5a7948a877..033923cf1c4b 100644
--- a/core/tests/Drupal/Tests/UnitTestCaseTest.php
+++ b/core/tests/Drupal/Tests/UnitTestCaseTest.php
@@ -17,11 +17,11 @@ class UnitTestCaseTest extends UnitTestCase {
    * Tests the dump() function in a test run in the same process.
    */
   public function testVarDumpSameProcess() {
-    // Append the stream capturer to the STDOUT stream, so that we can test the
+    // Append the stream capturer to the STDERR stream, so that we can test the
     // dump() output and also prevent it from actually outputting in this
     // particular test.
     stream_filter_register("capture", StreamCapturer::class);
-    stream_filter_append(STDOUT, "capture");
+    stream_filter_append(STDERR, "capture");
 
     // Dump some variables.
     $object = (object) [
@@ -40,11 +40,11 @@ public function testVarDumpSameProcess() {
    * @runInSeparateProcess
    */
   public function testVarDumpSeparateProcess() {
-    // Append the stream capturer to the STDOUT stream, so that we can test the
+    // Append the stream capturer to the STDERR stream, so that we can test the
     // dump() output and also prevent it from actually outputting in this
     // particular test.
     stream_filter_register("capture", StreamCapturer::class);
-    stream_filter_append(STDOUT, "capture");
+    stream_filter_append(STDERR, "capture");
 
     // Dump some variables.
     $object = (object) [
-- 
GitLab