diff --git a/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php b/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php
index f1b9f31..b171b3f 100644
--- a/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php
+++ b/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\migrate_drupal\Tests;
 
-use Drupal\Component\Utility\SafeMarkup;
 use Drupal\migrate\MigrateExecutable;
 use Drupal\simpletest\TestBase;
 
@@ -17,6 +16,12 @@
 abstract class MigrateFullDrupalTestBase extends MigrateDrupalTestBase {
 
   /**
+   * The test class which discovered migration tests must extend in order to be
+   * included in this test run.
+   */
+  const BASE_TEST_CLASS = 'Drupal\migrate_drupal\Tests\MigrateDrupalTestBase';
+
+  /**
    * Get the dump classes required for this migration test.
    *
    * @return array
@@ -28,9 +33,49 @@
    * Get the test classes that needs to be run for this test.
    *
    * @return array
-   *   The list of test fully-classified class names.
+   *   The list of fully-classified test class names.
    */
-  protected abstract function getTestClassesList();
+  protected function getTestClassesList() {
+    $classes = [];
+
+    $discovery = \Drupal::getContainer()->get('test_discovery');
+    foreach (static::$modules as $module) {
+      foreach ($discovery->getTestClasses($module) as $group) {
+        foreach (array_keys($group) as $class) {
+          // This is a dirty, dirty hack to get around the fact that issue
+          // #2533886 is still in progress.
+          //
+          // So the thing is, in order for this test to pass, migrate_drupal
+          // needs to be enabled, because it still currently contains all the
+          // tests that need to be run -- that's why migrate_drupal is now in
+          // MigrateDrupal6Test's $modules array. Unfortunately, the
+          // is_subclass_of() check isn't quite good enough, since it will
+          // pass ANYTHING which extends BASE_TEST_CLASS -- even things like
+          // Drupal\migrate_drupal\Tests\MigrateDependenciesTest, which has
+          // absolutely nothing to do with a full Drupal migration test.
+          //
+          // To get around this, if the current test we're checking out belongs
+          // to migrate_drupal, we check if its fully qualified name ends with
+          // \d6\CLASS or \d7\CLASS, which will exclude things like
+          // MigrateDependenciesTest, even though it extends
+          // MigrateDrupal6TestBase, which is the BASE_TEST_CLASS of
+          // MigrateDrupal6Test.
+          //
+          // This ugly little kludge can be safely removed when #2533886 is
+          // totally fixed and ALL the migrate_drupal integration tests have
+          // been moved into their proper place.
+          if ($module == 'migrate_drupal' && !preg_match('/\\\\d[6-7]\\\\[a-zA-Z0-9]+$/', $class)) {
+            continue;
+          }
+          elseif (is_subclass_of($class, static::BASE_TEST_CLASS)) {
+            $classes[] = $class;
+          }
+        }
+      }
+    }
+
+    return $classes;
+  }
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
index d5c90fa..f271b2d 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
@@ -17,6 +17,8 @@
  */
 class MigrateDrupal6Test extends MigrateFullDrupalTestBase {
 
+  const BASE_TEST_CLASS = 'Drupal\migrate_drupal\Tests\d6\MigrateDrupal6TestBase';
+
   /**
    * Modules to enable.
    *
@@ -43,6 +45,7 @@ class MigrateDrupal6Test extends MigrateFullDrupalTestBase {
     'locale',
     'menu_link_content',
     'menu_ui',
+    'migrate_drupal',
     'node',
     'options',
     'search',
@@ -249,101 +252,6 @@ protected function getDumps() {
   }
 
   /**
-   * {@inheritdoc}
-   */
-  protected function getTestClassesList() {
-    $classes = array(
-      __NAMESPACE__ . '\MigrateActionConfigsTest',
-      __NAMESPACE__ . '\MigrateAggregatorConfigsTest',
-      __NAMESPACE__ . '\MigrateAggregatorFeedTest',
-      __NAMESPACE__ . '\MigrateAggregatorItemTest',
-      __NAMESPACE__ . '\MigrateBlockTest',
-      __NAMESPACE__ . '\MigrateBookTest',
-      __NAMESPACE__ . '\MigrateBookConfigsTest',
-      __NAMESPACE__ . '\MigrateCckFieldValuesTest',
-      __NAMESPACE__ . '\MigrateCckFieldRevisionTest',
-      __NAMESPACE__ . '\MigrateCommentTypeTest',
-      __NAMESPACE__ . '\MigrateCommentTest',
-      __NAMESPACE__ . '\MigrateCommentVariableEntityDisplayTest',
-      __NAMESPACE__ . '\MigrateCommentVariableEntityFormDisplayTest',
-      __NAMESPACE__ . '\MigrateCommentVariableEntityFormDisplaySubjectTest',
-      __NAMESPACE__ . '\MigrateCommentVariableFieldTest',
-      __NAMESPACE__ . '\MigrateCommentVariableInstanceTest',
-      __NAMESPACE__ . '\MigrateContactCategoryTest',
-      __NAMESPACE__ . '\MigrateContactConfigsTest',
-      __NAMESPACE__ . '\MigrateBlockContentTest',
-      __NAMESPACE__ . '\MigrateDateFormatTest',
-      __NAMESPACE__ . '\MigrateDblogConfigsTest',
-      __NAMESPACE__ . '\MigrateFieldTest',
-      __NAMESPACE__ . '\MigrateFieldInstanceTest',
-      __NAMESPACE__ . '\MigrateFieldFormatterSettingsTest',
-      __NAMESPACE__ . '\MigrateFieldWidgetSettingsTest',
-      __NAMESPACE__ . '\MigrateFileConfigsTest',
-      __NAMESPACE__ . '\MigrateFileTest',
-      __NAMESPACE__ . '\MigrateFilterFormatTest',
-      __NAMESPACE__ . '\MigrateForumConfigsTest',
-      __NAMESPACE__ . '\MigrateLocaleConfigsTest',
-      __NAMESPACE__ . '\MigrateMenuConfigsTest',
-      __NAMESPACE__ . '\MigrateMenuLinkTest',
-      __NAMESPACE__ . '\MigrateMenuTest',
-      __NAMESPACE__ . '\MigrateNodeBundleSettingsTest',
-      __NAMESPACE__ . '\MigrateNodeConfigsTest',
-      __NAMESPACE__ . '\MigrateNodeRevisionTest',
-      __NAMESPACE__ . '\MigrateNodeTest',
-      __NAMESPACE__ . '\MigrateNodeTypeTest',
-      __NAMESPACE__ . '\MigrateUserProfileValuesTest',
-      __NAMESPACE__ . '\MigrateSearchConfigsTest',
-      __NAMESPACE__ . '\MigrateSearchPageTest',
-      __NAMESPACE__ . '\MigrateSimpletestConfigsTest',
-      __NAMESPACE__ . '\MigrateStatisticsConfigsTest',
-      __NAMESPACE__ . '\MigrateSyslogConfigsTest',
-      __NAMESPACE__ . '\MigrateSystemCronTest',
-      __NAMESPACE__ . '\MigrateSystemFileTest',
-      __NAMESPACE__ . '\MigrateSystemFilterTest',
-      __NAMESPACE__ . '\MigrateSystemImageGdTest',
-      __NAMESPACE__ . '\MigrateSystemImageTest',
-      __NAMESPACE__ . '\MigrateSystemLoggingTest',
-      __NAMESPACE__ . '\MigrateSystemMaintenanceTest',
-      __NAMESPACE__ . '\MigrateSystemPerformanceTest',
-      __NAMESPACE__ . '\MigrateSystemRssTest',
-      __NAMESPACE__ . '\MigrateSystemSiteTest',
-      __NAMESPACE__ . '\MigrateTaxonomyConfigsTest',
-      __NAMESPACE__ . '\MigrateTaxonomyTermTest',
-      __NAMESPACE__ . '\MigrateTaxonomyVocabularyTest',
-      __NAMESPACE__ . '\MigrateTermNodeRevisionTest',
-      __NAMESPACE__ . '\MigrateTermNodeTest',
-      __NAMESPACE__ . '\MigrateTextConfigsTest',
-      __NAMESPACE__ . '\MigrateUpdateConfigsTest',
-      __NAMESPACE__ . '\MigrateUploadEntityDisplayTest',
-      __NAMESPACE__ . '\MigrateUploadEntityFormDisplayTest',
-      __NAMESPACE__ . '\MigrateUploadFieldTest',
-      __NAMESPACE__ . '\MigrateUploadInstanceTest',
-      __NAMESPACE__ . '\MigrateUploadTest',
-      __NAMESPACE__ . '\MigrateUrlAliasTest',
-      __NAMESPACE__ . '\MigrateUserConfigsTest',
-      __NAMESPACE__ . '\MigrateUserContactSettingsTest',
-      __NAMESPACE__ . '\MigrateUserProfileEntityDisplayTest',
-      __NAMESPACE__ . '\MigrateUserProfileEntityFormDisplayTest',
-      __NAMESPACE__ . '\MigrateUserProfileFieldTest',
-      __NAMESPACE__ . '\MigrateUserProfileFieldInstanceTest',
-      __NAMESPACE__ . '\MigrateUserPictureEntityDisplayTest',
-      __NAMESPACE__ . '\MigrateUserPictureEntityFormDisplayTest',
-      __NAMESPACE__ . '\MigrateUserPictureFileTest',
-      __NAMESPACE__ . '\MigrateUserPictureFieldTest',
-      __NAMESPACE__ . '\MigrateUserPictureInstanceTest',
-      __NAMESPACE__ . '\MigrateUserRoleTest',
-      __NAMESPACE__ . '\MigrateUserTest',
-      __NAMESPACE__ . '\MigrateViewModesTest',
-      __NAMESPACE__ . '\MigrateVocabularyEntityDisplayTest',
-      __NAMESPACE__ . '\MigrateVocabularyEntityFormDisplayTest',
-      __NAMESPACE__ . '\MigrateVocabularyFieldInstanceTest',
-      __NAMESPACE__ . '\MigrateVocabularyFieldTest',
-    );
-
-    return $classes;
-  }
-
-  /**
    * Returns the path to the dump directory.
    *
    * @return string
