From 46919be380e6bd00d8464f5db9aaafa92be59388 Mon Sep 17 00:00:00 2001 From: Dave Long <dave@longwaveconsulting.com> Date: Wed, 7 Aug 2024 17:50:15 +0100 Subject: [PATCH] Issue #3466524 by catch: ModuleConfigureRouteTest is slow (cherry picked from commit d3b144d302b53aad20a3ede0f68f8910740f2d6d) --- .../Extension/ModuleConfigureRouteTest.php | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/core/tests/Drupal/KernelTests/Core/Extension/ModuleConfigureRouteTest.php b/core/tests/Drupal/KernelTests/Core/Extension/ModuleConfigureRouteTest.php index 0d004a2ef166..b7e5a3f6d8e2 100644 --- a/core/tests/Drupal/KernelTests/Core/Extension/ModuleConfigureRouteTest.php +++ b/core/tests/Drupal/KernelTests/Core/Extension/ModuleConfigureRouteTest.php @@ -47,17 +47,24 @@ protected function setUp(): void { /** * Tests if the module configure routes exists. - * - * @dataProvider coreModuleListDataProvider */ - public function testModuleConfigureRoutes(string $module_name): void { + public function testModuleConfigureRoutes(): void { + foreach (static::coreModuleListDataProvider() as $module_name => $info) { + $this->doTestModuleConfigureRoutes($module_name); + } + } + + /** + * Checks the configure route for a single module. + */ + protected function doTestModuleConfigureRoutes(string $module_name): void { $module_info = $this->moduleInfo[$module_name]->info; if (!isset($module_info['configure'])) { - $this->markTestSkipped("$module_name has no configure route"); + return; } $module_lifecycle = $module_info[ExtensionLifecycle::LIFECYCLE_IDENTIFIER]; if (isset($module_lifecycle) && $module_lifecycle === ExtensionLifecycle::DEPRECATED) { - $this->markTestSkipped("$module_name is $module_lifecycle"); + return; } $this->container->get('module_installer')->install([$module_name]); $this->assertModuleConfigureRoutesExist($module_name, $module_info); @@ -70,17 +77,24 @@ public function testModuleConfigureRoutes(string $module_name): void { * deprecated module doesn't trigger a deprecation notice. * * @group legacy - * - * @dataProvider coreModuleListDataProvider */ - public function testDeprecatedModuleConfigureRoutes(string $module_name): void { + public function testDeprecatedModuleConfigureRoutes(): void { + foreach (static::coreModuleListDataProvider() as $module_name => $info) { + $this->doTestDeprecatedModuleConfigureRoutes($module_name); + } + } + + /** + * Check the configure route for a single module. + */ + protected function doTestDeprecatedModuleConfigureRoutes(string $module_name): void { $module_info = $this->moduleInfo[$module_name]->info; if (!isset($module_info['configure'])) { - $this->markTestSkipped("$module_name has no configure route"); + return; } $module_lifecycle = $module_info[ExtensionLifecycle::LIFECYCLE_IDENTIFIER]; if (isset($module_lifecycle) && $module_lifecycle !== ExtensionLifecycle::DEPRECATED) { - $this->markTestSkipped("$module_name is not $module_lifecycle"); + return; } $this->container->get('module_installer')->install([$module_name]); $this->assertModuleConfigureRoutesExist($module_name, $module_info); -- GitLab