diff --git a/core/modules/action/migration_templates/d6_action_settings.yml b/core/modules/action/migration_templates/action_settings.yml
similarity index 87%
rename from core/modules/action/migration_templates/d6_action_settings.yml
rename to core/modules/action/migration_templates/action_settings.yml
index f46092c..df69e33 100644
--- a/core/modules/action/migration_templates/d6_action_settings.yml
+++ b/core/modules/action/migration_templates/action_settings.yml
@@ -1,7 +1,8 @@
-id: d6_action_settings
+id: action_settings
 label: Action configuration
 migration_tags:
   - Drupal 6
+  - Drupal 7
 source:
   plugin: variable
   variables:
diff --git a/core/modules/action/tests/src/Kernel/Migrate/d6/MigrateActionConfigsTest.php b/core/modules/action/tests/src/Kernel/Migrate/d6/MigrateActionConfigsTest.php
index 255cf23..0ee1869 100644
--- a/core/modules/action/tests/src/Kernel/Migrate/d6/MigrateActionConfigsTest.php
+++ b/core/modules/action/tests/src/Kernel/Migrate/d6/MigrateActionConfigsTest.php
@@ -24,7 +24,7 @@ class MigrateActionConfigsTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->executeMigration('d6_action_settings');
+    $this->executeMigration('action_settings');
   }
 
   /**
diff --git a/core/modules/action/tests/src/Kernel/Migrate/d7/MigrateActionConfigsTest.php b/core/modules/action/tests/src/Kernel/Migrate/d7/MigrateActionConfigsTest.php
new file mode 100644
index 0000000..c12f543
--- /dev/null
+++ b/core/modules/action/tests/src/Kernel/Migrate/d7/MigrateActionConfigsTest.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace Drupal\Tests\action\Kernel\Migrate\d7;
+
+use Drupal\config\Tests\SchemaCheckTestTrait;
+use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
+
+/**
+ * Upgrade variables to action.settings.yml.
+ *
+ * @group migrate_drupal_7
+ */
+class MigrateActionConfigsTest extends MigrateDrupal7TestBase {
+
+  use SchemaCheckTestTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['action'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->executeMigration('action_settings');
+  }
+
+  /**
+   * Tests migration of action variables to action.settings.yml.
+   */
+  public function testActionSettings() {
+    $config = $this->config('action.settings');
+    $this->assertIdentical(28, $config->get('recursion_limit'));
+    $this->assertConfigSchema(\Drupal::service('config.typed'), 'action.settings', $config->get());
+  }
+
+}
diff --git a/core/modules/file/migration_templates/d6_file_settings.yml b/core/modules/file/migration_templates/file_settings.yml
similarity index 92%
rename from core/modules/file/migration_templates/d6_file_settings.yml
rename to core/modules/file/migration_templates/file_settings.yml
index d59aa47..36584cc 100644
--- a/core/modules/file/migration_templates/d6_file_settings.yml
+++ b/core/modules/file/migration_templates/file_settings.yml
@@ -1,7 +1,8 @@
-id: d6_file_settings
+id: file_settings
 label: File configuration
 migration_tags:
   - Drupal 6
+  - Drupal 7
 source:
   plugin: variable
   variables:
diff --git a/core/modules/file/tests/src/Kernel/Migrate/d6/MigrateFileConfigsTest.php b/core/modules/file/tests/src/Kernel/Migrate/d6/MigrateFileConfigsTest.php
index d274251..c1c6bf9 100644
--- a/core/modules/file/tests/src/Kernel/Migrate/d6/MigrateFileConfigsTest.php
+++ b/core/modules/file/tests/src/Kernel/Migrate/d6/MigrateFileConfigsTest.php
@@ -19,7 +19,7 @@ class MigrateFileConfigsTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->executeMigration('d6_file_settings');
+    $this->executeMigration('file_settings');
   }
 
   /**
diff --git a/core/modules/file/tests/src/Kernel/Migrate/d7/MigrateFileConfigsTest.php b/core/modules/file/tests/src/Kernel/Migrate/d7/MigrateFileConfigsTest.php
new file mode 100644
index 0000000..b48429c
--- /dev/null
+++ b/core/modules/file/tests/src/Kernel/Migrate/d7/MigrateFileConfigsTest.php
@@ -0,0 +1,36 @@
+<?php
+
+namespace Drupal\Tests\file\Kernel\Migrate\d7;
+
+use Drupal\config\Tests\SchemaCheckTestTrait;
+use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
+
+/**
+ * Upgrade variables to file.settings.yml.
+ *
+ * @group migrate_drupal_7
+ */
+class MigrateFileConfigsTest extends MigrateDrupal7TestBase {
+
+  use SchemaCheckTestTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->executeMigration('file_settings');
+  }
+
+  /**
+   * Tests migration of file variables to file.settings.yml.
+   */
+  public function testFileSettings() {
+    $config = $this->config('file.settings');
+    $this->assertIdentical('textfield', $config->get('description.type'));
+    $this->assertIdentical(256, $config->get('description.length'));
+    $this->assertIdentical('sites/default/files/icons', $config->get('icon.directory'));
+    $this->assertConfigSchema(\Drupal::service('config.typed'), 'file.settings', $config->get());
+  }
+
+}
diff --git a/core/modules/migrate_drupal/tests/fixtures/drupal7.php b/core/modules/migrate_drupal/tests/fixtures/drupal7.php
index a02d12f..65d592c 100644
--- a/core/modules/migrate_drupal/tests/fixtures/drupal7.php
+++ b/core/modules/migrate_drupal/tests/fixtures/drupal7.php
@@ -41083,6 +41083,10 @@
   'value',
 ))
 ->values(array(
+  'name' => 'actions_max_stack',
+  'value' => 'i:28;',
+))
+->values(array(
   'name' => 'additional_settings__active_tab_article',
   'value' => 's:15:"edit-submission";',
 ))
@@ -41107,6 +41111,10 @@
   'value' => 's:13:"edit-workflow";',
 ))
 ->values(array(
+  'name' => 'admin_compact_mode',
+  'value' => 'b:1;',
+))
+->values(array(
   'name' => 'admin_theme',
   'value' => 's:5:"seven";',
 ))
@@ -41143,10 +41151,18 @@
   'value' => 'b:1;',
 ))
 ->values(array(
+  'name' => 'allow_insecure_uploads',
+  'value' => 'i:1;',
+))
+->values(array(
   'name' => 'anonymous',
   'value' => 's:9:"Anonymous";',
 ))
 ->values(array(
+  'name' => 'authorize_filetransfer_default',
+  'value' => 's:3:"ftp";',
+))
+->values(array(
   'name' => 'block_cache',
   'value' => 'i:0;',
 ))
@@ -41159,6 +41175,10 @@
   'value' => 's:4:"book";',
 ))
 ->values(array(
+  'name' => 'cache',
+  'value' => 'i:0;',
+))
+->values(array(
   'name' => 'cache_flush_cache',
   'value' => 'i:0;',
 ))
@@ -41371,6 +41391,10 @@
   'value' => 's:1:"2";',
 ))
 ->values(array(
+  'name' => 'configurable_timezones',
+  'value' => 'b:1;',
+))
+->values(array(
   'name' => 'contact_default_status',
   'value' => 'i:1;',
 ))
@@ -41391,6 +41415,14 @@
   'value' => 'i:1444944970;',
 ))
 ->values(array(
+  'name' => 'cron_threshold_error',
+  'value' => 'i:1209600;',
+))
+->values(array(
+  'name' => 'cron_threshold_warning',
+  'value' => 'i:172800;',
+))
+->values(array(
   'name' => 'css_js_query_string',
   'value' => 's:6:"nwa6nq";',
 ))
@@ -41411,6 +41443,10 @@
   'value' => 's:15:"America/Chicago";',
 ))
 ->values(array(
+  'name' => 'date_first_day',
+  'value' => 'i:1;',
+))
+->values(array(
   'name' => 'dblog_row_limit',
   'value' => 'i:10000;',
 ))
@@ -41431,10 +41467,30 @@
   'value' => 's:43:"9eRJWxrMwQ5CufYJjXBZbPGz_t8vPIYRQr18PamdKmM";',
 ))
 ->values(array(
+  'name' => 'drupal_weight_select_max',
+  'value' => 'i:40;',
+))
+->values(array(
   'name' => 'email__active_tab',
   'value' => 's:27:"edit-email-pending-approval";',
 ))
 ->values(array(
+  'name' => 'empty_timezone_message',
+  'value' => 'b:1;',
+))
+->values(array(
+  'name' => 'error_level',
+  'value' => 'i:1;',
+))
+->values(array(
+  'name' => 'feed_default_items',
+  'value' => 'i:27;',
+))
+->values(array(
+  'name' => 'feed_item_length',
+  'value' => 's:8:"fulltext";',
+))
+->values(array(
   'name' => 'field_bundle_settings_comment__comment_node_test_content_type',
   'value' => 'a:2:{s:10:"view_modes";a:0:{}s:12:"extra_fields";a:2:{s:4:"form";a:2:{s:6:"author";a:1:{s:6:"weight";s:2:"-2";}s:7:"subject";a:1:{s:6:"weight";s:2:"-1";}}s:7:"display";a:0:{}}}',
 ))
@@ -41451,6 +41507,22 @@
   'value' => 's:6:"public";',
 ))
 ->values(array(
+  'name' => 'file_description_length',
+  'value' => 'i:256;',
+))
+->values(array(
+  'name' => 'file_description_type',
+  'value' => 's:9:"textfield";',
+))
+->values(array(
+  'name' => 'file_directory_path',
+  'value' => 's:19:"sites/default/files";',
+))
+->values(array(
+  'name' => 'file_icon_directory',
+  'value' => 's:25:"sites/default/files/icons";',
+))
+->values(array(
   'name' => 'file_private_path',
   'value' => 's:0:"";',
 ))
@@ -41495,10 +41567,18 @@
   'value' => 'i:25;',
 ))
 ->values(array(
+  'name' => 'image_jpeg_quality',
+  'value' => 'i:80;',
+))
+->values(array(
   'name' => 'image_style_preview_image',
   'value' => 's:33:"core/modules/image/testsample.png";',
 ))
 ->values(array(
+  'name' => 'image_toolkit',
+  'value' => 's:2:"gd";',
+))
+->values(array(
   'name' => 'install_profile',
   'value' => 's:8:"standard";',
 ))
@@ -41575,6 +41655,10 @@
   'value' => 's:6:"domain";',
 ))
 ->values(array(
+  'name' => 'mail_system',
+  'value' => 'a:1:{s:14:"default-system";s:17:"DefaultMailSystem";}',
+))
+->values(array(
   'name' => 'maintenance_mode',
   'value' => 'i:0;',
 ))
@@ -41839,6 +41923,10 @@
   'value' => 's:13:"The Site Name";',
 ))
 ->values(array(
+  'name' => 'site_offline_message',
+  'value' => 's:42:"This is a custom maintenance mode message.";',
+))
+->values(array(
   'name' => 'site_slogan',
   'value' => 's:10:"The Slogan";',
 ))
@@ -41879,6 +41967,14 @@
   'value' => 's:6:"drupal";',
 ))
 ->values(array(
+  'name' => 'taxonomy_override_selector',
+  'value' => 'b:1;',
+))
+->values(array(
+  'name' => 'taxonomy_terms_per_page_admin',
+  'value' => 'i:84;',
+))
+->values(array(
   'name' => 'teaser_length',
   'value' => 'i:1024;',
 ))
@@ -41923,6 +42019,10 @@
   'value' => 's:17:"user_cancel_block";',
 ))
 ->values(array(
+  'name' => 'user_default_timezone',
+  'value' => 'i:2;',
+))
+->values(array(
   'name' => 'user_email_verification',
   'value' => 'i:1;',
 ))
diff --git a/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php b/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php
index 07d6a05..b53069e 100644
--- a/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php
+++ b/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php
@@ -30,7 +30,7 @@ class MigrateUpgradeForm extends ConfirmFormBase {
    * @var array[]
    */
   protected $moduleUpgradePaths = [
-    'd6_action_settings' => [
+    'action_settings' => [
       'source_module' => 'system',
       'destination_module' => 'action',
     ],
@@ -214,7 +214,7 @@ class MigrateUpgradeForm extends ConfirmFormBase {
       'source_module' => 'system',
       'destination_module' => 'file',
     ],
-    'd6_file_settings' => [
+    'file_settings' => [
       'source_module' => 'system',
       'destination_module' => 'file',
     ],
@@ -422,19 +422,19 @@ class MigrateUpgradeForm extends ConfirmFormBase {
       'source_module' => 'system',
       'destination_module' => 'system',
     ],
-    'd6_system_image' => [
+    'system_image' => [
       'source_module' => 'system',
       'destination_module' => 'system',
     ],
-    'd6_system_image_gd' => [
+    'system_image_gd' => [
       'source_module' => 'system',
       'destination_module' => 'system',
     ],
-    'd6_system_logging' => [
+    'system_logging' => [
       'source_module' => 'system',
       'destination_module' => 'system',
     ],
-    'd6_system_maintenance' => [
+    'system_maintenance' => [
       'source_module' => 'system',
       'destination_module' => 'system',
     ],
@@ -442,11 +442,35 @@ class MigrateUpgradeForm extends ConfirmFormBase {
       'source_module' => 'system',
       'destination_module' => 'system',
     ],
-    'd6_system_rss' => [
+    'system_rss' => [
       'source_module' => 'system',
       'destination_module' => 'system',
     ],
-    'd6_system_site' => [
+    'system_site' => [
+      'source_module' => 'system',
+      'destination_module' => 'system',
+    ],
+    'd7_system_authorize' => [
+      'source_module' => 'system',
+      'destination_module' => 'system',
+    ],
+    'd7_system_cron' => [
+      'source_module' => 'system',
+      'destination_module' => 'system',
+    ],
+    'd7_system_date' => [
+      'source_module' => 'system',
+      'destination_module' => 'system',
+    ],
+    'd7_system_file' => [
+      'source_module' => 'system',
+      'destination_module' => 'system',
+    ],
+    'd7_system_mail' => [
+      'source_module' => 'system',
+      'destination_module' => 'system',
+    ],
+    'd7_system_performance' => [
       'source_module' => 'system',
       'destination_module' => 'system',
     ],
diff --git a/core/modules/migrate_drupal_ui/src/Tests/d7/MigrateUpgrade7Test.php b/core/modules/migrate_drupal_ui/src/Tests/d7/MigrateUpgrade7Test.php
index 2769b44..d530e1d 100644
--- a/core/modules/migrate_drupal_ui/src/Tests/d7/MigrateUpgrade7Test.php
+++ b/core/modules/migrate_drupal_ui/src/Tests/d7/MigrateUpgrade7Test.php
@@ -49,7 +49,7 @@ protected function getEntityCounts() {
       'filter_format' => 7,
       'image_style' => 6,
       'language_content_settings' => 2,
-      'migration' => 59,
+      'migration' => 73,
       'node' => 3,
       'node_type' => 6,
       'rdf_mapping' => 5,
diff --git a/core/modules/system/migration_templates/d7_system_authorize.yml b/core/modules/system/migration_templates/d7_system_authorize.yml
new file mode 100755
index 0000000..420497b
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_authorize.yml
@@ -0,0 +1,12 @@
+id: d7_system_authorize
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - authorize_filetransfer_default
+process:
+   filetransfer_default: authorize_filetransfer_default
+destination:
+  plugin: config
+  config_name: system.authorize
diff --git a/core/modules/system/migration_templates/d7_system_cron.yml b/core/modules/system/migration_templates/d7_system_cron.yml
new file mode 100644
index 0000000..a603af3
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_cron.yml
@@ -0,0 +1,15 @@
+id: d7_system_cron
+label: Drupal 7 cron settings
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - cron_threshold_warning
+    - cron_threshold_error
+process:
+  'threshold/requirements_warning': cron_threshold_warning
+  'threshold/requirements_error': cron_threshold_error
+destination:
+  plugin: config
+  config_name: system.cron
diff --git a/core/modules/system/migration_templates/d7_system_date.yml b/core/modules/system/migration_templates/d7_system_date.yml
new file mode 100644
index 0000000..b380c89
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_date.yml
@@ -0,0 +1,22 @@
+id: d7_system_date
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - site_default_country
+    - date_first_day
+    - date_default_timezone
+    - configurable_timezones
+    - empty_timezone_message
+    - user_default_timezone
+process:
+  'country/default': site_default_country
+  first_day: date_first_day
+  'timezone/default': date_default_timezone
+  'timezone/user/configurable': configurable_timezones
+  'timezone/user/warn': empty_timezone_message
+  'timezone/user/default': user_default_timezone
+destination:
+  plugin: config
+  config_name: system.date
diff --git a/core/modules/system/migration_templates/d7_system_file.yml b/core/modules/system/migration_templates/d7_system_file.yml
new file mode 100644
index 0000000..2295e0e
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_file.yml
@@ -0,0 +1,20 @@
+id: d7_system_file
+label: Drupal 7 file system configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - allow_insecure_uploads
+    - file_temporary_path
+process:
+  allow_insecure_uploads:
+    plugin: static_map
+    source: allow_insecure_uploads
+    map:
+      0: FALSE
+      1: TRUE
+  'path/temporary': file_temporary_path
+destination:
+  plugin: config
+  config_name: system.file
diff --git a/core/modules/system/migration_templates/d7_system_mail.yml b/core/modules/system/migration_templates/d7_system_mail.yml
new file mode 100644
index 0000000..d4a569c
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_mail.yml
@@ -0,0 +1,17 @@
+id: d7_system_mail
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - mail_system
+process:
+  'interface/default':
+    plugin: static_map
+    source: 'mail_system/default-system'
+    map:
+      DefaultMailSystem: php_mail
+      MailTestCase: test_mail_collector
+destination:
+  plugin: config
+  config_name: system.mail
diff --git a/core/modules/system/migration_templates/d7_system_performance.yml b/core/modules/system/migration_templates/d7_system_performance.yml
new file mode 100644
index 0000000..b41d75e
--- /dev/null
+++ b/core/modules/system/migration_templates/d7_system_performance.yml
@@ -0,0 +1,19 @@
+id: d7_system_performance
+label: Drupal 7 performance configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - preprocess_css
+    - preprocess_js
+    - cache_lifetime
+    - page_compression
+process:
+  'css/preprocess': preprocess_css
+  'js/preprocess': preprocess_js
+  'cache/page/max_age': cache_lifetime
+  'response/gzip': page_compression
+destination:
+  plugin: config
+  config_name: system.performance
diff --git a/core/modules/system/migration_templates/d6_system_image.yml b/core/modules/system/migration_templates/system_image.yml
similarity index 87%
rename from core/modules/system/migration_templates/d6_system_image.yml
rename to core/modules/system/migration_templates/system_image.yml
index 15d0ecc..7bb16b1 100644
--- a/core/modules/system/migration_templates/d6_system_image.yml
+++ b/core/modules/system/migration_templates/system_image.yml
@@ -1,7 +1,8 @@
-id: d6_system_image
+id: system_image
 label: Image toolkit configuration
 migration_tags:
   - Drupal 6
+  - Drupal 7
 source:
   plugin: variable
   variables:
diff --git a/core/modules/system/migration_templates/d6_system_image_gd.yml b/core/modules/system/migration_templates/system_image_gd.yml
similarity index 87%
rename from core/modules/system/migration_templates/d6_system_image_gd.yml
rename to core/modules/system/migration_templates/system_image_gd.yml
index 543b162..685116e 100644
--- a/core/modules/system/migration_templates/d6_system_image_gd.yml
+++ b/core/modules/system/migration_templates/system_image_gd.yml
@@ -1,7 +1,8 @@
-id: d6_system_image_gd
+id: system_image_gd
 label: Image quality configuration
 migration_tags:
   - Drupal 6
+  - Drupal 7
 source:
   plugin: variable
   variables:
diff --git a/core/modules/system/migration_templates/d6_system_logging.yml b/core/modules/system/migration_templates/system_logging.yml
similarity index 91%
rename from core/modules/system/migration_templates/d6_system_logging.yml
rename to core/modules/system/migration_templates/system_logging.yml
index 868d08f..c1e8114 100644
--- a/core/modules/system/migration_templates/d6_system_logging.yml
+++ b/core/modules/system/migration_templates/system_logging.yml
@@ -1,7 +1,8 @@
-id: d6_system_logging
+id: system_logging
 label: System logging
 migration_tags:
   - Drupal 6
+  - Drupal 7
 source:
   plugin: variable
   variables:
diff --git a/core/modules/system/migration_templates/d6_system_maintenance.yml b/core/modules/system/migration_templates/system_maintenance.yml
similarity index 86%
rename from core/modules/system/migration_templates/d6_system_maintenance.yml
rename to core/modules/system/migration_templates/system_maintenance.yml
index 9f9f030..b9f6c34 100644
--- a/core/modules/system/migration_templates/d6_system_maintenance.yml
+++ b/core/modules/system/migration_templates/system_maintenance.yml
@@ -1,7 +1,8 @@
-id: d6_system_maintenance
+id: system_maintenance
 label: Maintenance page configuration
 migration_tags:
   - Drupal 6
+  - Drupal 7
 source:
   plugin: variable
   variables:
diff --git a/core/modules/system/migration_templates/d6_system_rss.yml b/core/modules/system/migration_templates/system_rss.yml
similarity index 90%
rename from core/modules/system/migration_templates/d6_system_rss.yml
rename to core/modules/system/migration_templates/system_rss.yml
index d112e82..92ce45a 100644
--- a/core/modules/system/migration_templates/d6_system_rss.yml
+++ b/core/modules/system/migration_templates/system_rss.yml
@@ -1,7 +1,8 @@
-id: d6_system_rss
+id: system_rss
 label: RSS configuration
 migration_tags:
   - Drupal 6
+  - Drupal 7
 source:
   plugin: variable
   variables:
diff --git a/core/modules/system/migration_templates/d6_system_site.yml b/core/modules/system/migration_templates/system_site.yml
similarity index 96%
rename from core/modules/system/migration_templates/d6_system_site.yml
rename to core/modules/system/migration_templates/system_site.yml
index 9e16219..c8fd849 100644
--- a/core/modules/system/migration_templates/d6_system_site.yml
+++ b/core/modules/system/migration_templates/system_site.yml
@@ -1,7 +1,8 @@
-id: d6_system_site
+id: system_site
 label: Site configuration
 migration_tags:
   - Drupal 6
+  - Drupal 7
 source:
   plugin: variable
   constants:
diff --git a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageGdTest.php b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageGdTest.php
index 568f947..4a3b5a2 100644
--- a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageGdTest.php
+++ b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageGdTest.php
@@ -16,7 +16,7 @@ class MigrateSystemImageGdTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->executeMigration('d6_system_image_gd');
+    $this->executeMigration('system_image_gd');
   }
 
   /**
diff --git a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageTest.php b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageTest.php
index 1daf813..c714ff8 100644
--- a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageTest.php
+++ b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageTest.php
@@ -16,7 +16,7 @@ class MigrateSystemImageTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->executeMigration('d6_system_image');
+    $this->executeMigration('system_image');
   }
 
   /**
diff --git a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemLoggingTest.php b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemLoggingTest.php
index 9bfe640..f56a7f5 100644
--- a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemLoggingTest.php
+++ b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemLoggingTest.php
@@ -19,7 +19,7 @@ class MigrateSystemLoggingTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->executeMigration('d6_system_logging');
+    $this->executeMigration('system_logging');
   }
 
   /**
diff --git a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemMaintenanceTest.php b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemMaintenanceTest.php
index af1bfda..7289802 100644
--- a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemMaintenanceTest.php
+++ b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemMaintenanceTest.php
@@ -16,7 +16,7 @@ class MigrateSystemMaintenanceTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->executeMigration('d6_system_maintenance');
+    $this->executeMigration('system_maintenance');
   }
 
   /**
diff --git a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemRssTest.php b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemRssTest.php
index c8f9c4f..a22864e 100644
--- a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemRssTest.php
+++ b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemRssTest.php
@@ -16,7 +16,7 @@ class MigrateSystemRssTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->executeMigration('d6_system_rss');
+    $this->executeMigration('system_rss');
   }
 
   /**
diff --git a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemSiteTest.php b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemSiteTest.php
index ab52d6b..a634ddb 100644
--- a/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemSiteTest.php
+++ b/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemSiteTest.php
@@ -16,7 +16,7 @@ class MigrateSystemSiteTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->executeMigration('d6_system_site');
+    $this->executeMigration('system_site');
   }
 
   /**
diff --git a/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php b/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php
new file mode 100644
index 0000000..0034209
--- /dev/null
+++ b/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php
@@ -0,0 +1,169 @@
+<?php
+
+namespace Drupal\Tests\system\Kernel\Migrate\d7;
+
+use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
+
+/**
+ * Migrates various configuration objects owned by the System module.
+ *
+ * @group migrate_drupal_7
+ */
+class MigrateSystemConfigurationTest extends MigrateDrupal7TestBase {
+
+  static $modules = ['action', 'file', 'system'];
+
+  protected $expectedConfig = [
+    'system.authorize' => [
+      'filetransfer_default' => 'ftp',
+    ],
+    'system.cron' => [
+      'threshold' => [
+        // autorun is not handled by the migration.
+        // 'autorun' => 0,
+        'requirements_warning' => 172800,
+        'requirements_error' => 1209600,
+      ],
+    ],
+    'system.date' => [
+      'country' => [
+        'default' => 'US',
+      ],
+      'first_day' => 1,
+      'timezone' => [
+        'default' => 'America/Chicago',
+        'user' => [
+          'configurable' => TRUE,
+          'warn' => TRUE,
+          // DRUPAL_USER_TIMEZONE_SELECT (D7 API)
+          'default' => 2,
+        ],
+      ],
+    ],
+    'system.file' => [
+      'allow_insecure_uploads' => TRUE,
+      // default_scheme is not handled by the migration.
+      'default_scheme' => 'public',
+      'path' => [
+        'temporary' => '/tmp',
+      ],
+      // temporary_maximum_age is not handled by the migration.
+      'temporary_maximum_age' => 21600,
+    ],
+    'system.image.gd' => [
+      'jpeg_quality' => 80,
+    ],
+    'system.image' => [
+      'toolkit' => 'gd',
+    ],
+    'system.logging' => [
+      'error_level' => 'some',
+    ],
+    'system.mail' => [
+      'interface' => [
+        'default' => 'php_mail',
+      ],
+    ],
+    'system.maintenance' => [
+      'message' => 'This is a custom maintenance mode message.',
+      // langcode is not handled by the migration.
+      'langcode' => 'en',
+    ],
+    'system.performance' => [
+      'cache' => [
+        'page' => [
+          'max_age' => 300,
+        ],
+      ],
+      'css' => [
+        'preprocess' => TRUE,
+        // gzip is not handled by the migration.
+        'gzip' => TRUE,
+      ],
+      // fast_404 is not handled by the migration.
+      'fast_404' => [
+        'enabled' => TRUE,
+        'paths' => '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i',
+        'exclude_paths' => '/\/(?:styles|imagecache)\//',
+        'html' => '<!DOCTYPE html><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>',
+      ],
+      'js' => [
+        'preprocess' => FALSE,
+        // gzip is not handled by the migration.
+        'gzip' => TRUE,
+      ],
+      // stale_file_threshold is not handled by the migration.
+      'stale_file_threshold' => 2592000,
+      'response' => [
+        'gzip' => TRUE,
+      ],
+    ],
+    'system.rss' => [
+      'channel' => [
+        'description' => '',
+      ],
+      'items' => [
+        'limit' => 27,
+        'view_mode' => 'fulltext',
+      ],
+      'langcode' => 'en',
+    ],
+    'system.site' => [
+      // uuid is not handled by the migration.
+      'uuid' => '',
+      'name' => 'The Site Name',
+      'mail' => 'joseph@flattandsons.com',
+      'slogan' => 'The Slogan',
+      'page' => [
+        '403' => '/node',
+        '404' => '/node',
+        'front' => '/node',
+      ],
+      'admin_compact_mode' => TRUE,
+      'weight_select_max' => 40,
+      // langcode and default_langcode are not handled by the migration.
+      'langcode' => 'en',
+      'default_langcode' => 'en',
+    ],
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $migrations = [
+      'd7_system_authorize',
+      'd7_system_cron',
+      'd7_system_date',
+      'd7_system_file',
+      'system_image_gd',
+      'system_image',
+      'system_logging',
+      'd7_system_mail',
+      'system_maintenance',
+      'd7_system_performance',
+      'system_rss',
+      'system_site',
+    ];
+    $this->executeMigrations($migrations);
+  }
+
+  /**
+   * Tests that all expected configuration gets migrated.
+   */
+  public function testConfigurationMigration() {
+    foreach ($this->expectedConfig as $config_id => $values) {
+      if ($config_id == 'system.mail') {
+        $actual = \Drupal::config($config_id)->getRawData();
+      }
+      else {
+        $actual = \Drupal::config($config_id)->get();
+      }
+      unset($actual['_core']);
+      $this->assertSame($actual, $values, $config_id . ' matches expected values.');
+    }
+  }
+
+}
