commit f694d4efaf384b51c89095b3ea2b22ab68648afe
Author: Bart Feenstra <bart@mynameisbart.com>
Date:   Fri Dec 13 09:45:39 2013 +0100

    foo

diff --git a/core/modules/system/lib/Drupal/system/Form/ModulesListForm.php b/core/modules/system/lib/Drupal/system/Form/ModulesListForm.php
index a090c67..3c2e2d9 100644
--- a/core/modules/system/lib/Drupal/system/Form/ModulesListForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/ModulesListForm.php
@@ -198,12 +198,14 @@ protected function buildRow(array $modules, $module, $distribution) {
     // Generate link for module's configuration page, if it has one.
     $row['links']['configure'] = array();
     if ($module->status && isset($module->info['configure'])) {
-      if ($this->accessManager->checkNamedRoute($module->info['configure'], array(), \Drupal::currentUser())) {
-        $item = menu_get_item(trim($this->url($module->info['configure']), '/'));
+      $route_parameters = isset($module->info['configure_parameters']) ? $module->info['configure_parameters'] : array();
+      if ($this->accessManager->checkNamedRoute($module->info['configure'], $route_parameters, \Drupal::currentUser())) {
+        $item = menu_get_item(trim($this->url($module->info['configure'], $route_parameters), '/'));
         $row['links']['configure'] = array(
           '#type' => 'link',
           '#title' => $this->t('Configure'),
           '#route_name' => $module->info['configure'],
+          '#route_parameters' => $route_parameters,
           '#options' => array(
             'attributes' => array(
               'class' => array('module-link', 'module-link-configure'),
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/ModuleListFormWebTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/ModuleListFormWebTest.php
new file mode 100644
index 0000000..e3eadca
--- /dev/null
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/ModuleListFormWebTest.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Form\ModulesListFormWebTest.
+ */
+
+namespace Drupal\system\Tests\Form;
+
+use Drupal\simpletest\WebTestBase;
+
+/**
+ * Tests \Drupal\system\Form\ModulesListForm.
+ */
+class ModuleListFormWebTest extends WebTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = array('system_test');
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'description' => 'Tests \Drupal\system\Form\ModulesListForm.',
+      'name' => '\Drupal\system\Form\ModulesListForm web test',
+      'group' => 'Module',
+    );
+  }
+
+  /**
+   * Tests the module list form.
+   */
+  public function testModuleListForm() {
+    $this->drupalLogin($this->drupalCreateUser(array('administer modules')));
+    $this->drupalGet('admin/modules');
+    $this->assertResponse('200');
+
+    // Check that system_test's configure link was rendered correctly.
+    $this->assertLinkByHref('configure/bar');
+  }
+}
diff --git a/core/modules/system/tests/modules/system_test/system_test.info.yml b/core/modules/system/tests/modules/system_test/system_test.info.yml
index d5b65e9..eff3630 100644
--- a/core/modules/system/tests/modules/system_test/system_test.info.yml
+++ b/core/modules/system/tests/modules/system_test/system_test.info.yml
@@ -5,3 +5,6 @@ package: Testing
 version: VERSION
 core: 8.x
 hidden: true
+configure: system_test.configure
+configure_parameters:
+  foo: bar
diff --git a/core/modules/system/tests/modules/system_test/system_test.module b/core/modules/system/tests/modules/system_test/system_test.module
index aa93e6d..a2b5250 100644
--- a/core/modules/system/tests/modules/system_test/system_test.module
+++ b/core/modules/system/tests/modules/system_test/system_test.module
@@ -69,6 +69,9 @@ function system_test_system_info_alter(&$info, $file, $type) {
   if ($file->name == 'requirements1_test' || $file->name == 'requirements2_test') {
     $info['hidden'] = FALSE;
   }
+  if ($file->name == 'system_test') {
+    $info['hidden'] = FALSE;
+  }
 }
 
 /**
diff --git a/core/modules/system/tests/modules/system_test/system_test.routing.yml b/core/modules/system/tests/modules/system_test/system_test.routing.yml
index 660cfce..72ac281 100644
--- a/core/modules/system/tests/modules/system_test/system_test.routing.yml
+++ b/core/modules/system/tests/modules/system_test/system_test.routing.yml
@@ -80,3 +80,8 @@ system_test.shutdown_functions:
     _content: '\Drupal\system_test\Controller\SystemTestController::shutdownFunctions'
   requirements:
     _access: 'TRUE'
+
+system_test.configure:
+  path: '/system-test/configure/{foo}'
+  requirements:
+    _access: 'TRUE'
