diff --git a/core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigTestBase.php b/core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigTestBase.php index fdd63a95b3a3b4b14fcdcc2a692a8a87a10cc1c3..8a6a9308fcaad1fe3ede391d071a966b9f2b5f61 100644 --- a/core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigTestBase.php +++ b/core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigTestBase.php @@ -4,6 +4,7 @@ use Drupal\Component\Serialization\Yaml; use Drupal\Core\Archiver\ArchiveTar; +use Drupal\Core\Database\Database; use Drupal\Core\Installer\Form\SelectProfileForm; /** @@ -69,6 +70,18 @@ protected function prepareEnvironment() { } $archiver->extractList($files, $config_sync_directory); } + + // Add the module that is providing the database driver to the list of + // modules that can not be uninstalled in the core.extension configuration. + if (file_exists($config_sync_directory . '/core.extension.yml')) { + $core_extension = Yaml::decode(file_get_contents($config_sync_directory . '/core.extension.yml')); + $module = Database::getConnection()->getProvider(); + if ($module !== 'core') { + $core_extension['module'][$module] = 0; + $core_extension['module'] = module_config_sort($core_extension['module']); + file_put_contents($config_sync_directory . '/core.extension.yml', Yaml::encode($core_extension)); + } + } } /**