diff --git a/core/core.services.yml b/core/core.services.yml
index f00c4502e3f443fdff025c71ffb7cefe5d74782d..402d6ee5bb172d29623034bcb9a1562ed8507eb8 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -93,6 +93,7 @@ services:
     arguments: ['@database', config_snapshot]
   config.storage.schema:
     class: Drupal\Core\Config\Schema\SchemaStorage
+    arguments: ['@config.storage']
   config.storage.installer:
     class: Drupal\Core\Config\InstallStorage
   config.typed:
diff --git a/core/includes/config.inc b/core/includes/config.inc
index 28a7a7fd7528ea6bbfb07388735f490901d95b1e..954c470ee612a07d92ffdbbd1f1327b08f01016f 100644
--- a/core/includes/config.inc
+++ b/core/includes/config.inc
@@ -30,6 +30,12 @@ function config_uninstall_default_config($type, $name) {
   foreach ($config_names as $config_name) {
     \Drupal::config($config_name)->delete();
   }
+  $schema_dir = drupal_get_path($type, $name) . '/config/schema';
+  if (is_dir($schema_dir)) {
+    // Refresh the schema cache if uninstalling an extension that provides
+    // configuration schema.
+    \Drupal::service('config.typed')->clearCachedDefinitions();
+  }
 }
 
 /**
diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index cc2fb5b041ec4c189a6c01117734267b4c0c9e08..9d86cb9850e94f691f6f1f4227565e0ac1811a75 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -374,7 +374,8 @@ function install_begin_request(&$install_state) {
 
     $container->register('config.storage', 'Drupal\Core\Config\InstallStorage');
 
-    $container->register('config.storage.schema', 'Drupal\Core\Config\Schema\SchemaStorage');
+    $container->register('config.storage.schema', 'Drupal\Core\Config\Schema\SchemaStorage')
+      ->addArgument(new Reference('config.storage'));
 
     $container->register('config.typed', 'Drupal\Core\Config\TypedConfigManager')
       ->addArgument(new Reference('config.storage'))
diff --git a/core/lib/Drupal/Core/Config/ConfigInstaller.php b/core/lib/Drupal/Core/Config/ConfigInstaller.php
index 20d45fa4a2ed57b07e2b44ae2cec1770a03fee93..0be3354705b482fdade7e5dbfde20ba38614493f 100644
--- a/core/lib/Drupal/Core/Config/ConfigInstaller.php
+++ b/core/lib/Drupal/Core/Config/ConfigInstaller.php
@@ -75,13 +75,18 @@ public function __construct(ConfigFactory $config_factory, StorageInterface $act
    */
   public function installDefaultConfig($type, $name) {
     // Get all default configuration owned by this extension.
-    $source_storage = new ExtensionInstallStorage();
+    $source_storage = new ExtensionInstallStorage($this->activeStorage);
     $config_to_install = $source_storage->listAll($name . '.');
 
     // Work out if this extension provides default configuration for any other
     // enabled extensions.
     $config_dir = drupal_get_path($type, $name) . '/config';
     if (is_dir($config_dir)) {
+      if (is_dir($config_dir . '/schema')) {
+        // Refresh the schema cache if installing default configuration and the
+        // extension has a configuration schema directory.
+        $this->typedConfig->clearCachedDefinitions();
+      }
       $default_storage = new FileStorage($config_dir);
       $other_module_config = array_filter($default_storage->listAll(), function ($value) use ($name) {
         return !preg_match('/^' . $name . '\./', $value);
diff --git a/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php b/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php
index 2c3bf08a124a983d21f1219996afc1a2ea20270e..5bedbbe20095cee0c6bde76a88e7be07780a056a 100644
--- a/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php
+++ b/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php
@@ -15,18 +15,54 @@
  */
 class ExtensionInstallStorage extends InstallStorage {
 
+  /**
+   * The active configuration store.
+   *
+   * @var \Drupal\Core\Config\StorageInterface
+   */
+  protected $configStorage;
+
+  /**
+   * Overrides \Drupal\Core\Config\InstallStorage::__construct().
+   *
+   * @param \Drupal\Core\Config\StorageInterface $config_storage
+   *   The active configuration store where the list of enabled modules and
+   *   themes is stored.
+   */
+  public function __construct(StorageInterface $config_storage) {
+    $this->configStorage = $config_storage;
+  }
+
+  /**
+   * Resets the static cache.
+   */
+  public function reset() {
+    $this->folders = NULL;
+  }
+
   /**
    * Returns a map of all config object names and their folders.
    *
-   * The list is based on enabled modules and themes.
+   * The list is based on enabled modules and themes. The active configuration
+   * storage is used rather than \Drupal\Core\Extension\ModuleHandler and
+   *  \Drupal\Core\Extension\ThemeHandler in order to resolve circular
+   * dependencies between these services and \Drupal\Core\Config\ConfigInstaller
+   * and \Drupal\Core\Config\TypedConfigManager.
    *
    * @return array
    *   An array mapping config object names with directories.
    */
   protected function getAllFolders() {
     if (!isset($this->folders)) {
-      $this->folders = $this->getComponentNames('module', array_keys(\Drupal::moduleHandler()->getModuleList()));
-      $this->folders += $this->getComponentNames('theme', array_keys(array_filter(list_themes(), function ($theme) {return $theme->status;})));
+      $this->folders = array();
+      $modules = $this->configStorage->read('system.module');
+      if (isset($modules['enabled'])) {
+        $this->folders += $this->getComponentNames('module', array_keys($modules['enabled']));
+      }
+      $themes = $this->configStorage->read('system.theme');
+      if (isset($themes['enabled'])) {
+        $this->folders += $this->getComponentNames('theme', array_keys($themes['enabled']));
+      }
     }
     return $this->folders;
   }
diff --git a/core/lib/Drupal/Core/Config/Schema/SchemaStorage.php b/core/lib/Drupal/Core/Config/Schema/SchemaStorage.php
index 171f30a89a344fda5381eefa3a513dc3d9a5d021..1b84dece02e10c63bbccf4262614164c1dd7ac21 100644
--- a/core/lib/Drupal/Core/Config/Schema/SchemaStorage.php
+++ b/core/lib/Drupal/Core/Config/Schema/SchemaStorage.php
@@ -7,13 +7,13 @@
 
 namespace Drupal\Core\Config\Schema;
 
-use Drupal\Core\Config\InstallStorage;
+use Drupal\Core\Config\ExtensionInstallStorage;
 use Drupal\Core\Config\StorageException;
 
 /**
  * Defines the file storage controller for metadata files.
  */
-class SchemaStorage extends InstallStorage {
+class SchemaStorage extends ExtensionInstallStorage {
 
   /**
    * Implements \Drupal\Core\Config\StorageInterface::exists().
@@ -56,4 +56,32 @@ public function rename($name, $new_name) {
     throw new StorageException('Rename operation is not allowed for config schema storage.');
   }
 
+  /**
+   * Returns a map of all config object names and their folders.
+   *
+   * The list is based on enabled modules and themes.
+   *
+   * @return array
+   *   An array mapping config object names with directories.
+   */
+  protected function getAllFolders() {
+    if (!isset($this->folders)) {
+      parent::getAllFolders();
+      $this->folders += $this->getBaseDataTypeSchema();
+    }
+    return $this->folders;
+  }
+
+  /**
+   * Gets the base data types for configuration schema.
+   *
+   * @return array
+   *   The file containing the base data types for configuration schema.
+   */
+  protected function getBaseDataTypeSchema() {
+    return array(
+      'core.data_types.schema' => 'core/lib/Drupal/Core/Config/Schema'
+    );
+  }
+
 }
diff --git a/core/modules/system/config/schema/system.data_types.schema.yml b/core/lib/Drupal/Core/Config/Schema/core.data_types.schema.yml
similarity index 100%
rename from core/modules/system/config/schema/system.data_types.schema.yml
rename to core/lib/Drupal/Core/Config/Schema/core.data_types.schema.yml
diff --git a/core/lib/Drupal/Core/Config/TypedConfigManager.php b/core/lib/Drupal/Core/Config/TypedConfigManager.php
index 09ec0c5b739b032bfac69d1c2f7fb8eeee2f7278..7716a5b06b89f979b5e4780f0219fab9426677da 100644
--- a/core/lib/Drupal/Core/Config/TypedConfigManager.php
+++ b/core/lib/Drupal/Core/Config/TypedConfigManager.php
@@ -199,6 +199,7 @@ public function getDefinitions() {
    */
   public function clearCachedDefinitions() {
     $this->definitions = NULL;
+    $this->schemaStorage->reset();
     $this->cache->delete($this::CACHE_ID);
   }
 
diff --git a/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php b/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php
index 58a88505df6fd893425fff4b3eca40c046b516ec..b990c8bdaac8f69a94c5ea067e5c4a416ae2e769 100644
--- a/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php
+++ b/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php
@@ -7,12 +7,15 @@
 
 namespace Drupal\Core\Config;
 
+use Drupal\Component\Plugin\Discovery\CachedDiscoveryInterface;
+use Drupal\Component\Plugin\PluginManagerInterface;
+
 /**
  * Defines an interface for typed configuration manager.
  *
  * @package Drupal\Core\Config
  */
-Interface TypedConfigManagerInterface {
+Interface TypedConfigManagerInterface extends PluginManagerInterface, CachedDiscoveryInterface {
 
   /**
    * Checks if the configuration schema with the given config name exists.
@@ -24,4 +27,5 @@
    *   TRUE if configuration schema exists, FALSE otherwise.
    */
   public function hasConfigSchema($name);
+
 }
diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php
index 02d80adb1830ebe41329a6e731c6378c515a99aa..d486973277225ae07dfecab1176a1d31a216cab6 100644
--- a/core/lib/Drupal/Core/Extension/ModuleHandler.php
+++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php
@@ -723,12 +723,12 @@ public function uninstall(array $module_list, $uninstall_dependents = TRUE) {
       $this->invoke($module, 'uninstall');
       drupal_uninstall_schema($module);
 
-      // Remove all configuration belonging to the module.
-      config_uninstall_default_config('module', $module);
-
       // Remove the module's entry from the config.
       $module_config->clear("enabled.$module")->save();
 
+      // Remove all configuration belonging to the module.
+      config_uninstall_default_config('module', $module);
+
       // Update the module handler to remove the module.
       // The current ModuleHandler instance is obsolete with the kernel rebuild
       // below.
diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigInstallTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigInstallTest.php
index 992c1bdbbd797533b1c43274a2661d63b7c368a1..bd2eab5eab30fe5263a97e8fa5ed7051dec6302c 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigInstallTest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigInstallTest.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Definition of Drupal\config\Tests\ConfigInstallTest.
+ * Contains \Drupal\config\Tests\ConfigInstallTest.
  */
 
 namespace Drupal\config\Tests;
@@ -42,10 +42,17 @@ function testModuleInstallation() {
     $config = \Drupal::config($default_configuration_entity);
     $this->assertIdentical($config->isNew(), TRUE);
 
+    // Ensure that schema provided by modules that are not installed is not
+    // available.
+    $this->assertFalse(\Drupal::service('config.typed')->hasConfigSchema('config_test.schema_in_install'), 'Configuration schema for config_test.schema_in_install does not exist.');
+
     // Install the test module.
     $this->enableModules(array('config_test'));
     $this->installConfig(array('config_test'));
 
+    // After module installation the new schema should exist.
+    $this->assertTrue(\Drupal::service('config.typed')->hasConfigSchema('config_test.schema_in_install'), 'Configuration schema for config_test.schema_in_install exists.');
+
     // Verify that default module config exists.
     \Drupal::configFactory()->reset($default_config);
     \Drupal::configFactory()->reset($default_configuration_entity);
@@ -62,5 +69,15 @@ function testModuleInstallation() {
     $this->assertFalse(isset($GLOBALS['hook_config_test']['update']));
     $this->assertFalse(isset($GLOBALS['hook_config_test']['predelete']));
     $this->assertFalse(isset($GLOBALS['hook_config_test']['delete']));
+
+    // Ensure that data type casting is applied during config installation.
+    $config = \Drupal::config('config_test.schema_in_install');
+    $this->assertIdentical($config->get('integer'), 1);
+
+    // Test that uninstalling configuration removes configuration schema.
+    \Drupal::config('system.module')->set('enabled', array())->save();
+    config_uninstall_default_config('module', 'config_test');
+    $this->assertFalse(\Drupal::service('config.typed')->hasConfigSchema('config_test.schema_in_install'), 'Configuration schema for config_test.schema_in_install does not exist.');
+
   }
 }
diff --git a/core/modules/config/tests/config_test/config/config_test.schema_in_install.yml b/core/modules/config/tests/config_test/config/config_test.schema_in_install.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2ae0ace719b45144d068330f383d1708fea64f05
--- /dev/null
+++ b/core/modules/config/tests/config_test/config/config_test.schema_in_install.yml
@@ -0,0 +1 @@
+integer: '1'
diff --git a/core/modules/config/tests/config_test/config/schema/config_test.schema.yml b/core/modules/config/tests/config_test/config/schema/config_test.schema.yml
index dbb4a37bf04a70fd302bf495e2173904461914da..52505af17f53cd05b589e3eb1584a16bf979e207 100644
--- a/core/modules/config/tests/config_test/config/schema/config_test.schema.yml
+++ b/core/modules/config/tests/config_test/config/schema/config_test.schema.yml
@@ -132,6 +132,14 @@ config_test.schema_data_types:
       sequence:
         - type: boolean
 
+config_test.schema_in_install:
+  label: 'Schema test data with parenting'
+  type: mapping
+  mapping:
+    integer:
+      type: integer
+      label: 'Integer'
+
 config_test.types:
   type: mapping
   label: 'Configuration type'
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateActionConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateActionConfigsTest.php
index 3c9c833dfa4ee73651d388dec09bd8564267ddac..ec3f29f16286dfaefe68b0693dfacb6ad118e2e1 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateActionConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateActionConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateActionConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('action');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateAggregatorConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateAggregatorConfigsTest.php
index d3cc6a5f359d29daea22d9d9332c9150220d2082..88ec847be5c56891d8ffad844d35f725676f550c 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateAggregatorConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateAggregatorConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateAggregatorConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('aggregator');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateBookConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateBookConfigsTest.php
index 8e52d102204db7667700dddbcc89420e004da2ff..f3823e6ad7d736f405095910e23edcccf5e49710 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateBookConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateBookConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateBookConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('book');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateContactConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateContactConfigsTest.php
index 7eb77883264f14c7845daeca103a894942a3868b..179b9e1061dfbc7b6667364a1f4dba08efa4bebf 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateContactConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateContactConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateContactConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('contact');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateDblogConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateDblogConfigsTest.php
index c761b2106e7cf7969a46572083333f5d7fb3b95b..ecfa088e9ba7bf54752e75cfe255c1db7e8946fc 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateDblogConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateDblogConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateDblogConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('dblog');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFileConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFileConfigsTest.php
index 2422c4e0adc36862d37168680df40866b5552951..cb8d39c7a510bff18e4a400c2fae81cba580c4c7 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFileConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFileConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateFileConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateForumConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateForumConfigsTest.php
index c492a09267cacd3ab19fd2b270701a6dda749c9c..e5a242669f96d9e0cdc0c6c844586372afaeb5d4 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateForumConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateForumConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateForumConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('forum');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLocaleConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLocaleConfigsTest.php
index ff058dbf7d93e417dae5c5c9e6be861305ace814..b47a0dad73078612c6cf857d7d22cf6084cd7aa2 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLocaleConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLocaleConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateLocaleConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateMenuConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateMenuConfigsTest.php
index ebd83e54fcd3cfcd02c755d64c193a42e1ccd3f2..ee96563dfa7f1cc117f5caf00ddd2289bcbac492 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateMenuConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateMenuConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateMenuConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('menu');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSearchConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSearchConfigsTest.php
index 414296f3666c46ecf29295ee81c5cfebaac749c9..ae05722834e83f75aa8e7852b17f0633b7388e2a 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSearchConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSearchConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateSearchConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('search');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSimpletestConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSimpletestConfigsTest.php
index 8a6fd1e89c59c0e58d48b7a500e1a521e41e7a78..ca882093c141f3b6882903a7a8f46f81b8e92381 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSimpletestConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSimpletestConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateSimpletestConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('simpletest');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateStatisticsConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateStatisticsConfigsTest.php
index 15da7f1355343aa521a902a31162a69bdaadfa39..44ae47b9eb86b7dad5f1de0e3fbe34594ec469b6 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateStatisticsConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateStatisticsConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateStatisticsConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('statistics');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSyslogConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSyslogConfigsTest.php
index 1f290608664eca0ad3b10845468ecac757f91e53..47546f2103188662bd03ad5271e66b9ac6b1d20c 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSyslogConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSyslogConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateSyslogConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('syslog');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTaxonomyConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTaxonomyConfigsTest.php
index e21e8c491ed385b3cc4d826e7f05560bcbe108c2..4cedef4c44c86f865bbfa377bdcfe5fc31a60f98 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTaxonomyConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTaxonomyConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateTaxonomyConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('taxonomy');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTextConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTextConfigsTest.php
index ad96394bd9e3a18c3810609f1b0a4030aa2ea0b9..e47e99b27820a6d213839b4191e46166337f5631 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTextConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTextConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateTextConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('text');
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUpdateConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUpdateConfigsTest.php
index d35ba9a66681f98e1c3a37e957c407966ba6ae2d..f8721c5a9099be97341bbf910e1987dd4f71fb00 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUpdateConfigsTest.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUpdateConfigsTest.php
@@ -16,6 +16,13 @@
  */
 class MigrateUpdateConfigsTest extends MigrateDrupalTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update');
+
   /**
    * {@inheritdoc}
    */