diff --git a/core/core.services.yml b/core/core.services.yml
index f00c450..402d6ee 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 28a7a7f..954c470 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 cc2fb5b..9d86cb9 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 20d45fa..0be3354 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 2c3bf08..5bedbbe 100644
--- a/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php
+++ b/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php
@@ -16,17 +16,53 @@
 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 171f30a..c94aca0 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,29 @@ 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();
+
+      // Ensure that the system schema are available as the base types used by
+      // all config schema are defined here. This ensures base configuration
+      // schema always exist regardless of whether or not the system.module is
+      // installed. This allows drupal_install_system() and
+      // \Drupal\simpletest\DrupalUnitTestBase to work.
+      if (!isset($this->folders['system.schema'])) {
+        $this->folders += $this->getComponentNames('module', array('system'));
+      }
+
+    }
+    return $this->folders;
+  }
+
 }
diff --git a/core/lib/Drupal/Core/Config/TypedConfigManager.php b/core/lib/Drupal/Core/Config/TypedConfigManager.php
index 09ec0c5..7716a5b 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 58a8850..b990c8b 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 02d80ad..d486973 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 992c1bd..bd2eab5 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 0000000..2ae0ace
--- /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 dbb4a37..52505af 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 3c9c833..ec3f29f 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
@@ -17,6 +17,13 @@
 class MigrateActionConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('action');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 d3cc6a5..88ec847 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
@@ -17,6 +17,13 @@
 class MigrateAggregatorConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('aggregator');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 8e52d10..f3823e6 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
@@ -17,6 +17,13 @@
 class MigrateBookConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('book');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 7eb7788..179b9e1 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
@@ -17,6 +17,13 @@
 class MigrateContactConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('contact');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 c761b21..ecfa088 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
@@ -17,6 +17,13 @@
 class MigrateDblogConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('dblog');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 2422c4e..cb8d39c 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
@@ -17,6 +17,13 @@
 class MigrateFileConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 c492a09..e5a2426 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
@@ -17,6 +17,13 @@
 class MigrateForumConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('forum');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 ff058db..b47a0da 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
@@ -17,6 +17,13 @@
 class MigrateLocaleConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 ebd83e5..ee96563 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
@@ -17,6 +17,13 @@
 class MigrateMenuConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('menu');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 414296f..ae05722 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
@@ -17,6 +17,13 @@
 class MigrateSearchConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('search');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 8a6fd1e..ca88209 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
@@ -17,6 +17,13 @@
 class MigrateSimpletestConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('simpletest');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 15da7f1..44ae47b 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
@@ -17,6 +17,13 @@
 class MigrateStatisticsConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('statistics');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 1f29060..47546f2 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
@@ -17,6 +17,13 @@
 class MigrateSyslogConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('syslog');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 e21e8c4..4cedef4 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
@@ -17,6 +17,13 @@
 class MigrateTaxonomyConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('taxonomy');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 ad96394..e47e99b 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
@@ -17,6 +17,13 @@
 class MigrateTextConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('text');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
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 d35ba9a..f8721c5 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
@@ -17,6 +17,13 @@
 class MigrateUpdateConfigsTest extends MigrateDrupalTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update');
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
