From efddc2c87c3f727398e891cde1d161a875bf779b Mon Sep 17 00:00:00 2001
From: Ted Bowman <41201-tedbow@users.noreply.drupalcode.org>
Date: Fri, 15 Sep 2023 17:46:41 +0000
Subject: [PATCH] Issue #3387610 by tedbow: Kernel tests fail if a core module
 gets a new update function

---
 .../src/Kernel/PackageManagerKernelTestBase.php     | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/package_manager/tests/src/Kernel/PackageManagerKernelTestBase.php b/package_manager/tests/src/Kernel/PackageManagerKernelTestBase.php
index 2ff6f78ca8..31d126827f 100644
--- a/package_manager/tests/src/Kernel/PackageManagerKernelTestBase.php
+++ b/package_manager/tests/src/Kernel/PackageManagerKernelTestBase.php
@@ -136,6 +136,14 @@ abstract class PackageManagerKernelTestBase extends KernelTestBase {
       ->addLogger($this->failureLogger);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  protected function enableModules(array $modules) {
+    parent::enableModules($modules);
+    $this->registerPostUpdateFunctions();
+  }
+
   /**
    * {@inheritdoc}
    */
@@ -243,8 +251,9 @@ abstract class PackageManagerKernelTestBase extends KernelTestBase {
    * up-to-date state.
    */
   protected function registerPostUpdateFunctions(): void {
-    $updates = $this->container->get('update.post_update_registry')
-      ->getPendingUpdateFunctions();
+    static $updates = [];
+    $updates = array_merge($updates, $this->container->get('update.post_update_registry')
+      ->getPendingUpdateFunctions());
 
     $this->container->get('keyvalue')
       ->get('post_update')
-- 
GitLab