From 9a5d54610c9cc2a60deafba48d6c441f09feb342 Mon Sep 17 00:00:00 2001
From: phenaproxima <phenaproxima@205645.no-reply.drupal.org>
Date: Wed, 2 Mar 2022 17:43:09 +0000
Subject: [PATCH] Issue #3267389 by tedbow, phenaproxima: Disable
 ComposerExecutableValidator during functional tests

---
 .../src/Functional/AutomaticUpdatesFunctionalTestBase.php | 8 ++++++++
 tests/src/Functional/ReadinessValidationTest.php          | 6 +++---
 tests/src/Functional/UpdateLockTest.php                   | 1 -
 tests/src/Functional/UpdaterFormTest.php                  | 1 -
 4 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/tests/src/Functional/AutomaticUpdatesFunctionalTestBase.php b/tests/src/Functional/AutomaticUpdatesFunctionalTestBase.php
index acefb94b18..334ed3bb20 100644
--- a/tests/src/Functional/AutomaticUpdatesFunctionalTestBase.php
+++ b/tests/src/Functional/AutomaticUpdatesFunctionalTestBase.php
@@ -15,6 +15,7 @@ abstract class AutomaticUpdatesFunctionalTestBase extends BrowserTestBase {
    */
   protected static $modules = [
     'automatic_updates_test_disable_validators',
+    'package_manager_bypass',
     'update',
     'update_test',
   ];
@@ -32,6 +33,13 @@ abstract class AutomaticUpdatesFunctionalTestBase extends BrowserTestBase {
     // @see \Drupal\Tests\automatic_updates\Build\CoreUpdateTest::assertReadOnlyFileSystemError()
     'automatic_updates.validator.file_system_permissions',
     'package_manager.validator.file_system',
+    // Disable the Composer executable validator, since it may cause the tests
+    // to fail if a supported version of Composer is unavailable to the web
+    // server. This should be okay in most situations because, apart from the
+    // validator, only Composer Stager needs run Composer, and
+    // package_manager_bypass is disabling those operations.
+    'automatic_updates.composer_executable_validator',
+    'package_manager.validator.composer_executable',
   ];
 
   /**
diff --git a/tests/src/Functional/ReadinessValidationTest.php b/tests/src/Functional/ReadinessValidationTest.php
index 072429fd49..ec4253ee71 100644
--- a/tests/src/Functional/ReadinessValidationTest.php
+++ b/tests/src/Functional/ReadinessValidationTest.php
@@ -398,11 +398,11 @@ class ReadinessValidationTest extends AutomaticUpdatesFunctionalTestBase {
     $this->container->get('module_installer')->install([
       'automatic_updates',
       'automatic_updates_test',
-      'package_manager_bypass',
     ]);
     // Because all actual staging operations are bypassed by
-    // package_manager_bypass, disable this validator because it will complain
-    // if there's no actual Composer data to inspect.
+    // package_manager_bypass (enabled by the parent class), disable this
+    // validator because it will complain if there's no actual Composer data to
+    // inspect.
     $this->disableValidators(['automatic_updates.staged_projects_validator']);
 
     // The error should be persistently visible, even after the checker stops
diff --git a/tests/src/Functional/UpdateLockTest.php b/tests/src/Functional/UpdateLockTest.php
index 1f8a13d25d..ea3e1cc8e4 100644
--- a/tests/src/Functional/UpdateLockTest.php
+++ b/tests/src/Functional/UpdateLockTest.php
@@ -20,7 +20,6 @@ class UpdateLockTest extends AutomaticUpdatesFunctionalTestBase {
   protected static $modules = [
     'automatic_updates',
     'automatic_updates_test',
-    'package_manager_bypass',
   ];
 
   /**
diff --git a/tests/src/Functional/UpdaterFormTest.php b/tests/src/Functional/UpdaterFormTest.php
index 0b9c505055..d257fe3182 100644
--- a/tests/src/Functional/UpdaterFormTest.php
+++ b/tests/src/Functional/UpdaterFormTest.php
@@ -33,7 +33,6 @@ class UpdaterFormTest extends AutomaticUpdatesFunctionalTestBase {
     'block',
     'automatic_updates',
     'automatic_updates_test',
-    'package_manager_bypass',
   ];
 
   /**
-- 
GitLab