diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php
index 322c7f4..74e0b44 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php
@@ -13,8 +13,16 @@ use Drupal\simpletest\WebTestBase;
  * Defines a base class for testing aggregator.module.
  */
 abstract class AggregatorTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'block', 'aggregator', 'aggregator_test');
+
   function setUp() {
-    parent::setUp(array('node', 'block', 'aggregator', 'aggregator_test'));
+    parent::setUp();
 
     // Create an Article node type.
     if ($this->profile != 'standard') {
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockAdminThemeTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockAdminThemeTest.php
index 0397802..7ba81c1 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockAdminThemeTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockAdminThemeTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test the block system with admin themes.
  */
 class BlockAdminThemeTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   public static function getInfo() {
     return array(
       'name' => 'Admin theme block admin accessibility',
@@ -21,10 +29,6 @@ class BlockAdminThemeTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('block'));
-  }
-
   /**
    * Check for the accessibility of the admin theme on the  block admin page.
    */
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockCacheTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockCacheTest.php
index e9a1603..90327f9 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockCacheTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockCacheTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test block caching.
  */
 class BlockCacheTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'block_test');
+
   protected $admin_user;
   protected $normal_user;
   protected $normal_user_alt;
@@ -26,7 +34,7 @@ class BlockCacheTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block', 'block_test'));
+    parent::setUp();
 
     // Create an admin user, log in and enable test blocks.
     $this->admin_user = $this->drupalCreateUser(array('administer blocks', 'access administration pages'));
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockHiddenRegionTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockHiddenRegionTest.php
index 0c3186c..13a78af 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockHiddenRegionTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockHiddenRegionTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests that hidden regions do not inherit blocks when a theme is enabled.
  */
 class BlockHiddenRegionTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'block_test', 'search');
+
   public static function getInfo() {
     return array(
       'name' => 'Blocks not in hidden region',
@@ -22,7 +30,7 @@ class BlockHiddenRegionTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block', 'block_test', 'search'));
+    parent::setUp();
 
     // Enable Search block in default theme.
     db_merge('block')
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php
index c0891ac..fd28702 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class BlockHtmlIdTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'block_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Block HTML id',
@@ -23,7 +30,7 @@ class BlockHtmlIdTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block', 'block_test'));
+    parent::setUp();
 
     // Create an admin user, log in and enable test blocks.
     $this->admin_user = $this->drupalCreateUser(array('administer blocks', 'access administration pages'));
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockInvalidRegionTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockInvalidRegionTest.php
index 8882b64..f372c13 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockInvalidRegionTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockInvalidRegionTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests that a block assigned to an invalid region triggers the warning.
  */
 class BlockInvalidRegionTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'block_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Blocks in invalid regions',
@@ -22,7 +30,7 @@ class BlockInvalidRegionTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block', 'block_test'));
+    parent::setUp();
     // Create an admin user.
     $admin_user = $this->drupalCreateUser(array('administer site configuration', 'access administration pages'));
     $this->drupalLogin($admin_user);
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockLanguageTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockLanguageTest.php
index 04aef2d..49d6a76 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockLanguageTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockLanguageTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for the language list configuration forms.
  */
 class BlockLanguageTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language', 'block');
+
   public static function getInfo() {
     return array(
       'name' => 'Language block visibility',
@@ -21,10 +29,6 @@ class BlockLanguageTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('language', 'block');
-  }
-
   /**
    * Tests the visibility settings for the blocks based on language.
    */
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockTest.php
index 696a281..f98da2b 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockTest.php
@@ -10,6 +10,14 @@ namespace Drupal\block\Tests;
 use Drupal\simpletest\WebTestBase;
 
 class BlockTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   protected $regions;
   protected $admin_user;
 
@@ -22,7 +30,7 @@ class BlockTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block'));
+    parent::setUp();
 
     // Create Full HTML text format.
     $full_html_format = array(
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockUserAccountSettingsTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockUserAccountSettingsTest.php
index 4878b51..ef482ee 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockUserAccountSettingsTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockUserAccountSettingsTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests personalized block settings for user accounts.
  */
 class BlockUserAccountSettingsTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'field_ui');
+
   public static function getInfo() {
     return array(
       'name' => 'Personalized block settings',
@@ -22,7 +30,7 @@ class BlockUserAccountSettingsTest extends WebTestBase {
   }
 
   public function setUp() {
-    parent::setUp(array('block', 'field_ui'));
+    parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer users'));
     $this->drupalLogin($admin_user);
   }
diff --git a/core/modules/block/lib/Drupal/block/Tests/NewDefaultThemeBlocksTest.php b/core/modules/block/lib/Drupal/block/Tests/NewDefaultThemeBlocksTest.php
index b17e601..bf1ba7a 100644
--- a/core/modules/block/lib/Drupal/block/Tests/NewDefaultThemeBlocksTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/NewDefaultThemeBlocksTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test blocks correctly initialized when picking a new default theme.
  */
 class NewDefaultThemeBlocksTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   public static function getInfo() {
     return array(
       'name' => 'New default theme blocks',
@@ -21,10 +29,6 @@ class NewDefaultThemeBlocksTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('block'));
-  }
-
   /**
    * Check the enabled Bartik blocks are correctly copied over.
    */
diff --git a/core/modules/block/lib/Drupal/block/Tests/NonDefaultBlockAdminTest.php b/core/modules/block/lib/Drupal/block/Tests/NonDefaultBlockAdminTest.php
index 376ba09..381b49a 100644
--- a/core/modules/block/lib/Drupal/block/Tests/NonDefaultBlockAdminTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/NonDefaultBlockAdminTest.php
@@ -10,6 +10,14 @@ namespace Drupal\block\Tests;
 use Drupal\simpletest\WebTestBase;
 
 class NonDefaultBlockAdminTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   public static function getInfo() {
     return array(
       'name' => 'Non default theme admin',
@@ -18,10 +26,6 @@ class NonDefaultBlockAdminTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('block'));
-  }
-
   /**
    * Test non-default theme admin.
    */
diff --git a/core/modules/book/lib/Drupal/book/Tests/BookTest.php b/core/modules/book/lib/Drupal/book/Tests/BookTest.php
index a5c3146..f4106ef 100644
--- a/core/modules/book/lib/Drupal/book/Tests/BookTest.php
+++ b/core/modules/book/lib/Drupal/book/Tests/BookTest.php
@@ -11,6 +11,14 @@ use Drupal\node\Node;
 use Drupal\simpletest\WebTestBase;
 
 class BookTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('book', 'block', 'node_access_test');
+
   protected $book;
   // $book_author is a user with permission to create and edit books.
   protected $book_author;
@@ -29,7 +37,7 @@ class BookTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('book', 'block', 'node_access_test'));
+    parent::setUp();
 
     // node_access_test requires a node_access_rebuild().
     node_access_rebuild();
diff --git a/core/modules/color/lib/Drupal/color/Tests/ColorTest.php b/core/modules/color/lib/Drupal/color/Tests/ColorTest.php
index 3bc95d3..3a46916 100644
--- a/core/modules/color/lib/Drupal/color/Tests/ColorTest.php
+++ b/core/modules/color/lib/Drupal/color/Tests/ColorTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the Color module functionality.
  */
 class ColorTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('color');
+
   protected $big_user;
   protected $themes;
   protected $colorTests;
@@ -26,7 +34,7 @@ class ColorTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('color');
+    parent::setUp();
 
     // Create users.
     $this->big_user = $this->drupalCreateUser(array('administer themes'));
diff --git a/core/modules/comment/lib/Drupal/comment/Tests/CommentTestBase.php b/core/modules/comment/lib/Drupal/comment/Tests/CommentTestBase.php
index 0975a8a..24d5b39 100644
--- a/core/modules/comment/lib/Drupal/comment/Tests/CommentTestBase.php
+++ b/core/modules/comment/lib/Drupal/comment/Tests/CommentTestBase.php
@@ -11,6 +11,14 @@ use Drupal\comment\Comment;
 use Drupal\simpletest\WebTestBase;
 
 abstract class CommentTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment', 'search');
+
   protected $profile = 'standard';
 
   protected $admin_user;
@@ -18,7 +26,8 @@ abstract class CommentTestBase extends WebTestBase {
   protected $node;
 
   function setUp() {
-    parent::setUp('comment', 'search');
+    parent::setUp();
+
     // Create users and test node.
     $this->admin_user = $this->drupalCreateUser(array('administer content types', 'administer comments', 'administer blocks'));
     $this->web_user = $this->drupalCreateUser(array('access comments', 'post comments', 'create article content', 'edit own comments'));
diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigImportTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigImportTest.php
index a6e72b4..ec92fdf 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigImportTest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigImportTest.php
@@ -15,6 +15,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests importing configuration from files into active store.
  */
 class ConfigImportTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('config_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Import configuration',
@@ -23,10 +31,6 @@ class ConfigImportTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('config_test'));
-  }
-
   /**
    * Tests deletion of configuration during import.
    */
diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigUpgradeTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigUpgradeTest.php
index 0b43de4..6fe07de 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigUpgradeTest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigUpgradeTest.php
@@ -14,6 +14,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests migration of variables into configuration objects.
  */
 class ConfigUpgradeTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('config_upgrade');
+
   protected $testContent = 'Olá, Sao Paulo!';
 
   public static function getInfo() {
@@ -25,7 +33,7 @@ class ConfigUpgradeTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('config_upgrade');
+    parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/update.inc';
   }
 
diff --git a/core/modules/contact/lib/Drupal/contact/Tests/ContactAuthenticatedUserTest.php b/core/modules/contact/lib/Drupal/contact/Tests/ContactAuthenticatedUserTest.php
index 2b74501..059923f 100644
--- a/core/modules/contact/lib/Drupal/contact/Tests/ContactAuthenticatedUserTest.php
+++ b/core/modules/contact/lib/Drupal/contact/Tests/ContactAuthenticatedUserTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class ContactAuthenticatedUserTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('contact');
+
   public static function getInfo() {
     return array(
       'name' => 'Contact form textfields',
@@ -22,10 +29,6 @@ class ContactAuthenticatedUserTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('contact'));
-  }
-
   /**
    * Tests that name and email fields are not present for authenticated users.
    */
diff --git a/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php b/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php
index 84b1541..16d26b0 100644
--- a/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php
+++ b/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the personal contact form.
  */
 class ContactPersonalTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('contact');
+
   private $admin_user;
   private $web_user;
   private $contact_user;
@@ -26,7 +34,7 @@ class ContactPersonalTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('contact');
+    parent::setUp();
 
     // Create an admin user.
     $this->admin_user = $this->drupalCreateUser(array('administer contact forms', 'administer users'));
diff --git a/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php b/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php
index 318379f..7eae709 100644
--- a/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php
+++ b/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the site-wide contact form.
  */
 class ContactSitewideTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('contact');
+
   public static function getInfo() {
     return array(
       'name' => 'Site-wide contact form',
@@ -21,10 +29,6 @@ class ContactSitewideTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('contact');
-  }
-
   /**
    * Tests configuration options and the site-wide contact form.
    */
diff --git a/core/modules/contextual/lib/Drupal/contextual/Tests/ContextualDynamicContextTest.php b/core/modules/contextual/lib/Drupal/contextual/Tests/ContextualDynamicContextTest.php
index f1f0df6..da786a2 100644
--- a/core/modules/contextual/lib/Drupal/contextual/Tests/ContextualDynamicContextTest.php
+++ b/core/modules/contextual/lib/Drupal/contextual/Tests/ContextualDynamicContextTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests accessible links after inaccessible links on dynamic context.
  */
 class ContextualDynamicContextTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('contextual', 'node');
+
   public static function getInfo() {
     return array(
       'name' => 'Contextual links on node lists',
@@ -22,7 +30,7 @@ class ContextualDynamicContextTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('contextual', 'node'));
+    parent::setUp();
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
     $this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article'));
     $web_user = $this->drupalCreateUser(array('access content', 'access contextual links', 'edit any article content'));
diff --git a/core/modules/dblog/lib/Drupal/dblog/Tests/DBLogTest.php b/core/modules/dblog/lib/Drupal/dblog/Tests/DBLogTest.php
index fd1e9af..94181db 100644
--- a/core/modules/dblog/lib/Drupal/dblog/Tests/DBLogTest.php
+++ b/core/modules/dblog/lib/Drupal/dblog/Tests/DBLogTest.php
@@ -11,6 +11,14 @@ use Drupal\simpletest\WebTestBase;
 use SimpleXMLElement;
 
 class DBLogTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('dblog', 'poll');
+
   protected $profile = 'standard';
 
   protected $big_user;
@@ -24,12 +32,10 @@ class DBLogTest extends WebTestBase {
     );
   }
 
-  /**
-   * Enable modules and create users with specific permissions.
-   */
   function setUp() {
-    parent::setUp('dblog', 'poll');
-    // Create users.
+    parent::setUp();
+
+    // Create users with specific permissions.
     $this->big_user = $this->drupalCreateUser(array('administer site configuration', 'access administration pages', 'access site reports', 'administer users'));
     $this->any_user = $this->drupalCreateUser(array());
   }
diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityApiTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityApiTest.php
index 5eb245f..d492a32 100644
--- a/core/modules/entity/lib/Drupal/entity/Tests/EntityApiTest.php
+++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityApiTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class EntityApiTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('entity', 'entity_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Entity CRUD',
@@ -22,10 +29,6 @@ class EntityApiTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('entity', 'entity_test');
-  }
-
   /**
    * Tests basic CRUD functionality of the Entity API.
    */
diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityCrudHookTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityCrudHookTest.php
index dffa6fd..5f7f577 100644
--- a/core/modules/entity/lib/Drupal/entity/Tests/EntityCrudHookTest.php
+++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityCrudHookTest.php
@@ -23,6 +23,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class EntityCrudHookTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('entity_crud_hook_test', 'taxonomy', 'comment');
+
   protected $ids = array();
 
   public static function getInfo() {
@@ -33,10 +40,6 @@ class EntityCrudHookTest extends WebTestBase {
     );
   }
 
-  public function setUp() {
-    parent::setUp('entity_crud_hook_test', 'taxonomy', 'comment');
-  }
-
   /**
    * Checks the order of CRUD hook execution messages.
    *
diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityFieldQueryTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityFieldQueryTest.php
index fd609d8..762551f 100644
--- a/core/modules/entity/lib/Drupal/entity/Tests/EntityFieldQueryTest.php
+++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityFieldQueryTest.php
@@ -17,6 +17,12 @@ use stdClass;
  */
 class EntityFieldQueryTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'field_test', 'entity_query_access_test', 'node_access_test');
 
   public static function getInfo() {
     return array(
@@ -27,7 +33,7 @@ class EntityFieldQueryTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'field_test', 'entity_query_access_test', 'node_access_test'));
+    parent::setUp();
 
     field_test_create_bundle('bundle1');
     field_test_create_bundle('bundle2');
diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityTranslationTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityTranslationTest.php
index 99842e5..6a71147 100644
--- a/core/modules/entity/lib/Drupal/entity/Tests/EntityTranslationTest.php
+++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityTranslationTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class EntityTranslationTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('entity_test', 'locale');
+
   public static function getInfo() {
     return array(
       'name' => 'Entity Translation',
@@ -23,7 +30,7 @@ class EntityTranslationTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('entity_test', 'locale');
+    parent::setUp();
     // Enable translations for the test entity type.
     variable_set('entity_test_translation', TRUE);
 
diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityUUIDTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityUUIDTest.php
index c2f42c5..a277121 100644
--- a/core/modules/entity/lib/Drupal/entity/Tests/EntityUUIDTest.php
+++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityUUIDTest.php
@@ -14,6 +14,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests creation, saving, and loading of entity UUIDs.
  */
 class EntityUUIDTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('entity_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Entity UUIDs',
@@ -22,10 +30,6 @@ class EntityUUIDTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('entity_test'));
-  }
-
   /**
    * Tests UUID generation in entity CRUD operations.
    */
diff --git a/core/modules/field/lib/Drupal/field/Tests/BulkDeleteTest.php b/core/modules/field/lib/Drupal/field/Tests/BulkDeleteTest.php
index 17e879b..c7c31a9 100644
--- a/core/modules/field/lib/Drupal/field/Tests/BulkDeleteTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/BulkDeleteTest.php
@@ -13,6 +13,14 @@ use Drupal\entity\EntityFieldQuery;
  * Unit test class for field bulk delete and batch purge functionality.
  */
 class BulkDeleteTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   protected $field;
 
   public static function getInfo() {
@@ -81,7 +89,7 @@ class BulkDeleteTest extends FieldTestBase {
   }
 
   function setUp() {
-    parent::setUp('field_test');
+    parent::setUp();
 
     $this->fields = array();
     $this->instances = array();
diff --git a/core/modules/field/lib/Drupal/field/Tests/CrudTest.php b/core/modules/field/lib/Drupal/field/Tests/CrudTest.php
index 589fe8d..c85cbe6 100644
--- a/core/modules/field/lib/Drupal/field/Tests/CrudTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/CrudTest.php
@@ -11,6 +11,14 @@ use Drupal\field\FieldException;
 use Exception;
 
 class CrudTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test', 'number');
+
   public static function getInfo() {
     return array(
       'name' => 'Field CRUD tests',
@@ -19,11 +27,6 @@ class CrudTest extends FieldTestBase {
     );
   }
 
-  function setUp() {
-    // field_update_field() tests use number.module
-    parent::setUp('field_test', 'number');
-  }
-
   // TODO : test creation with
   // - a full fledged $field structure, check that all the values are there
   // - a minimal $field structure, check all default values are set
diff --git a/core/modules/field/lib/Drupal/field/Tests/DisplayApiTest.php b/core/modules/field/lib/Drupal/field/Tests/DisplayApiTest.php
index c64f11c..9e0de09 100644
--- a/core/modules/field/lib/Drupal/field/Tests/DisplayApiTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/DisplayApiTest.php
@@ -8,6 +8,14 @@
 namespace Drupal\field\Tests;
 
 class DisplayApiTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Field Display API tests',
@@ -17,7 +25,7 @@ class DisplayApiTest extends FieldTestBase {
   }
 
   function setUp() {
-    parent::setUp('field_test');
+    parent::setUp();
 
     // Create a field and instance.
     $this->field_name = 'test_field';
diff --git a/core/modules/field/lib/Drupal/field/Tests/EntityPropertiesTest.php b/core/modules/field/lib/Drupal/field/Tests/EntityPropertiesTest.php
index 02f5459..85b3d39 100644
--- a/core/modules/field/lib/Drupal/field/Tests/EntityPropertiesTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/EntityPropertiesTest.php
@@ -11,6 +11,14 @@ namespace Drupal\field\Tests;
  * Tests entity properties.
  */
 class EntityPropertiesTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Entity properties',
@@ -19,10 +27,6 @@ class EntityPropertiesTest extends FieldTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('field_test');
-  }
-
   /**
    * Tests label key and label callback of an entity.
    */
diff --git a/core/modules/field/lib/Drupal/field/Tests/FieldAttachTestBase.php b/core/modules/field/lib/Drupal/field/Tests/FieldAttachTestBase.php
index 730b218..17c7a3b 100644
--- a/core/modules/field/lib/Drupal/field/Tests/FieldAttachTestBase.php
+++ b/core/modules/field/lib/Drupal/field/Tests/FieldAttachTestBase.php
@@ -8,19 +8,16 @@
 namespace Drupal\field\Tests;
 
 abstract class FieldAttachTestBase extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   function setUp() {
-    // Since this is a base class for many test cases, support the same
-    // flexibility that Drupal\simpletest\WebTestBase::setUp() has for the
-    // modules to be passed in as either an array or a variable number of string
-    // arguments.
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    if (!in_array('field_test', $modules)) {
-      $modules[] = 'field_test';
-    }
-    parent::setUp($modules);
+    parent::setUp();
 
     $this->field_name = drupal_strtolower($this->randomName() . '_field_name');
     $this->field = array('field_name' => $this->field_name, 'type' => 'test_field', 'cardinality' => 4);
diff --git a/core/modules/field/lib/Drupal/field/Tests/FieldInfoTest.php b/core/modules/field/lib/Drupal/field/Tests/FieldInfoTest.php
index d62412b..7155af9 100644
--- a/core/modules/field/lib/Drupal/field/Tests/FieldInfoTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/FieldInfoTest.php
@@ -9,6 +9,13 @@ namespace Drupal\field\Tests;
 
 class FieldInfoTest extends FieldTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Field info tests',
@@ -17,10 +24,6 @@ class FieldInfoTest extends FieldTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('field_test');
-  }
-
   /**
    * Test that field types and field definitions are correcly cached.
    */
diff --git a/core/modules/field/lib/Drupal/field/Tests/FieldInstanceCrudTest.php b/core/modules/field/lib/Drupal/field/Tests/FieldInstanceCrudTest.php
index 7d1e667..1af2f38 100644
--- a/core/modules/field/lib/Drupal/field/Tests/FieldInstanceCrudTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/FieldInstanceCrudTest.php
@@ -10,6 +10,14 @@ namespace Drupal\field\Tests;
 use Drupal\field\FieldException;
 
 class FieldInstanceCrudTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   protected $field;
 
   public static function getInfo() {
@@ -21,7 +29,7 @@ class FieldInstanceCrudTest extends FieldTestBase {
   }
 
   function setUp() {
-    parent::setUp('field_test');
+    parent::setUp();
 
     $this->field = array(
       'field_name' => drupal_strtolower($this->randomName()),
diff --git a/core/modules/field/lib/Drupal/field/Tests/FieldTestBase.php b/core/modules/field/lib/Drupal/field/Tests/FieldTestBase.php
index c4a9d16..666bf42 100644
--- a/core/modules/field/lib/Drupal/field/Tests/FieldTestBase.php
+++ b/core/modules/field/lib/Drupal/field/Tests/FieldTestBase.php
@@ -19,15 +19,8 @@ abstract class FieldTestBase extends WebTestBase {
    * Set the default field storage backend for fields created during tests.
    */
   function setUp() {
-    // Since this is a base class for many test cases, support the same
-    // flexibility that Drupal\simpletest\WebTestBase::setUp() has for the
-    // modules to be passed in as either an array or a variable number of string
-    // arguments.
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    parent::setUp($modules);
+    parent::setUp();
+
     // Set default storage backend.
     variable_set('field_storage_default', $this->default_storage);
   }
diff --git a/core/modules/field/lib/Drupal/field/Tests/FormTest.php b/core/modules/field/lib/Drupal/field/Tests/FormTest.php
index 94919aa..6b0bf90 100644
--- a/core/modules/field/lib/Drupal/field/Tests/FormTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/FormTest.php
@@ -8,6 +8,14 @@
 namespace Drupal\field\Tests;
 
 class FormTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'field_test', 'options');
+
   public static function getInfo() {
     return array(
       'name' => 'Field form tests',
@@ -17,7 +25,7 @@ class FormTest extends FieldTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'field_test', 'options'));
+    parent::setUp();
 
     $web_user = $this->drupalCreateUser(array('access field_test content', 'administer field_test content'));
     $this->drupalLogin($web_user);
diff --git a/core/modules/field/lib/Drupal/field/Tests/TranslationTest.php b/core/modules/field/lib/Drupal/field/Tests/TranslationTest.php
index 4405000..b63ee4f 100644
--- a/core/modules/field/lib/Drupal/field/Tests/TranslationTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/TranslationTest.php
@@ -14,6 +14,14 @@ namespace Drupal\field\Tests;
  * that only the correct values are returned by field_available_languages().
  */
 class TranslationTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language', 'field_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Field translations tests',
@@ -23,7 +31,7 @@ class TranslationTest extends FieldTestBase {
   }
 
   function setUp() {
-    parent::setUp('language', 'field_test');
+    parent::setUp();
 
     $this->field_name = drupal_strtolower($this->randomName() . '_field_name');
 
diff --git a/core/modules/field/modules/field_sql_storage/lib/Drupal/field_sql_storage/Tests/FieldSqlStorageTest.php b/core/modules/field/modules/field_sql_storage/lib/Drupal/field_sql_storage/Tests/FieldSqlStorageTest.php
index eb30493..ba0200b 100644
--- a/core/modules/field/modules/field_sql_storage/lib/Drupal/field_sql_storage/Tests/FieldSqlStorageTest.php
+++ b/core/modules/field/modules/field_sql_storage/lib/Drupal/field_sql_storage/Tests/FieldSqlStorageTest.php
@@ -19,6 +19,14 @@ use PDO;
  * for the Field Strage API.
  */
 class FieldSqlStorageTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_sql_storage', 'field', 'field_test', 'text', 'number');
+
   public static function getInfo() {
     return array(
       'name'  => 'Field SQL Storage tests',
@@ -28,7 +36,8 @@ class FieldSqlStorageTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('field_sql_storage', 'field', 'field_test', 'text', 'number');
+    parent::setUp();
+
     $this->field_name = strtolower($this->randomName());
     $this->field = array('field_name' => $this->field_name, 'type' => 'test_field', 'cardinality' => 4);
     $this->field = field_create_field($this->field);
diff --git a/core/modules/field/modules/number/lib/Drupal/number/Tests/NumberFieldTest.php b/core/modules/field/modules/number/lib/Drupal/number/Tests/NumberFieldTest.php
index c92970f..64aabe3 100644
--- a/core/modules/field/modules/number/lib/Drupal/number/Tests/NumberFieldTest.php
+++ b/core/modules/field/modules/number/lib/Drupal/number/Tests/NumberFieldTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for number field types.
  */
 class NumberFieldTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'field_test', 'number', 'field_ui');
+
   protected $field;
   protected $instance;
   protected $web_user;
@@ -26,7 +34,8 @@ class NumberFieldTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'field_test', 'number', 'field_ui'));
+    parent::setUp();
+
     $this->web_user = $this->drupalCreateUser(array('access field_test content', 'administer field_test content', 'administer content types'));
     $this->drupalLogin($this->web_user);
   }
diff --git a/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsDynamicValuesTest.php b/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsDynamicValuesTest.php
index 3bd77b6..4065b7d 100644
--- a/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsDynamicValuesTest.php
+++ b/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsDynamicValuesTest.php
@@ -13,8 +13,16 @@ use Drupal\field\Tests\FieldTestBase;
  * Sets up a Options field for testing allowed values functions.
  */
 class OptionsDynamicValuesTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('options', 'field_test', 'options_test');
+
   function setUp() {
-    parent::setUp(array('options', 'field_test', 'options_test'));
+    parent::setUp();
 
     $this->field_name = 'test_options';
     $this->field = array(
diff --git a/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsFieldTest.php b/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsFieldTest.php
index 047daca..2965bd7 100644
--- a/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsFieldTest.php
+++ b/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsFieldTest.php
@@ -14,6 +14,14 @@ use Drupal\field\Tests\FieldTestBase;
  * Tests for the 'Options' field types.
  */
 class OptionsFieldTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('options', 'field_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Options field',
@@ -23,7 +31,7 @@ class OptionsFieldTest extends FieldTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('options', 'field_test'));
+    parent::setUp();
 
     $this->field_name = 'test_options';
     $this->field = array(
diff --git a/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsFieldUITest.php b/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsFieldUITest.php
index 5ff5aeb..7416c50 100644
--- a/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsFieldUITest.php
+++ b/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsFieldUITest.php
@@ -13,6 +13,14 @@ use Drupal\field\Tests\FieldTestBase;
  * Options module UI tests.
  */
 class OptionsFieldUITest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('options', 'field_test', 'taxonomy', 'field_ui');
+
   public static function getInfo() {
     return array(
       'name' => 'Options field UI',
@@ -22,7 +30,7 @@ class OptionsFieldUITest extends FieldTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('options', 'field_test', 'taxonomy', 'field_ui'));
+    parent::setUp();
 
     // Create test user.
     $admin_user = $this->drupalCreateUser(array('access content', 'administer content types', 'administer taxonomy'));
diff --git a/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsWidgetsTest.php b/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsWidgetsTest.php
index c282166..dbf7203 100644
--- a/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsWidgetsTest.php
+++ b/core/modules/field/modules/options/lib/Drupal/options/Tests/OptionsWidgetsTest.php
@@ -13,6 +13,14 @@ use Drupal\field\Tests\FieldTestBase;
  * Test the Options widgets.
  */
 class OptionsWidgetsTest extends FieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('options', 'field_test', 'options_test', 'taxonomy', 'field_ui');
+
   public static function getInfo() {
     return array(
       'name'  => 'Options widgets',
@@ -22,7 +30,7 @@ class OptionsWidgetsTest extends FieldTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('options', 'field_test', 'options_test', 'taxonomy', 'field_ui'));
+    parent::setUp();
 
     // Field with cardinality 1.
     $this->card_1 = array(
diff --git a/core/modules/field/modules/text/lib/Drupal/text/Tests/TextFieldTest.php b/core/modules/field/modules/text/lib/Drupal/text/Tests/TextFieldTest.php
index c90abd6..a2c0e80 100644
--- a/core/modules/field/modules/text/lib/Drupal/text/Tests/TextFieldTest.php
+++ b/core/modules/field/modules/text/lib/Drupal/text/Tests/TextFieldTest.php
@@ -14,6 +14,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the creation of text fields.
  */
 class TextFieldTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   protected $instance;
   protected $admin_user;
   protected $web_user;
@@ -27,7 +35,7 @@ class TextFieldTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('field_test');
+    parent::setUp();
 
     $this->admin_user = $this->drupalCreateUser(array('administer filters'));
     $this->web_user = $this->drupalCreateUser(array('access field_test content', 'administer field_test content'));
diff --git a/core/modules/field/modules/text/lib/Drupal/text/Tests/TextTranslationTest.php b/core/modules/field/modules/text/lib/Drupal/text/Tests/TextTranslationTest.php
index 0d3739f..c3c696a 100644
--- a/core/modules/field/modules/text/lib/Drupal/text/Tests/TextTranslationTest.php
+++ b/core/modules/field/modules/text/lib/Drupal/text/Tests/TextTranslationTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests text field translation.
  */
 class TextTranslationTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('translation');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -24,7 +32,7 @@ class TextTranslationTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('translation');
+    parent::setUp();
 
     $full_html_format = filter_format_load('full_html');
     $this->format = $full_html_format->format;
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Tests/AlterTest.php b/core/modules/field_ui/lib/Drupal/field_ui/Tests/AlterTest.php
index e4898dc..72e8218 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Tests/AlterTest.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Tests/AlterTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests custom widget hooks and callbacks on the field administration pages.
  */
 class AlterTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_ui', 'field_test', 'text', 'options');
+
   public static function getInfo() {
     return array(
       'name' => 'Widget customization',
@@ -22,7 +30,7 @@ class AlterTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('field_ui', 'field_test', 'text', 'options'));
+    parent::setUp();
 
     // Create Article node type.
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Tests/FieldUiTestBase.php b/core/modules/field_ui/lib/Drupal/field_ui/Tests/FieldUiTestBase.php
index fab60d7..06e8dc6 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Tests/FieldUiTestBase.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Tests/FieldUiTestBase.php
@@ -13,18 +13,16 @@ use Drupal\simpletest\WebTestBase;
  * Provides common functionality for the Field UI test classes.
  */
 abstract class FieldUiTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
   public static $modules = array('node', 'field_ui', 'field_test', 'taxonomy');
 
   function setUp() {
-    // Since this is a base class for many test cases, support the same
-    // flexibility that Drupal\simpletest\WebTestBase::setUp() has for the
-    // modules to be passed in as either an array or a variable number of string
-    // arguments.
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    parent::setUp($modules);
+    parent::setUp();
 
     // Create test user.
     $admin_user = $this->drupalCreateUser(array('access content', 'administer content types', 'administer taxonomy'));
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageDisplayTest.php b/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageDisplayTest.php
index 06ea02a..40edfa5 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageDisplayTest.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageDisplayTest.php
@@ -13,6 +13,14 @@ use Drupal\node\Node;
  * Tests the functionality of the 'Manage display' screens.
  */
 class ManageDisplayTest extends FieldUiTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('search');
+
   public static function getInfo() {
     return array(
       'name' => 'Manage display',
@@ -21,10 +29,6 @@ class ManageDisplayTest extends FieldUiTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('search'));
-  }
-
   /**
    * Tests formatter settings.
    */
diff --git a/core/modules/file/lib/Drupal/file/Tests/FileFieldTestBase.php b/core/modules/file/lib/Drupal/file/Tests/FileFieldTestBase.php
index 726156f..c85a707 100644
--- a/core/modules/file/lib/Drupal/file/Tests/FileFieldTestBase.php
+++ b/core/modules/file/lib/Drupal/file/Tests/FileFieldTestBase.php
@@ -13,22 +13,20 @@ use Drupal\simpletest\WebTestBase;
  * Provides methods specifically for testing File module's field handling.
  */
 abstract class FileFieldTestBase extends WebTestBase {
+
+  /**
+  * Modules to enable.
+  *
+  * @var array
+  */
+  public static $modules = array('file', 'file_module_test');
+
   protected $profile = 'standard';
 
   protected $admin_user;
 
   function setUp() {
-    // Since this is a base class for many test cases, support the same
-    // flexibility that Drupal\simpletest\WebTestBase::setUp() has for the
-    // modules to be passed in as either an array or a variable number of string
-    // arguments.
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    $modules[] = 'file';
-    $modules[] = 'file_module_test';
-    parent::setUp($modules);
+    parent::setUp();
     $this->admin_user = $this->drupalCreateUser(array('access content', 'access administration pages', 'administer site configuration', 'administer users', 'administer permissions', 'administer content types', 'administer nodes', 'bypass node access'));
     $this->drupalLogin($this->admin_user);
   }
diff --git a/core/modules/file/lib/Drupal/file/Tests/FilePrivateTest.php b/core/modules/file/lib/Drupal/file/Tests/FilePrivateTest.php
index 2522da6..03226ca 100644
--- a/core/modules/file/lib/Drupal/file/Tests/FilePrivateTest.php
+++ b/core/modules/file/lib/Drupal/file/Tests/FilePrivateTest.php
@@ -11,6 +11,14 @@ namespace Drupal\file\Tests;
  * Tests file access on private nodes.
  */
 class FilePrivateTest extends FileFieldTestBase {
+
+  /**
+  * Modules to enable.
+  *
+  * @var array
+  */
+  public static $modules = array('node_access_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Private file test',
@@ -20,7 +28,7 @@ class FilePrivateTest extends FileFieldTestBase {
   }
 
   function setUp() {
-    parent::setUp('node_access_test');
+    parent::setUp();
     node_access_rebuild();
     variable_set('node_access_test_private', TRUE);
   }
diff --git a/core/modules/filter/lib/Drupal/filter/Tests/FilterCrudTest.php b/core/modules/filter/lib/Drupal/filter/Tests/FilterCrudTest.php
index 32c706b..54369a5 100644
--- a/core/modules/filter/lib/Drupal/filter/Tests/FilterCrudTest.php
+++ b/core/modules/filter/lib/Drupal/filter/Tests/FilterCrudTest.php
@@ -14,6 +14,14 @@ use stdClass;
  * Tests for text format and filter CRUD operations.
  */
 class FilterCrudTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('filter_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Filter CRUD operations',
@@ -22,10 +30,6 @@ class FilterCrudTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('filter_test');
-  }
-
   /**
    * Test CRUD operations for text formats and filters.
    */
diff --git a/core/modules/filter/lib/Drupal/filter/Tests/FilterHooksTest.php b/core/modules/filter/lib/Drupal/filter/Tests/FilterHooksTest.php
index 2679132..841c502 100644
--- a/core/modules/filter/lib/Drupal/filter/Tests/FilterHooksTest.php
+++ b/core/modules/filter/lib/Drupal/filter/Tests/FilterHooksTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for filter hook invocation.
  */
 class FilterHooksTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'filter_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Filter format hooks',
@@ -22,7 +30,7 @@ class FilterHooksTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('block', 'filter_test');
+    parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer filters', 'administer blocks'));
     $this->drupalLogin($admin_user);
   }
diff --git a/core/modules/filter/lib/Drupal/filter/Tests/FilterSecurityTest.php b/core/modules/filter/lib/Drupal/filter/Tests/FilterSecurityTest.php
index 46bb7b6..27e0e00 100644
--- a/core/modules/filter/lib/Drupal/filter/Tests/FilterSecurityTest.php
+++ b/core/modules/filter/lib/Drupal/filter/Tests/FilterSecurityTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Security tests for missing/vanished text formats or filters.
  */
 class FilterSecurityTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'php', 'filter_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Security',
@@ -22,7 +30,7 @@ class FilterSecurityTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'php', 'filter_test'));
+    parent::setUp();
 
     // Create Basic page node type.
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
diff --git a/core/modules/forum/lib/Drupal/forum/Tests/ForumIndexTest.php b/core/modules/forum/lib/Drupal/forum/Tests/ForumIndexTest.php
index e7f937d..a9d1a7c 100644
--- a/core/modules/forum/lib/Drupal/forum/Tests/ForumIndexTest.php
+++ b/core/modules/forum/lib/Drupal/forum/Tests/ForumIndexTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class ForumIndexTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('taxonomy', 'comment', 'forum');
+
   public static function getInfo() {
     return array(
       'name' => 'Forum index',
@@ -23,7 +30,7 @@ class ForumIndexTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('taxonomy', 'comment', 'forum');
+    parent::setUp();
 
     // Create a test user.
     $web_user = $this->drupalCreateUser(array('create forum content', 'edit own forum content', 'edit any forum content', 'administer nodes'));
diff --git a/core/modules/forum/lib/Drupal/forum/Tests/ForumNodeAccessTest.php b/core/modules/forum/lib/Drupal/forum/Tests/ForumNodeAccessTest.php
index 5cf7071..5ad396a 100644
--- a/core/modules/forum/lib/Drupal/forum/Tests/ForumNodeAccessTest.php
+++ b/core/modules/forum/lib/Drupal/forum/Tests/ForumNodeAccessTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests forum block view for private node access.
  */
 class ForumNodeAccessTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'comment', 'forum', 'taxonomy', 'tracker', 'node_access_test', 'block');
+
   protected $access_user;
   protected $admin_user;
   protected $no_access_user;
@@ -26,7 +34,7 @@ class ForumNodeAccessTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'comment', 'forum', 'taxonomy', 'tracker', 'node_access_test', 'block'));
+    parent::setUp();
     node_access_rebuild();
     variable_set('node_access_test_private', TRUE);
   }
diff --git a/core/modules/forum/lib/Drupal/forum/Tests/ForumTest.php b/core/modules/forum/lib/Drupal/forum/Tests/ForumTest.php
index 6114cbd..a09ce92 100644
--- a/core/modules/forum/lib/Drupal/forum/Tests/ForumTest.php
+++ b/core/modules/forum/lib/Drupal/forum/Tests/ForumTest.php
@@ -16,6 +16,13 @@ use Drupal\simpletest\WebTestBase;
 class ForumTest extends WebTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('taxonomy', 'comment', 'forum', 'node', 'block', 'menu', 'help');
+
+  /**
    * A user with various administrative privileges.
    */
   protected $admin_user;
@@ -64,7 +71,8 @@ class ForumTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('taxonomy', 'comment', 'forum', 'node', 'block', 'menu', 'help'));
+    parent::setUp();
+
     // Create users.
     $this->admin_user = $this->drupalCreateUser(array(
       'access administration pages',
diff --git a/core/modules/help/lib/Drupal/help/Tests/HelpTest.php b/core/modules/help/lib/Drupal/help/Tests/HelpTest.php
index 46c5688..8404d85 100644
--- a/core/modules/help/lib/Drupal/help/Tests/HelpTest.php
+++ b/core/modules/help/lib/Drupal/help/Tests/HelpTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests help display and user access for all modules implementing help.
  */
 class HelpTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array.
+   */
+  public static $modules = array('poll');
+
   // Tests help implementations of many arbitrary core modules.
   protected $profile = 'standard';
 
@@ -35,7 +43,7 @@ class HelpTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('poll');
+    parent::setUp();
 
     $this->getModuleList();
 
@@ -68,7 +76,7 @@ class HelpTest extends WebTestBase {
     $this->assertRaw('<h2>' . t('Help topics') . '</h2><p>' . t('Help is available on the following items:') . '</p>', t('Help topics text correctly appears.'));
 
     // Make sure links are properly added for modules implementing hook_help().
-    foreach ($this->modules as $module => $name) {
+    foreach ($this->getModuleList() as $module => $name) {
       $this->assertLink($name, 0, t('Link properly added to @name (admin/help/@module)', array('@module' => $module, '@name' => $name)));
     }
   }
@@ -80,7 +88,7 @@ class HelpTest extends WebTestBase {
    *   An HTTP response code.
    */
   protected function verifyHelp($response = 200) {
-    foreach ($this->modules as $module => $name) {
+    foreach ($this->getModuleList() as $module => $name) {
       // View module help node.
       $this->drupalGet('admin/help/' . $module);
       $this->assertResponse($response);
@@ -98,13 +106,14 @@ class HelpTest extends WebTestBase {
    *   A list of enabled modules.
    */
   protected function getModuleList() {
-    $this->modules = array();
+    $modules = array();
     $result = db_query("SELECT name, filename, info FROM {system} WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC");
     foreach ($result as $module) {
       if (file_exists($module->filename) && function_exists($module->name . '_help')) {
         $fullname = unserialize($module->info);
-        $this->modules[$module->name] = $fullname['name'];
+        $modules[$module->name] = $fullname['name'];
       }
     }
+    return $modules;
   }
 }
diff --git a/core/modules/help/lib/Drupal/help/Tests/NoHelpTest.php b/core/modules/help/lib/Drupal/help/Tests/NoHelpTest.php
index 852ed05..933c20f 100644
--- a/core/modules/help/lib/Drupal/help/Tests/NoHelpTest.php
+++ b/core/modules/help/lib/Drupal/help/Tests/NoHelpTest.php
@@ -13,6 +13,16 @@ use Drupal\simpletest\WebTestBase;
  * Tests a module without help to verify it is not listed in the help page.
  */
 class NoHelpTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * Use one of the test modules that do not implement hook_help().
+   *
+   * @var array.
+   */
+  public static $modules = array('menu_test');
+
   /**
    * The user who will be created.
    */
@@ -27,8 +37,7 @@ class NoHelpTest extends WebTestBase {
   }
 
   function setUp() {
-    // Use one of the test modules that do not implement hook_help().
-    parent::setUp('menu_test');
+    parent::setUp();
     $this->big_user = $this->drupalCreateUser(array('access administration pages'));
   }
 
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageDimensionsTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageDimensionsTest.php
index 0d57e11..d2554cf 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageDimensionsTest.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageDimensionsTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests that images have correct dimensions when styled.
  */
 class ImageDimensionsTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('image', 'image_module_test');
+
   protected $profile = 'testing';
 
   public static function getInfo() {
@@ -23,10 +31,6 @@ class ImageDimensionsTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('image', 'image_module_test'));
-  }
-
   /**
    * Test styled image dimensions cumulatively.
    */
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageEffectsTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageEffectsTest.php
index 0456162..fb3269c 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageEffectsTest.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageEffectsTest.php
@@ -14,6 +14,14 @@ use Drupal\system\Tests\Image\ToolkitTestBase;
  * properly passing parameters to the image toolkit.
  */
 class ImageEffectsTest extends ToolkitTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('image_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Image effects',
@@ -23,7 +31,8 @@ class ImageEffectsTest extends ToolkitTestBase {
   }
 
   function setUp() {
-    parent::setUp('image_test');
+    parent::setUp();
+
     module_load_include('inc', 'image', 'image.effects');
   }
 
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDefaultImagesTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDefaultImagesTest.php
index ed5e9ab..4d44aa3 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDefaultImagesTest.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDefaultImagesTest.php
@@ -12,6 +12,13 @@ namespace Drupal\image\Tests;
  */
 class ImageFieldDefaultImagesTest extends ImageFieldTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_ui');
+
   public static function getInfo() {
     return array(
       'name' => 'Image field default images tests',
@@ -20,10 +27,6 @@ class ImageFieldDefaultImagesTest extends ImageFieldTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('field_ui'));
-  }
-
   /**
    * Tests CRUD for fields and fields instances with default images.
    */
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php
index 2ae34d1..39eb53b 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php
@@ -11,6 +11,14 @@ namespace Drupal\image\Tests;
  * Test class to check that formatters and display settings are working.
  */
 class ImageFieldDisplayTest extends ImageFieldTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_ui');
+
   public static function getInfo() {
     return array(
       'name' => 'Image field display tests',
@@ -19,10 +27,6 @@ class ImageFieldDisplayTest extends ImageFieldTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('field_ui'));
-  }
-
   /**
    * Test image formatters on node display for public files.
    */
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageFieldTestBase.php b/core/modules/image/lib/Drupal/image/Tests/ImageFieldTestBase.php
index 86ab992..e78a364 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageFieldTestBase.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageFieldTestBase.php
@@ -33,16 +33,18 @@ use Drupal\simpletest\WebTestBase;
  * This class provides methods specifically for testing Image's field handling.
  */
 abstract class ImageFieldTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'image');
+
   protected $admin_user;
 
   function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    $modules[] = 'node';
-    $modules[] = 'image';
-    parent::setUp($modules);
+    parent::setUp();
 
     // Create Basic page and Article node types.
     if ($this->profile != 'standard') {
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageStylesPathAndUrlTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageStylesPathAndUrlTest.php
index 6bf4eb4..574cc1b 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageStylesPathAndUrlTest.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageStylesPathAndUrlTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the functions for generating paths and URLs for image styles.
  */
 class ImageStylesPathAndUrlTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('image', 'image_module_test');
+
   protected $style_name;
   protected $image_info;
   protected $image_filepath;
@@ -26,7 +34,7 @@ class ImageStylesPathAndUrlTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('image', 'image_module_test'));
+    parent::setUp();
 
     $this->style_name = 'style_foo';
     image_style_save(array('name' => $this->style_name));
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageThemeFunctionTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageThemeFunctionTest.php
index 3c61596..0e026f2 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageThemeFunctionTest.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageThemeFunctionTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class ImageThemeFunctionTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('image');
+
   public static function getInfo() {
     return array(
       'name' => 'Image theme functions',
@@ -22,10 +29,6 @@ class ImageThemeFunctionTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('image'));
-  }
-
   /**
    * Tests usage of the image field formatters.
    */
diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageConfigurationTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigurationTest.php
index 1e5f430..0372e1b 100644
--- a/core/modules/language/lib/Drupal/language/Tests/LanguageConfigurationTest.php
+++ b/core/modules/language/lib/Drupal/language/Tests/LanguageConfigurationTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for language configuration's effect on negotiation setup.
  */
 class LanguageConfigurationTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language');
+
   public static function getInfo() {
     return array(
       'name' => 'Language negotiation autoconfiguration',
@@ -21,10 +29,6 @@ class LanguageConfigurationTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('language');
-  }
-
   /**
    * Functional tests for adding, editing and deleting languages.
    */
diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageDependencyInjectionTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageDependencyInjectionTest.php
index bd940d3..57e6284 100644
--- a/core/modules/language/lib/Drupal/language/Tests/LanguageDependencyInjectionTest.php
+++ b/core/modules/language/lib/Drupal/language/Tests/LanguageDependencyInjectionTest.php
@@ -15,6 +15,14 @@ use Drupal\simpletest\WebTestBase;
  * Test for dependency injected language object.
  */
 class LanguageDependencyInjectionTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language');
+
   public static function getInfo() {
     return array(
         'name' => 'Language dependency injection',
@@ -24,7 +32,7 @@ class LanguageDependencyInjectionTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('language');
+    parent::setUp();
 
     // Ensure we are building a new Language object for each test.
     language_manager();
diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageListTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageListTest.php
index 87d6b3b..4b0b594 100644
--- a/core/modules/language/lib/Drupal/language/Tests/LanguageListTest.php
+++ b/core/modules/language/lib/Drupal/language/Tests/LanguageListTest.php
@@ -14,6 +14,14 @@ use Drupal\Core\Language\Language;
  * Functional tests for the language list configuration forms.
  */
 class LanguageListTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language');
+
   public static function getInfo() {
     return array(
       'name' => 'Language list configuration',
@@ -22,10 +30,6 @@ class LanguageListTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('language');
-  }
-
   /**
    * Functional tests for adding, editing and deleting languages.
    */
diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageNegotiationInfoTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageNegotiationInfoTest.php
index d7d68e4..aa6774b 100644
--- a/core/modules/language/lib/Drupal/language/Tests/LanguageNegotiationInfoTest.php
+++ b/core/modules/language/lib/Drupal/language/Tests/LanguageNegotiationInfoTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class LanguageNegotiationInfoTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language');
+
   public static function getInfo() {
     return array(
       'name' => 'Language negotiation info',
@@ -23,7 +30,7 @@ class LanguageNegotiationInfoTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('language');
+    parent::setUp();
     require_once DRUPAL_ROOT .'/core/includes/language.inc';
     $admin_user = $this->drupalCreateUser(array('administer languages', 'access administration pages', 'view the administration theme'));
     $this->drupalLogin($admin_user);
diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguagePathMonolingualTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguagePathMonolingualTest.php
index 4f80277..72bbcf1 100644
--- a/core/modules/language/lib/Drupal/language/Tests/LanguagePathMonolingualTest.php
+++ b/core/modules/language/lib/Drupal/language/Tests/LanguagePathMonolingualTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests that paths are not prefixed on a monolingual site.
  */
 class LanguagePathMonolingualTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language', 'path');
+
   public static function getInfo() {
     return array(
       'name' => 'Paths on non-English monolingual sites',
@@ -22,7 +30,7 @@ class LanguagePathMonolingualTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('path', 'language');
+    parent::setUp();
 
     // Create and login user.
     $web_user = $this->drupalCreateUser(array('administer languages', 'access administration pages'));
diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageSwitchingTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageSwitchingTest.php
index c8c6732..efe643d 100644
--- a/core/modules/language/lib/Drupal/language/Tests/LanguageSwitchingTest.php
+++ b/core/modules/language/lib/Drupal/language/Tests/LanguageSwitchingTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class LanguageSwitchingTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language', 'block');
+
   public static function getInfo() {
     return array(
       'name' => 'Language switching',
@@ -23,7 +30,7 @@ class LanguageSwitchingTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('language', 'block'));
+    parent::setUp();
 
     // Create and login user.
     $admin_user = $this->drupalCreateUser(array('administer blocks', 'administer languages', 'access administration pages'));
diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php
index 02d5139..d12bdfa 100644
--- a/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php
+++ b/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php
@@ -36,6 +36,18 @@ use Drupal\simpletest\WebTestBase;
  *          UI language in Chinese
  */
 class LanguageUILanguageNegotiationTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * We marginally use interface translation functionality here, so need to use
+   * the locale module instead of language only, but the 90% of the test is
+   * about the negotiation process which is solely in language module.
+   *
+   * @var array
+   */
+  public static $modules = array('locale', 'language_test', 'block');
+
   public static function getInfo() {
     return array(
       'name' => 'UI language negotiation',
@@ -45,10 +57,7 @@ class LanguageUILanguageNegotiationTest extends WebTestBase {
   }
 
   function setUp() {
-    // We marginally use interface translation functionality here, so need to
-    // use the locale module instead of language only, but the 90% of the test
-    // is about the negotiation process which is solely in language module.
-    parent::setUp(array('locale', 'language_test', 'block'));
+    parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/language.inc';
     $admin_user = $this->drupalCreateUser(array('administer languages', 'translate interface', 'access administration pages', 'administer blocks'));
     $this->drupalLogin($admin_user);
diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageUrlRewritingTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageUrlRewritingTest.php
index 04ed724..72f2116 100644
--- a/core/modules/language/lib/Drupal/language/Tests/LanguageUrlRewritingTest.php
+++ b/core/modules/language/lib/Drupal/language/Tests/LanguageUrlRewritingTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test that URL rewriting works as expected.
  */
 class LanguageUrlRewritingTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language');
+
   public static function getInfo() {
     return array(
       'name' => 'URL rewriting',
@@ -22,7 +30,7 @@ class LanguageUrlRewritingTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('language');
+    parent::setUp();
 
     // Create and login user.
     $this->web_user = $this->drupalCreateUser(array('administer languages', 'access administration pages'));
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleCommentLanguageTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleCommentLanguageTest.php
index 9bb8bc0..6776e31 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleCommentLanguageTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleCommentLanguageTest.php
@@ -13,6 +13,18 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for comment language.
  */
 class LocaleCommentLanguageTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * We also use the language_test module here to be able to turn on content
+   * language negotiation. Drupal core does not provide a way in itself to do
+   * that.
+   *
+   * @var array
+   */
+  public static $modules = array('locale', 'language_test');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -24,10 +36,7 @@ class LocaleCommentLanguageTest extends WebTestBase {
   }
 
   function setUp() {
-    // We also use language_test module here to be able to turn on content
-    // language negotiation. Drupal core does not provide a way in itself
-    // to do that.
-    parent::setUp('locale', 'language_test');
+    parent::setUp();
 
     // Create and login user.
     $admin_user = $this->drupalCreateUser(array('administer site configuration', 'administer languages', 'access administration pages', 'administer content types', 'create article content'));
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleContentTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleContentTest.php
index fbedc33..a41d68b 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleContentTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleContentTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for multilingual support on nodes.
  */
 class LocaleContentTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -23,10 +31,6 @@ class LocaleContentTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('locale');
-  }
-
   /**
    * Verifies that machine name fields are always LTR.
    */
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleExportTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleExportTest.php
index 4ad9356..673867f 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleExportTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleExportTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for the export of translation files.
  */
 class LocaleExportTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   public static function getInfo() {
     return array(
       'name' => 'Translation export',
@@ -27,7 +35,7 @@ class LocaleExportTest extends WebTestBase {
   protected $admin_user = NULL;
 
   function setUp() {
-    parent::setUp('locale');
+    parent::setUp();
 
     $this->admin_user = $this->drupalCreateUser(array('administer languages', 'translate interface', 'access administration pages'));
     $this->drupalLogin($this->admin_user);
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleFileImportStatus.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleFileImportStatus.php
index 2126b26..a19351d 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleFileImportStatus.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleFileImportStatus.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for the import of translation files.
  */
 class LocaleFileImportStatus extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   public static function getInfo() {
     return array(
       'name' => 'Translation file import status',
@@ -22,8 +30,7 @@ class LocaleFileImportStatus extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('locale');
-
+    parent::setUp();
     // Create and login user.
     $admin_user = $this->drupalCreateUser(array('administer site configuration', 'administer languages', 'access administration pages'));
     $this->drupalLogin($admin_user);
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleImportFunctionalTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleImportFunctionalTest.php
index 016082a..589c555 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleImportFunctionalTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleImportFunctionalTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for the import of translation files.
  */
 class LocaleImportFunctionalTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale', 'dblog');
+
   public static function getInfo() {
     return array(
       'name' => 'Translation import',
@@ -27,8 +35,7 @@ class LocaleImportFunctionalTest extends WebTestBase {
   protected $admin_user = NULL;
 
   function setUp() {
-    parent::setUp(array('locale', 'dblog'));
-
+    parent::setUp();
     // Set the translation file directory.
     variable_set('locale_translate_file_directory', drupal_get_path('module', 'locale') . '/tests');
 
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleInstallTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleInstallTest.php
index f1677eb..fa6aafc 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleInstallTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleInstallTest.php
@@ -14,6 +14,14 @@ use ReflectionFunction;
  * Tests for the st() function.
  */
 class LocaleInstallTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   public static function getInfo() {
     return array(
       'name' => 'String translation using st()',
@@ -23,8 +31,7 @@ class LocaleInstallTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('locale');
-
+    parent::setUp();
     // st() lives in install.inc, so ensure that it is loaded for all tests.
     require_once DRUPAL_ROOT . '/core/includes/install.inc';
   }
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleJavascriptTranslation.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleJavascriptTranslation.php
index 9739537..8962267 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleJavascriptTranslation.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleJavascriptTranslation.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for JavaScript parsing for translatable strings.
  */
 class LocaleJavascriptTranslation extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   public static function getInfo() {
     return array(
       'name' => 'Javascript translation',
@@ -21,10 +29,6 @@ class LocaleJavascriptTranslation extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('locale');
-  }
-
   function testFileParsing() {
 
     $filename = drupal_get_path('module', 'locale') . '/tests/locale_test.js';
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleLibraryInfoAlterTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleLibraryInfoAlterTest.php
index 2e1ae8c..e1e4787 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleLibraryInfoAlterTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleLibraryInfoAlterTest.php
@@ -14,6 +14,14 @@ use Drupal\simpletest\WebTestBase;
  * Currently, only the jQuery datepicker is localized using Drupal translations.
  */
 class LocaleLibraryInfoAlterTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   public static function getInfo() {
     return array(
       'name' => 'Javascript library localisation',
@@ -22,10 +30,6 @@ class LocaleLibraryInfoAlterTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('locale'));
-  }
-
   /**
      * Verifies that the datepicker can be localized.
      *
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocalePathTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocalePathTest.php
index 61c4572..7e9786a 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocalePathTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocalePathTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for configuring a different path alias per language.
  */
 class LocalePathTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'locale', 'path');
+
   public static function getInfo() {
     return array(
       'name' => 'Path language settings',
@@ -22,7 +30,7 @@ class LocalePathTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'locale', 'path'));
+    parent::setUp();
 
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
     config('system.site')->set('page.front', 'node')->save();
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocalePluralFormatTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocalePluralFormatTest.php
index 32e0ab4..f4a56e2 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocalePluralFormatTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocalePluralFormatTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests plural format handling functionality.
  */
 class LocalePluralFormatTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   public static function getInfo() {
     return array(
       'name' => 'Plural handling',
@@ -22,7 +30,7 @@ class LocalePluralFormatTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('locale');
+    parent::setUp();
 
     $admin_user = $this->drupalCreateUser(array('administer languages', 'translate interface', 'access administration pages'));
     $this->drupalLogin($admin_user);
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleTranslationTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleTranslationTest.php
index 212f32e..1c7265c 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleTranslationTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleTranslationTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional test for string translation and validation.
  */
 class LocaleTranslationTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   public static function getInfo() {
     return array(
       'name' => 'String translate, search and validate',
@@ -21,10 +29,6 @@ class LocaleTranslationTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('locale');
-  }
-
   /**
    * Adds a language and tests string translation by users with the appropriate permissions.
    */
diff --git a/core/modules/locale/lib/Drupal/locale/Tests/LocaleUninstallTest.php b/core/modules/locale/lib/Drupal/locale/Tests/LocaleUninstallTest.php
index c52f483..2e51552 100644
--- a/core/modules/locale/lib/Drupal/locale/Tests/LocaleUninstallTest.php
+++ b/core/modules/locale/lib/Drupal/locale/Tests/LocaleUninstallTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Locale uninstall with English UI functional test.
  */
 class LocaleUninstallTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'locale');
+
   public static function getInfo() {
     return array(
       'name' => 'Locale uninstall (EN)',
@@ -27,7 +35,8 @@ class LocaleUninstallTest extends WebTestBase {
   protected $language;
 
   function setUp() {
-    parent::setUp(array('node', 'locale'));
+    parent::setUp();
+
     $this->langcode = 'en';
 
     // Create Article node type.
diff --git a/core/modules/menu/lib/Drupal/menu/Tests/MenuNodeTest.php b/core/modules/menu/lib/Drupal/menu/Tests/MenuNodeTest.php
index 28ca832..4d2d1ad 100644
--- a/core/modules/menu/lib/Drupal/menu/Tests/MenuNodeTest.php
+++ b/core/modules/menu/lib/Drupal/menu/Tests/MenuNodeTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test menu settings for nodes.
  */
 class MenuNodeTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('menu');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -24,7 +32,7 @@ class MenuNodeTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('menu');
+    parent::setUp();
 
     $this->admin_user = $this->drupalCreateUser(array(
       'access administration pages',
diff --git a/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php b/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php
index e8fce50..579b09e 100644
--- a/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php
+++ b/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php
@@ -10,6 +10,14 @@ namespace Drupal\menu\Tests;
 use Drupal\simpletest\WebTestBase;
 
 class MenuTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('menu');
+
   protected $profile = 'standard';
 
   protected $big_user;
@@ -26,7 +34,8 @@ class MenuTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('menu');
+    parent::setUp();
+
     // Create users.
     $this->big_user = $this->drupalCreateUser(array('access administration pages', 'administer blocks', 'administer menu', 'create article content'));
     $this->std_user = $this->drupalCreateUser(array());
diff --git a/core/modules/node/lib/Drupal/node/Tests/MultiStepNodeFormBasicOptionsTest.php b/core/modules/node/lib/Drupal/node/Tests/MultiStepNodeFormBasicOptionsTest.php
index d84d1f3..abb31f3 100644
--- a/core/modules/node/lib/Drupal/node/Tests/MultiStepNodeFormBasicOptionsTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/MultiStepNodeFormBasicOptionsTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test multistep node forms basic options.
  */
 class MultiStepNodeFormBasicOptionsTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('poll');
+
   public static function getInfo() {
     return array(
       'name' => 'Multistep node form basic options',
@@ -22,7 +30,8 @@ class MultiStepNodeFormBasicOptionsTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('poll');
+    parent::setUp();
+
     $web_user = $this->drupalCreateUser(array('administer nodes', 'create poll content'));
     $this->drupalLogin($web_user);
   }
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeAccessBaseTableTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeAccessBaseTableTest.php
index 10cdc54..e5253a8 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeAccessBaseTableTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeAccessBaseTableTest.php
@@ -11,6 +11,14 @@ namespace Drupal\node\Tests;
  * Tests for Node Access with a non-node base table.
  */
 class NodeAccessBaseTableTest extends NodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node_access_test');
+
   // Requires tags taxonomy field.
   protected $profile = 'standard';
 
@@ -26,7 +34,8 @@ class NodeAccessBaseTableTest extends NodeTestBase {
    * Enable modules and create user with specific permissions.
    */
   public function setUp() {
-    parent::setUp('node_access_test');
+    parent::setUp();
+
     node_access_rebuild();
     variable_set('node_access_test_private', TRUE);
   }
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeAccessFieldTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeAccessFieldTest.php
index cc7d792..3d11e26 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeAccessFieldTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeAccessFieldTest.php
@@ -12,6 +12,13 @@ namespace Drupal\node\Tests;
  */
 class NodeAccessFieldTest extends NodeTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node_access_test', 'field_ui');
+
   public static function getInfo() {
     return array(
       'name' => 'Node access and fields',
@@ -21,7 +28,8 @@ class NodeAccessFieldTest extends NodeTestBase {
   }
 
   public function setUp() {
-    parent::setUp('node_access_test', 'field_ui');
+    parent::setUp();
+
     node_access_rebuild();
 
     // Create some users.
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php
index 77b96d6..8a6ce99 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php
@@ -11,6 +11,14 @@ namespace Drupal\node\Tests;
  * Test case to verify node_access functionality for multiple languages.
  */
 class NodeAccessLanguageTest extends NodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language', 'node_access_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Node access language',
@@ -30,7 +38,8 @@ class NodeAccessLanguageTest extends NodeTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('language', 'node_access_test'));
+    parent::setUp();
+
     // Clear permissions for authenticated users.
     db_delete('role_permission')
       ->condition('rid', DRUPAL_AUTHENTICATED_RID)
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeAccessPagerTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeAccessPagerTest.php
index 42c32d3..640f9e0 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeAccessPagerTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeAccessPagerTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class NodeAccessPagerTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node_access_test', 'comment', 'forum');
+
   public static function getInfo() {
     return array(
       'name' => 'Node access pagination',
@@ -23,7 +30,8 @@ class NodeAccessPagerTest extends WebTestBase {
   }
 
   public function setUp() {
-    parent::setUp('node_access_test', 'comment', 'forum');
+    parent::setUp();
+
     node_access_rebuild();
     $this->web_user = $this->drupalCreateUser(array('access content', 'access comments', 'node test view'));
   }
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeAccessRecordsTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeAccessRecordsTest.php
index 7bd8c1d..4c5598a 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeAccessRecordsTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeAccessRecordsTest.php
@@ -11,6 +11,14 @@ namespace Drupal\node\Tests;
  * Test case to verify hook_node_access_records functionality.
  */
 class NodeAccessRecordsTest extends NodeTestBase {
+
+  /**
+   * Enable a module that implements node access API hooks and alter hook.
+   *
+   * @var array
+   */
+  public static $modules = array('node_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Node access records',
@@ -19,13 +27,6 @@ class NodeAccessRecordsTest extends NodeTestBase {
     );
   }
 
-  function setUp() {
-    // Enable dummy module that implements hook_node_grants(),
-    // hook_node_access_records(), hook_node_grants_alter() and
-    // hook_node_access_records_alter().
-    parent::setUp('node_test');
-  }
-
   /**
    * Create a node and test the creation of node access rules.
    */
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php
index 6ff9b72..0c86de2 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php
@@ -11,6 +11,14 @@ namespace Drupal\node\Tests;
  * Functional tests for the node module blocks.
  */
 class NodeBlockFunctionalTest extends NodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   public static function getInfo() {
     return array(
       'name' => 'Node blocks',
@@ -20,7 +28,7 @@ class NodeBlockFunctionalTest extends NodeTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block'));
+    parent::setUp();
 
     // Create users and test node.
     $this->admin_user = $this->drupalCreateUser(array('administer content types', 'administer nodes', 'administer blocks'));
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeBlockTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeBlockTest.php
index 3a72293..9aca3cf 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeBlockTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeBlockTest.php
@@ -8,6 +8,14 @@
 namespace Drupal\node\Tests;
 
 class NodeBlockTest extends NodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   public static function getInfo() {
     return array(
       'name' => 'Block availability',
@@ -17,7 +25,7 @@ class NodeBlockTest extends NodeTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block'));
+    parent::setUp();
 
     // Create and login user
     $admin_user = $this->drupalCreateUser(array('administer blocks'));
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeCreationTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeCreationTest.php
index f66b2ac..a8fbb07 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeCreationTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeCreationTest.php
@@ -11,6 +11,16 @@ use Drupal\Core\Database\Database;
 use Exception;
 
 class NodeCreationTest extends NodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * Enable dummy module that implements hook_node_insert() for exceptions.
+   *
+   * @var array
+   */
+  public static $modules = array('node_test_exception', 'dblog');
+
   public static function getInfo() {
     return array(
       'name' => 'Node creation',
@@ -20,8 +30,7 @@ class NodeCreationTest extends NodeTestBase {
   }
 
   function setUp() {
-    // Enable dummy module that implements hook_node_insert for exceptions.
-    parent::setUp(array('node_test_exception', 'dblog'));
+    parent::setUp();
 
     $web_user = $this->drupalCreateUser(array('create page content', 'edit own page content'));
     $this->drupalLogin($web_user);
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeEntityFieldQueryAlterTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeEntityFieldQueryAlterTest.php
index 5e3f0b8..2333dd9 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeEntityFieldQueryAlterTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeEntityFieldQueryAlterTest.php
@@ -12,6 +12,13 @@ namespace Drupal\node\Tests;
  */
 class NodeEntityFieldQueryAlterTest extends NodeTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node_access_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Node entity query alter',
@@ -31,7 +38,7 @@ class NodeEntityFieldQueryAlterTest extends NodeTestBase {
   protected $noAccessUser;
 
   function setUp() {
-    parent::setUp('node_access_test');
+    parent::setUp();
     node_access_rebuild();
 
     // Creating 4 nodes with an entity field so we can test that sort of query
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeFieldMultilingualTestCase.php b/core/modules/node/lib/Drupal/node/Tests/NodeFieldMultilingualTestCase.php
index df1ce3e..f51342b 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeFieldMultilingualTestCase.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeFieldMultilingualTestCase.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional test for multilingual fields.
  */
 class NodeFieldMultilingualTestCase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'language');
+
   public static function getInfo() {
     return array(
       'name' => 'Multilingual fields',
@@ -22,7 +30,7 @@ class NodeFieldMultilingualTestCase extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'language'));
+    parent::setUp();
 
     // Create Basic page node type.
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeLoadHooksTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeLoadHooksTest.php
index 4e94992..36b99da 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeLoadHooksTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeLoadHooksTest.php
@@ -11,6 +11,14 @@ namespace Drupal\node\Tests;
  * Tests for the hooks invoked during node_load().
  */
 class NodeLoadHooksTest extends NodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Node load hooks',
@@ -19,10 +27,6 @@ class NodeLoadHooksTest extends NodeTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('node_test');
-  }
-
   /**
    * Tests that hook_node_load() is invoked correctly.
    */
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeQueryAlterTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeQueryAlterTest.php
index dc6d95a..6d149dd 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeQueryAlterTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeQueryAlterTest.php
@@ -14,6 +14,13 @@ use Exception;
  */
 class NodeQueryAlterTest extends NodeTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node_access_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Node query alter',
@@ -33,7 +40,8 @@ class NodeQueryAlterTest extends NodeTestBase {
   protected $noAccessUser;
 
   function setUp() {
-    parent::setUp('node_access_test');
+    parent::setUp();
+
     node_access_rebuild();
 
     // Create some content.
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeRSSContentTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeRSSContentTest.php
index 8577b2b..97b3b25 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeRSSContentTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeRSSContentTest.php
@@ -15,6 +15,14 @@ namespace Drupal\node\Tests;
  * sitewide RSS feed at rss.xml.
  */
 class NodeRSSContentTest extends NodeTestBase {
+
+  /**
+   * Enable a module that implements hook_node_view().
+   *
+   * @var array
+   */
+  public static $modules = array('node_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Node RSS Content',
@@ -24,8 +32,7 @@ class NodeRSSContentTest extends NodeTestBase {
   }
 
   function setUp() {
-    // Enable dummy module that implements hook_node_view.
-    parent::setUp('node_test');
+    parent::setUp();
 
     // Use bypass node access permission here, because the test class uses
     // hook_grants_alter() to deny access to everyone on node_access
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeSaveTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeSaveTest.php
index 9dcebf9..116ca18 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeSaveTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeSaveTest.php
@@ -12,6 +12,13 @@ namespace Drupal\node\Tests;
  */
 class NodeSaveTest extends NodeTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Node save',
@@ -21,7 +28,8 @@ class NodeSaveTest extends NodeTestBase {
   }
 
   function setUp() {
-    parent::setUp('node_test');
+    parent::setUp();
+
     // Create a user that is allowed to post; we'll use this to test the submission.
     $web_user = $this->drupalCreateUser(array('create article content'));
     $this->drupalLogin($web_user);
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeTestBase.php b/core/modules/node/lib/Drupal/node/Tests/NodeTestBase.php
index 25eac61..3c39279 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeTestBase.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeTestBase.php
@@ -10,13 +10,16 @@ namespace Drupal\node\Tests;
 use Drupal\simpletest\WebTestBase;
 
 abstract class NodeTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node');
+
   function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    $modules[] = 'node';
-    parent::setUp($modules);
+    parent::setUp();
 
     // Create Basic page and Article node types.
     if ($this->profile != 'standard') {
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeTitleTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeTitleTest.php
index 5ebe6cf..1880d4f 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeTitleTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeTitleTest.php
@@ -11,6 +11,14 @@ namespace Drupal\node\Tests;
  * Test node title.
  */
 class NodeTitleTest extends NodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment');
+
   protected $admin_user;
 
   public static function getInfo() {
@@ -22,7 +30,8 @@ class NodeTitleTest extends NodeTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('comment'));
+    parent::setUp();
+
     $this->admin_user = $this->drupalCreateUser(array('administer nodes', 'create article content', 'create page content', 'post comments'));
     $this->drupalLogin($this->admin_user);
   }
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeTypeInitialLanguageTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeTypeInitialLanguageTest.php
index 39db014..434384f 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeTypeInitialLanguageTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeTypeInitialLanguageTest.php
@@ -11,6 +11,14 @@ namespace Drupal\node\Tests;
  * Tests related to node type initial language.
  */
 class NodeTypeInitialLanguageTest extends NodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language');
+
   public static function getInfo() {
     return array(
       'name' => 'Node type initial language',
@@ -20,7 +28,8 @@ class NodeTypeInitialLanguageTest extends NodeTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('language'));
+    parent::setUp();
+
     $web_user = $this->drupalCreateUser(array('bypass node access', 'administer content types', 'administer languages'));
     $this->drupalLogin($web_user);
   }
diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeTypeTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeTypeTest.php
index e84a930..a2ef01a 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeTypeTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeTypeTest.php
@@ -11,6 +11,14 @@ namespace Drupal\node\Tests;
  * Tests related to node types.
  */
 class NodeTypeTest extends NodeTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_ui');
+
   public static function getInfo() {
     return array(
       'name' => 'Node types',
@@ -19,10 +27,6 @@ class NodeTypeTest extends NodeTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('field_ui'));
-  }
-
   /**
    * Ensure that node type functions (node_type_get_*) work correctly.
    *
diff --git a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDFunctionalTest.php b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDFunctionalTest.php
index 8b479f0..f977de5 100644
--- a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDFunctionalTest.php
+++ b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDFunctionalTest.php
@@ -13,6 +13,14 @@ use stdClass;
  * Test discovery and login using OpenID
  */
 class OpenIDFunctionalTest extends OpenIDTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('openid_test');
+
   protected $web_user;
 
   public static function getInfo() {
@@ -24,7 +32,7 @@ class OpenIDFunctionalTest extends OpenIDTestBase {
   }
 
   function setUp() {
-    parent::setUp('openid', 'openid_test');
+    parent::setUp();
 
     // User doesn't need special permissions; only the ability to log in.
     $this->web_user = $this->drupalCreateUser(array());
diff --git a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDRegistrationTest.php b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDRegistrationTest.php
index a143d34..c46676d 100644
--- a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDRegistrationTest.php
+++ b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDRegistrationTest.php
@@ -11,6 +11,16 @@ namespace Drupal\openid\Tests;
  * Test account registration using Simple Registration and Attribute Exchange.
  */
 class OpenIDRegistrationTest extends OpenIDTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * Add language module to test with some non-built-in languages.
+   *
+   * @var array
+   */
+  public static $modules = array('openid_test', 'language');
+
   public static function getInfo() {
     return array(
       'name' => 'OpenID account registration',
@@ -20,8 +30,7 @@ class OpenIDRegistrationTest extends OpenIDTestBase {
   }
 
   function setUp() {
-    // Add language module too to test with some non-built-in languages.
-    parent::setUp('openid', 'openid_test', 'language');
+    parent::setUp();
     variable_set('user_register', USER_REGISTER_VISITORS);
   }
 
diff --git a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTest.php b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTest.php
index 595dca4..8ed7a98 100644
--- a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTest.php
+++ b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTest.php
@@ -14,6 +14,14 @@ use stdClass;
  * Test internal helper functions.
  */
 class OpenIDTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('openid');
+
   public static function getInfo() {
     return array(
       'name' => 'OpenID helper functions',
@@ -23,7 +31,7 @@ class OpenIDTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('openid');
+    parent::setUp();
     module_load_include('inc', 'openid');
   }
 
diff --git a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php
index 302c159..3a01d33 100644
--- a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php
+++ b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php
@@ -13,14 +13,16 @@ use Drupal\simpletest\WebTestBase;
  * Base class for OpenID tests.
  */
 abstract class OpenIDTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'openid');
+
   function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    $modules[] = 'block';
-    $modules[] = 'openid';
-    parent::setUp($modules);
+    parent::setUp();
 
     // Enable user login block.
     db_merge('block')
diff --git a/core/modules/path/lib/Drupal/path/Tests/PathAliasTest.php b/core/modules/path/lib/Drupal/path/Tests/PathAliasTest.php
index 5444d2b..dcaf945 100644
--- a/core/modules/path/lib/Drupal/path/Tests/PathAliasTest.php
+++ b/core/modules/path/lib/Drupal/path/Tests/PathAliasTest.php
@@ -11,6 +11,14 @@ namespace Drupal\path\Tests;
  * Tests path alias functionality.
  */
 class PathAliasTest extends PathTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('path');
+
   public static function getInfo() {
     return array(
       'name' => 'Path alias functionality',
@@ -20,7 +28,7 @@ class PathAliasTest extends PathTestBase {
   }
 
   function setUp() {
-    parent::setUp('path');
+    parent::setUp();
 
     // Create test user and login.
     $web_user = $this->drupalCreateUser(array('create page content', 'edit own page content', 'administer url aliases', 'create url aliases'));
diff --git a/core/modules/path/lib/Drupal/path/Tests/PathLanguageTest.php b/core/modules/path/lib/Drupal/path/Tests/PathLanguageTest.php
index d550575..09518ab 100644
--- a/core/modules/path/lib/Drupal/path/Tests/PathLanguageTest.php
+++ b/core/modules/path/lib/Drupal/path/Tests/PathLanguageTest.php
@@ -11,6 +11,14 @@ namespace Drupal\path\Tests;
  * Tests URL aliases for translated nodes.
  */
 class PathLanguageTest extends PathTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('path', 'locale', 'translation');
+
   public static function getInfo() {
     return array(
       'name' => 'Path aliases with translated nodes',
@@ -20,7 +28,7 @@ class PathLanguageTest extends PathTestBase {
   }
 
   function setUp() {
-    parent::setUp('path', 'locale', 'translation');
+    parent::setUp();
 
     // Create and login user.
     $this->web_user = $this->drupalCreateUser(array('edit any page content', 'create page content', 'administer url aliases', 'create url aliases', 'administer languages', 'translate content', 'access administration pages'));
diff --git a/core/modules/path/lib/Drupal/path/Tests/PathLanguageUiTest.php b/core/modules/path/lib/Drupal/path/Tests/PathLanguageUiTest.php
index f1f56d6..bd0d279 100644
--- a/core/modules/path/lib/Drupal/path/Tests/PathLanguageUiTest.php
+++ b/core/modules/path/lib/Drupal/path/Tests/PathLanguageUiTest.php
@@ -11,6 +11,14 @@ namespace Drupal\path\Tests;
  * Tests the user interface for creating path aliases, with languages.
  */
 class PathLanguageUiTest extends PathTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('path', 'locale');
+
   public static function getInfo() {
     return array(
       'name' => 'Path aliases with languages',
@@ -20,7 +28,7 @@ class PathLanguageUiTest extends PathTestBase {
   }
 
   function setUp() {
-    parent::setUp('path', 'locale');
+    parent::setUp();
 
     // Create and login user.
     $web_user = $this->drupalCreateUser(array('edit any page content', 'create page content', 'administer url aliases', 'create url aliases', 'administer languages', 'access administration pages'));
diff --git a/core/modules/path/lib/Drupal/path/Tests/PathTaxonomyTermTest.php b/core/modules/path/lib/Drupal/path/Tests/PathTaxonomyTermTest.php
index fffb7ea..421870d 100644
--- a/core/modules/path/lib/Drupal/path/Tests/PathTaxonomyTermTest.php
+++ b/core/modules/path/lib/Drupal/path/Tests/PathTaxonomyTermTest.php
@@ -11,6 +11,14 @@ namespace Drupal\path\Tests;
  * Tests URL aliases for taxonomy terms.
  */
 class PathTaxonomyTermTest extends PathTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('taxonomy');
+
   public static function getInfo() {
     return array(
       'name' => 'Taxonomy term URL aliases',
@@ -20,7 +28,7 @@ class PathTaxonomyTermTest extends PathTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('taxonomy'));
+    parent::setUp();
 
     // Create a Tags vocabulary for the Article node type.
     $vocabulary = entity_create('taxonomy_vocabulary', array(
diff --git a/core/modules/path/lib/Drupal/path/Tests/PathTestBase.php b/core/modules/path/lib/Drupal/path/Tests/PathTestBase.php
index 4802572..97f3f81 100644
--- a/core/modules/path/lib/Drupal/path/Tests/PathTestBase.php
+++ b/core/modules/path/lib/Drupal/path/Tests/PathTestBase.php
@@ -13,14 +13,16 @@ use Drupal\simpletest\WebTestBase;
  * Provides a base class for testing the Path module.
  */
 abstract class PathTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'path');
+
   function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    $modules[] = 'node';
-    $modules[] = 'path';
-    parent::setUp($modules);
+    parent::setUp();
 
     // Create Basic page and Article node types.
     if ($this->profile != 'standard') {
diff --git a/core/modules/php/lib/Drupal/php/Tests/PhpTestBase.php b/core/modules/php/lib/Drupal/php/Tests/PhpTestBase.php
index 675b146..c35fd30 100644
--- a/core/modules/php/lib/Drupal/php/Tests/PhpTestBase.php
+++ b/core/modules/php/lib/Drupal/php/Tests/PhpTestBase.php
@@ -13,10 +13,18 @@ use Drupal\simpletest\WebTestBase;
  * Defines a base PHP test case class.
  */
 abstract class PhpTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('php');
+
   protected $php_code_format;
 
   function setUp() {
-    parent::setUp('php');
+    parent::setUp();
 
     // Create Basic page node type.
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php
index 6538015..7d9dcd6 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php
@@ -8,6 +8,14 @@
 namespace Drupal\poll\Tests;
 
 class PollBlockTest extends PollTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   public static function getInfo() {
     return array(
       'name' => 'Block availability',
@@ -17,7 +25,7 @@ class PollBlockTest extends PollTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block'));
+    parent::setUp();
 
     // Create and login user
     $admin_user = $this->drupalCreateUser(array('administer blocks'));
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollJsAddChoiceTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollJsAddChoiceTest.php
index 7410958..6d2d615 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollJsAddChoiceTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollJsAddChoiceTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class PollJsAddChoiceTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('poll');
+
   public static function getInfo() {
     return array(
       'name' => 'Poll add choice',
@@ -22,10 +29,6 @@ class PollJsAddChoiceTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('poll'));
-  }
-
   /**
    * Test adding a new choice.
    */
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollTestBase.php b/core/modules/poll/lib/Drupal/poll/Tests/PollTestBase.php
index c2ed0a4..cd519b8 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollTestBase.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollTestBase.php
@@ -10,15 +10,13 @@ namespace Drupal\poll\Tests;
 use Drupal\simpletest\WebTestBase;
 
 abstract class PollTestBase extends WebTestBase {
-  function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    $modules[] = 'node';
-    $modules[] = 'poll';
-    parent::setUp($modules);
-  }
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'poll');
 
   /**
    * Creates a poll.
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollTranslateTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollTranslateTest.php
index ee1d4d7..819b5f7 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollTranslateTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollTranslateTest.php
@@ -11,6 +11,14 @@ namespace Drupal\poll\Tests;
  * Tests poll translation logic.
  */
 class PollTranslateTest extends PollTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('translation');
+
   public static function getInfo() {
     return array(
       'name' => 'Poll translation',
@@ -19,10 +27,6 @@ class PollTranslateTest extends PollTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('translation'));
-  }
-
   /**
    * Tests poll creation and translation.
    *
diff --git a/core/modules/rdf/lib/Drupal/rdf/Tests/CommentAttributesTest.php b/core/modules/rdf/lib/Drupal/rdf/Tests/CommentAttributesTest.php
index d4df881..e765436 100644
--- a/core/modules/rdf/lib/Drupal/rdf/Tests/CommentAttributesTest.php
+++ b/core/modules/rdf/lib/Drupal/rdf/Tests/CommentAttributesTest.php
@@ -14,6 +14,13 @@ use Drupal\comment\Tests\CommentTestBase;
  */
 class CommentAttributesTest extends CommentTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment', 'rdf', 'rdf_test');
+
   public static function getInfo() {
     return array(
       'name' => 'RDF comment mapping',
@@ -23,7 +30,7 @@ class CommentAttributesTest extends CommentTestBase {
   }
 
   public function setUp() {
-    parent::setUp('comment', 'rdf', 'rdf_test');
+    parent::setUp();
 
     $this->admin_user = $this->drupalCreateUser(array('administer content types', 'administer comments', 'administer permissions', 'administer blocks'));
     $this->web_user = $this->drupalCreateUser(array('access comments', 'post comments', 'create article content', 'access user profiles'));
diff --git a/core/modules/rdf/lib/Drupal/rdf/Tests/CrudTest.php b/core/modules/rdf/lib/Drupal/rdf/Tests/CrudTest.php
index 8716b19..3e52bd9 100644
--- a/core/modules/rdf/lib/Drupal/rdf/Tests/CrudTest.php
+++ b/core/modules/rdf/lib/Drupal/rdf/Tests/CrudTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the RDF mapping CRUD functions.
  */
 class CrudTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('rdf', 'rdf_test');
+
   public static function getInfo() {
     return array(
       'name' => 'RDF mapping CRUD functions',
@@ -21,10 +29,6 @@ class CrudTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('rdf', 'rdf_test');
-  }
-
   /**
    * Tests inserting, loading, updating, and deleting RDF mappings.
    */
diff --git a/core/modules/rdf/lib/Drupal/rdf/Tests/GetNamespacesTest.php b/core/modules/rdf/lib/Drupal/rdf/Tests/GetNamespacesTest.php
index 9bfe966..36a2885 100644
--- a/core/modules/rdf/lib/Drupal/rdf/Tests/GetNamespacesTest.php
+++ b/core/modules/rdf/lib/Drupal/rdf/Tests/GetNamespacesTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for RDF namespaces XML serialization.
  */
 class GetNamespacesTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('rdf', 'rdf_test');
+
   public static function getInfo() {
     return array(
       'name' => 'RDF namespaces serialization test',
@@ -21,10 +29,6 @@ class GetNamespacesTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('rdf', 'rdf_test');
-  }
-
   /**
    * Tests RDF namespaces.
    */
diff --git a/core/modules/rdf/lib/Drupal/rdf/Tests/GetRdfNamespacesTest.php b/core/modules/rdf/lib/Drupal/rdf/Tests/GetRdfNamespacesTest.php
index 73abc1e..cca794f 100644
--- a/core/modules/rdf/lib/Drupal/rdf/Tests/GetRdfNamespacesTest.php
+++ b/core/modules/rdf/lib/Drupal/rdf/Tests/GetRdfNamespacesTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for RDF namespaces declaration with hook_rdf_namespaces().
  */
 class GetRdfNamespacesTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('rdf', 'rdf_test');
+
   public static function getInfo() {
     return array(
       'name' => 'RDF namespaces',
@@ -21,10 +29,6 @@ class GetRdfNamespacesTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('rdf', 'rdf_test');
-  }
-
   /**
    * Tests getting RDF namesapces.
    */
diff --git a/core/modules/rdf/lib/Drupal/rdf/Tests/MappingDefinitionTest.php b/core/modules/rdf/lib/Drupal/rdf/Tests/MappingDefinitionTest.php
index 8d646c3..f4c7028 100644
--- a/core/modules/rdf/lib/Drupal/rdf/Tests/MappingDefinitionTest.php
+++ b/core/modules/rdf/lib/Drupal/rdf/Tests/MappingDefinitionTest.php
@@ -13,6 +13,14 @@ use Drupal\taxonomy\Tests\TaxonomyTestBase;
  * Tests the RDF mapping definition functionality.
  */
 class MappingDefinitionTest extends TaxonomyTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('rdf', 'rdf_test');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -23,10 +31,6 @@ class MappingDefinitionTest extends TaxonomyTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('rdf', 'rdf_test');
-  }
-
   /**
    * Create a node of type article and test whether the RDF mapping defined for
    * this node type in rdf_test.module is used in the node page.
diff --git a/core/modules/rdf/lib/Drupal/rdf/Tests/MappingHookTest.php b/core/modules/rdf/lib/Drupal/rdf/Tests/MappingHookTest.php
index 1ee8436..e29d545 100644
--- a/core/modules/rdf/lib/Drupal/rdf/Tests/MappingHookTest.php
+++ b/core/modules/rdf/lib/Drupal/rdf/Tests/MappingHookTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the RDF mapping hook.
  */
 class MappingHookTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('rdf', 'rdf_test', 'field_test');
+
   public static function getInfo() {
     return array(
       'name' => 'RDF mapping hook',
@@ -21,10 +29,6 @@ class MappingHookTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('rdf', 'rdf_test', 'field_test');
-  }
-
   /**
    * Tests that hook_rdf_mapping() correctly returns and processes mapping.
    */
diff --git a/core/modules/rdf/lib/Drupal/rdf/Tests/RdfaMarkupTest.php b/core/modules/rdf/lib/Drupal/rdf/Tests/RdfaMarkupTest.php
index 024bb5d..a7ea426 100644
--- a/core/modules/rdf/lib/Drupal/rdf/Tests/RdfaMarkupTest.php
+++ b/core/modules/rdf/lib/Drupal/rdf/Tests/RdfaMarkupTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests RDFa markup generation.
  */
 class RdfaMarkupTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('rdf', 'field_test', 'rdf_test');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -23,10 +31,6 @@ class RdfaMarkupTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('rdf', 'field_test', 'rdf_test');
-  }
-
   /**
    * Tests rdf_rdfa_attributes().
    */
diff --git a/core/modules/rdf/lib/Drupal/rdf/Tests/TrackerAttributesTest.php b/core/modules/rdf/lib/Drupal/rdf/Tests/TrackerAttributesTest.php
index fdac254..f5e306c 100644
--- a/core/modules/rdf/lib/Drupal/rdf/Tests/TrackerAttributesTest.php
+++ b/core/modules/rdf/lib/Drupal/rdf/Tests/TrackerAttributesTest.php
@@ -14,6 +14,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the RDF tracker page mapping.
  */
 class TrackerAttributesTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('rdf', 'rdf_test', 'tracker');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -25,7 +33,8 @@ class TrackerAttributesTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('rdf', 'rdf_test', 'tracker');
+    parent::setUp();
+
     // Enable anonymous posting of content.
     user_role_change_permissions(DRUPAL_ANONYMOUS_RID, array(
       'create article content' => TRUE,
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchBlockTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchBlockTest.php
index d2eac83..93bb9a6 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchBlockTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchBlockTest.php
@@ -8,6 +8,14 @@
 namespace Drupal\search\Tests;
 
 class SearchBlockTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   public static function getInfo() {
     return array(
       'name' => 'Block availability',
@@ -17,7 +25,7 @@ class SearchBlockTest extends SearchTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block'));
+    parent::setUp();
 
     // Create and login user
     $admin_user = $this->drupalCreateUser(array('administer blocks', 'search content'));
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchCommentCountToggleTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchCommentCountToggleTest.php
index ecf16d2..cb35b06 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchCommentCountToggleTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchCommentCountToggleTest.php
@@ -18,6 +18,14 @@ namespace Drupal\search\Tests;
  * - Nodes with comment status set to Hidden should never show comment counts
  */
 class SearchCommentCountToggleTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment');
+
   // Requires node types, comment config, filter formats.
   protected $profile = 'standard';
 
@@ -33,7 +41,7 @@ class SearchCommentCountToggleTest extends SearchTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('comment'));
+    parent::setUp();
 
     // Create searching user.
     $this->searching_user = $this->drupalCreateUser(array('search content', 'access content', 'access comments', 'skip comment approval'));
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchCommentTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchCommentTest.php
index 16e74e5..59e5a27 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchCommentTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchCommentTest.php
@@ -11,6 +11,14 @@ namespace Drupal\search\Tests;
  * Test integration searching comments.
  */
 class SearchCommentTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment');
+
   protected $profile = 'standard';
 
   protected $admin_user;
@@ -24,7 +32,7 @@ class SearchCommentTest extends SearchTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('comment'));
+    parent::setUp();
 
     // Create and log in an administrative user having access to the Full HTML
     // text format.
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchConfigSettingsFormTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchConfigSettingsFormTest.php
index db61585..7c123a0 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchConfigSettingsFormTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchConfigSettingsFormTest.php
@@ -11,6 +11,14 @@ namespace Drupal\search\Tests;
  * Test config page.
  */
 class SearchConfigSettingsFormTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'search_extra_type');
+
   public $search_user;
   public $search_node;
 
@@ -23,7 +31,7 @@ class SearchConfigSettingsFormTest extends SearchTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block', 'search_extra_type'));
+    parent::setUp();
 
     // Login as a user that can create and search content.
     $this->search_user = $this->drupalCreateUser(array('search content', 'administer search', 'administer nodes', 'bypass node access', 'access user profiles', 'administer users', 'administer blocks'));
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchEmbedFormTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchEmbedFormTest.php
index 84e9ffc..ff822c6 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchEmbedFormTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchEmbedFormTest.php
@@ -11,6 +11,14 @@ namespace Drupal\search\Tests;
  * Tests that we can embed a form in search results and submit it.
  */
 class SearchEmbedFormTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('search_embedded_form');
+
   /**
    * Node used for testing.
    */
@@ -30,7 +38,7 @@ class SearchEmbedFormTest extends SearchTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('search_embedded_form'));
+    parent::setUp();
 
     // Create a user and a node, and update the search index.
     $test_user = $this->drupalCreateUser(array('access content', 'search content', 'administer nodes'));
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchKeywordsConditionsTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchKeywordsConditionsTest.php
index db18ce8..87414fa 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchKeywordsConditionsTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchKeywordsConditionsTest.php
@@ -11,6 +11,14 @@ namespace Drupal\search\Tests;
  * Tests keywords and conditions.
  */
 class SearchKeywordsConditionsTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment', 'search_extra_type');
+
   public static function getInfo() {
     return array(
       'name' => 'Keywords and conditions',
@@ -20,7 +28,8 @@ class SearchKeywordsConditionsTest extends SearchTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('comment', 'search_extra_type'));
+    parent::setUp();
+
     // Create searching user.
     $this->searching_user = $this->drupalCreateUser(array('search content', 'access content', 'access comments', 'skip comment approval'));
     // Login with sufficient privileges.
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchLanguageTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchLanguageTest.php
index f117729..4047c42 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchLanguageTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchLanguageTest.php
@@ -11,6 +11,14 @@ namespace Drupal\search\Tests;
  * Test node search with multiple languages.
  */
 class SearchLanguageTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language');
+
   public static function getInfo() {
     return array(
       'name' => 'Search language selection',
@@ -20,7 +28,7 @@ class SearchLanguageTest extends SearchTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('language'));
+    parent::setUp();
 
     // Create and login user.
     $test_user = $this->drupalCreateUser(array('access content', 'search content', 'use advanced search', 'administer nodes', 'administer languages', 'access administration pages'));
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchNodeAccessTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchNodeAccessTest.php
index 955c358..19c94cb 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchNodeAccessTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchNodeAccessTest.php
@@ -11,6 +11,14 @@ namespace Drupal\search\Tests;
  * Tests node search with node access control.
  */
 class SearchNodeAccessTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node_access_test');
+
   public $test_user;
 
   public static function getInfo() {
@@ -22,7 +30,7 @@ class SearchNodeAccessTest extends SearchTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node_access_test'));
+    parent::setUp();
     node_access_rebuild();
 
     // Create a test user and log in.
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchPageOverrideTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchPageOverrideTest.php
index a604494..df72d2b 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchPageOverrideTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchPageOverrideTest.php
@@ -11,6 +11,14 @@ namespace Drupal\search\Tests;
  * Tests that hook_search_page runs.
  */
 class SearchPageOverrideTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('search_extra_type');
+
   public $search_user;
 
   public static function getInfo() {
@@ -22,7 +30,7 @@ class SearchPageOverrideTest extends SearchTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('search_extra_type'));
+    parent::setUp();
 
     // Login as a user that can create and search content.
     $this->search_user = $this->drupalCreateUser(array('search content', 'administer search'));
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchRankingTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchRankingTest.php
index 75e0628..a57e483 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchRankingTest.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchRankingTest.php
@@ -8,6 +8,14 @@
 namespace Drupal\search\Tests;
 
 class SearchRankingTest extends SearchTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('statistics', 'comment');
+
   public static function getInfo() {
     return array(
       'name' => 'Search engine ranking',
@@ -16,10 +24,6 @@ class SearchRankingTest extends SearchTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('statistics', 'comment'));
-  }
-
   function testRankings() {
     // Login with sufficient privileges.
     $this->drupalLogin($this->drupalCreateUser(array('post comments', 'skip comment approval', 'create page content')));
diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchTestBase.php b/core/modules/search/lib/Drupal/search/Tests/SearchTestBase.php
index 35da57a..1f8013a 100644
--- a/core/modules/search/lib/Drupal/search/Tests/SearchTestBase.php
+++ b/core/modules/search/lib/Drupal/search/Tests/SearchTestBase.php
@@ -10,15 +10,16 @@ namespace Drupal\search\Tests;
 use Drupal\simpletest\WebTestBase;
 
 abstract class SearchTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'search', 'dblog');
+
   function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    $modules[] = 'node';
-    $modules[] = 'search';
-    $modules[] = 'dblog';
-    parent::setUp($modules);
+    parent::setUp();
 
     // Create Basic page and Article node types.
     if ($this->profile != 'standard') {
diff --git a/core/modules/shortcut/lib/Drupal/shortcut/Tests/ShortcutTestBase.php b/core/modules/shortcut/lib/Drupal/shortcut/Tests/ShortcutTestBase.php
index 4aca686..a300866 100644
--- a/core/modules/shortcut/lib/Drupal/shortcut/Tests/ShortcutTestBase.php
+++ b/core/modules/shortcut/lib/Drupal/shortcut/Tests/ShortcutTestBase.php
@@ -16,6 +16,13 @@ use stdClass;
 abstract class ShortcutTestBase extends WebTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('toolbar', 'shortcut');
+
+  /**
    * User with permission to administer shortcuts.
    */
   protected $admin_user;
@@ -36,7 +43,7 @@ abstract class ShortcutTestBase extends WebTestBase {
   protected $set;
 
   function setUp() {
-    parent::setUp('toolbar', 'shortcut');
+    parent::setUp();
 
     // Create Basic page and Article node types.
     if ($this->profile != 'standard') {
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/Tests/BrokenSetUpTest.php b/core/modules/simpletest/lib/Drupal/simpletest/Tests/BrokenSetUpTest.php
index 866a6e9..af9303a 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/Tests/BrokenSetUpTest.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/Tests/BrokenSetUpTest.php
@@ -20,6 +20,14 @@ use Drupal\simpletest\WebTestBase;
  * @see Drupal\simpletest\WebTestBase
  */
 class BrokenSetUpTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('simpletest');
+
   public static function getInfo() {
     return array(
       'name' => 'Broken SimpleTest method',
@@ -31,7 +39,7 @@ class BrokenSetUpTest extends WebTestBase {
   function setUp() {
     // If the test is being run from the main site, set up normally.
     if (!drupal_valid_test_ua()) {
-      parent::setUp('simpletest');
+      parent::setUp();
       // Create and log in user.
       $admin_user = $this->drupalCreateUser(array('administer unit tests'));
       $this->drupalLogin($admin_user);
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/Tests/FolderTest.php b/core/modules/simpletest/lib/Drupal/simpletest/Tests/FolderTest.php
index b6ceca6..f49868b 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/Tests/FolderTest.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/Tests/FolderTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test Folder creation
  */
 class FolderTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('image');
+
   public static function getInfo() {
     return array(
       'name' => 'Testing SimpleTest setUp',
@@ -21,10 +29,6 @@ class FolderTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    return parent::setUp('image');
-  }
-
   function testFolderSetup() {
     $directory = file_default_scheme() . '://styles';
     $this->assertTrue(file_prepare_directory($directory, FALSE), "Directory created.");
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/Tests/InstallationProfileModuleTestsTest.php b/core/modules/simpletest/lib/Drupal/simpletest/Tests/InstallationProfileModuleTestsTest.php
index 674428d..5af5c0d 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/Tests/InstallationProfileModuleTestsTest.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/Tests/InstallationProfileModuleTestsTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Verifies that tests bundled with installation profile modules are found.
  */
 class InstallationProfileModuleTestsTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('simpletest');
+
   /**
    * Use the Testing profile.
    *
@@ -36,7 +44,7 @@ class InstallationProfileModuleTestsTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('simpletest'));
+    parent::setUp();
 
     $this->admin_user = $this->drupalCreateUser(array('administer unit tests'));
     $this->drupalLogin($this->admin_user);
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/Tests/MissingCheckedRequirementsTest.php b/core/modules/simpletest/lib/Drupal/simpletest/Tests/MissingCheckedRequirementsTest.php
index 665b1e6..b43aece 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/Tests/MissingCheckedRequirementsTest.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/Tests/MissingCheckedRequirementsTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests missing requirements to run test.
  */
 class MissingCheckedRequirementsTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('simpletest');
+
   public static function getInfo() {
     return array(
       'name' => 'Broken requirements test',
@@ -22,7 +30,7 @@ class MissingCheckedRequirementsTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('simpletest');
+    parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer unit tests'));
     $this->drupalLogin($admin_user);
   }
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/Tests/OtherInstallationProfileModuleTestsTest.php b/core/modules/simpletest/lib/Drupal/simpletest/Tests/OtherInstallationProfileModuleTestsTest.php
index a2036e5..7f01be2 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/Tests/OtherInstallationProfileModuleTestsTest.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/Tests/OtherInstallationProfileModuleTestsTest.php
@@ -15,6 +15,14 @@ use Drupal\simpletest\WebTestBase;
  * @see SimpleTestInstallationProfileModuleTestsTestCase
  */
 class OtherInstallationProfileModuleTestsTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('simpletest');
+
   /**
    * Use the Minimal profile.
    *
@@ -35,7 +43,7 @@ class OtherInstallationProfileModuleTestsTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('simpletest'));
+    parent::setUp();
 
     $this->admin_user = $this->drupalCreateUser(array('administer unit tests'));
     $this->drupalLogin($this->admin_user);
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/Tests/SimpleTestTest.php b/core/modules/simpletest/lib/Drupal/simpletest/Tests/SimpleTestTest.php
index 938054a..3f5f264 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/Tests/SimpleTestTest.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/Tests/SimpleTestTest.php
@@ -11,6 +11,14 @@ use Drupal\simpletest\WebTestBase;
 use SimpleXMLElement;
 
 class SimpleTestTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('simpletest');
+
   /**
    * The results array that has been parsed by getTestResults().
    */
@@ -32,14 +40,14 @@ class SimpleTestTest extends WebTestBase {
 
   function setUp() {
     if (!$this->inCURL()) {
-      parent::setUp('simpletest');
-
+      parent::setUp();
       // Create and login user
       $admin_user = $this->drupalCreateUser(array('administer unit tests'));
       $this->drupalLogin($admin_user);
     }
     else {
-      parent::setUp('non_existent_module');
+      self::$modules = array('non_existent_module');
+      parent::setUp();
     }
   }
 
diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsAdminTest.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsAdminTest.php
index d1a8d9c..a24ec95 100644
--- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsAdminTest.php
+++ b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsAdminTest.php
@@ -15,6 +15,13 @@ use Drupal\simpletest\WebTestBase;
 class StatisticsAdminTest extends WebTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'statistics');
+
+  /**
    * A user that has permission to administer and access statistics.
    *
    * @var object|FALSE
@@ -39,7 +46,7 @@ class StatisticsAdminTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'statistics'));
+    parent::setUp();
 
     // Create Basic page node type.
     if ($this->profile != 'standard') {
diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsLoggingTest.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsLoggingTest.php
index 8ac2fb6..cb0a08e 100644
--- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsLoggingTest.php
+++ b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsLoggingTest.php
@@ -17,6 +17,14 @@ use PDO;
  * want to test requests from an anonymous user.
  */
 class StatisticsLoggingTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('statistics', 'block');
+
   public static function getInfo() {
     return array(
       'name' => 'Statistics logging tests',
@@ -26,7 +34,7 @@ class StatisticsLoggingTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('statistics', 'block'));
+    parent::setUp();
 
     // Create Basic page node type.
     if ($this->profile != 'standard') {
diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php
index c1a4bc1..b7e2d31 100644
--- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php
+++ b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php
@@ -14,8 +14,15 @@ use Drupal\simpletest\WebTestBase;
  */
 abstract class StatisticsTestBase extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'block', 'statistics');
+
   function setUp() {
-    parent::setUp(array('node', 'block', 'statistics'));
+    parent::setUp();
 
     // Create Basic page node type.
     if ($this->profile != 'standard') {
diff --git a/core/modules/syslog/lib/Drupal/syslog/Tests/SyslogTest.php b/core/modules/syslog/lib/Drupal/syslog/Tests/SyslogTest.php
index dd719bc..1bb9283 100644
--- a/core/modules/syslog/lib/Drupal/syslog/Tests/SyslogTest.php
+++ b/core/modules/syslog/lib/Drupal/syslog/Tests/SyslogTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the Syslog module functionality.
  */
 class SyslogTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('syslog');
+
   public static function getInfo() {
     return array(
       'name' => 'Syslog functionality',
@@ -21,10 +29,6 @@ class SyslogTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('syslog');
-  }
-
   /**
    * Tests the syslog settings page.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Actions/LoopTest.php b/core/modules/system/lib/Drupal/system/Tests/Actions/LoopTest.php
index 2a6ff0a..86d99f9 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Actions/LoopTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Actions/LoopTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test actions executing in a potential loop, and make sure they abort properly.
  */
 class LoopTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('dblog', 'actions_loop_test');
+
   protected $aid;
 
   public static function getInfo() {
@@ -23,10 +31,6 @@ class LoopTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('dblog', 'actions_loop_test');
-  }
-
   /**
    * Set up a loop with 3 - 12 recursions, and see if it aborts properly.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Ajax/AjaxTestBase.php b/core/modules/system/lib/Drupal/system/Tests/Ajax/AjaxTestBase.php
index f517a23..1aef68a 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Ajax/AjaxTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Ajax/AjaxTestBase.php
@@ -13,13 +13,13 @@ use Drupal\simpletest\WebTestBase;
  * Base test system for AJAX tests.
  */
 abstract class AjaxTestBase extends WebTestBase {
-  function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    parent::setUp(array_unique(array_merge(array('ajax_test', 'ajax_forms_test'), $modules)));
-  }
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('ajax_test', 'ajax_forms_test');
 
   /**
    * Assert that a command with the required properties exists within the array of Ajax commands returned by the server.
diff --git a/core/modules/system/lib/Drupal/system/Tests/Ajax/MultiFormTest.php b/core/modules/system/lib/Drupal/system/Tests/Ajax/MultiFormTest.php
index fa0fc32..dd4700c 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Ajax/MultiFormTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Ajax/MultiFormTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\Ajax;
  * Tests that Ajax-enabled forms work when multiple instances of the same form are on a page.
  */
 class MultiFormTest extends AjaxTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -22,7 +30,7 @@ class MultiFormTest extends AjaxTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('form_test'));
+    parent::setUp();
 
     // Create a multi-valued field for 'page' nodes to use for Ajax testing.
     $field_name = 'field_ajax_test';
diff --git a/core/modules/system/lib/Drupal/system/Tests/Batch/PageTest.php b/core/modules/system/lib/Drupal/system/Tests/Batch/PageTest.php
index bef4812..b901239 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Batch/PageTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Batch/PageTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for the Batch API Progress page.
  */
 class PageTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('batch_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Batch progress page',
@@ -21,10 +29,6 @@ class PageTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('batch_test');
-  }
-
   /**
    * Tests that the batch API progress page uses the correct theme.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Batch/ProcessingTest.php b/core/modules/system/lib/Drupal/system/Tests/Batch/ProcessingTest.php
index 13315ca..af0a1de 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Batch/ProcessingTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Batch/ProcessingTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for the Batch API.
  */
 class ProcessingTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('batch_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Batch processing',
@@ -21,10 +29,6 @@ class ProcessingTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('batch_test');
-  }
-
   /**
    * Test batches triggered outside of form submission.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Bootstrap/HookBootExitTest.php b/core/modules/system/lib/Drupal/system/Tests/Bootstrap/HookBootExitTest.php
index 0c1f840..e75dada 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Bootstrap/HookBootExitTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Bootstrap/HookBootExitTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class HookBootExitTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('system_test', 'dblog');
+
   public static function getInfo() {
     return array(
       'name' => 'Boot and exit hook invocation',
@@ -22,10 +29,6 @@ class HookBootExitTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('system_test', 'dblog');
-  }
-
   /**
    * Test calling of hook_boot() and hook_exit().
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Bootstrap/PageCacheTest.php b/core/modules/system/lib/Drupal/system/Tests/Bootstrap/PageCacheTest.php
index 4a0cfb7..91543b9 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Bootstrap/PageCacheTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Bootstrap/PageCacheTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class PageCacheTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'system_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Page cache test',
@@ -23,7 +30,7 @@ class PageCacheTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'system_test'));
+    parent::setUp();
 
     config('system.site')
       ->set('name', 'Drupal')
diff --git a/core/modules/system/lib/Drupal/system/Tests/Bootstrap/VariableTest.php b/core/modules/system/lib/Drupal/system/Tests/Bootstrap/VariableTest.php
index cf77d23..9350243 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Bootstrap/VariableTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Bootstrap/VariableTest.php
@@ -14,9 +14,12 @@ use Drupal\simpletest\WebTestBase;
  */
 class VariableTest extends WebTestBase {
 
-  function setUp() {
-    parent::setUp('system_test');
-  }
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('system_test');
 
   public static function getInfo() {
     return array(
diff --git a/core/modules/system/lib/Drupal/system/Tests/Bundle/BundleTest.php b/core/modules/system/lib/Drupal/system/Tests/Bundle/BundleTest.php
index fef908c..4aeea00 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Bundle/BundleTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Bundle/BundleTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test bundle registration to the DIC.
  */
 class BundleTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('bundle_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Bundle Registration',
@@ -21,10 +29,6 @@ class BundleTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('bundle_test');
-  }
-
   /**
    * Test that services provided by module bundles get registered to the DIC.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Cache/InstallTest.php b/core/modules/system/lib/Drupal/system/Tests/Cache/InstallTest.php
index b6907e2..72caa5a 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Cache/InstallTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Cache/InstallTest.php
@@ -14,6 +14,14 @@ use Drupal\Core\Cache\InstallBackend;
  * Tests the behavior of the cache backend used for installing Drupal.
  */
 class InstallTest extends CacheTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('cache_test');
+
   protected $profile = 'testing';
 
   public static function getInfo() {
@@ -24,10 +32,6 @@ class InstallTest extends CacheTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('cache_test'));
-  }
-
   /**
    * Tests the behavior of the cache backend used for installing Drupal.
    *
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/AlterTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/AlterTest.php
index ac13556..b8a498c 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/AlterTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/AlterTest.php
@@ -14,6 +14,14 @@ use stdClass;
  * Tests alteration of arguments passed to drupal_alter().
  */
 class AlterTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'common_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Alter hook functionality',
@@ -22,10 +30,6 @@ class AlterTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('block', 'common_test'));
-  }
-
   function testDrupalAlter() {
     // This test depends on Bartik, so make sure that it is always the current
     // active theme.
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/CascadingStylesheetsTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/CascadingStylesheetsTest.php
index 8452c41..71ecf42 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/CascadingStylesheetsTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/CascadingStylesheetsTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the Drupal CSS system.
  */
 class CascadingStylesheetsTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language', 'common_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Cascading stylesheets',
@@ -22,7 +30,7 @@ class CascadingStylesheetsTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('language', 'common_test'));
+    parent::setUp();
     // Reset drupal_add_css() before each test.
     drupal_static_reset('drupal_add_css');
   }
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php
index 5bfb9b6..6c79890 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php
@@ -15,6 +15,13 @@ use Drupal\simpletest\WebTestBase;
 class FormatDateTest extends WebTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language');
+
+  /**
    * Arbitrary langcode for a custom language.
    */
   const LANGCODE = 'xx';
@@ -28,7 +35,7 @@ class FormatDateTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('language');
+    parent::setUp();
     variable_set('configurable_timezones', 1);
     variable_set('date_format_long', 'l, j. F Y - G:i');
     variable_set('date_format_medium', 'j. F Y - G:i');
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/GotoTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/GotoTest.php
index 16ffccd..f1c4fbe 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/GotoTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/GotoTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests drupal_goto() and hook_drupal_goto_alter().
  */
 class GotoTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('common_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Redirect functionality',
@@ -21,10 +29,6 @@ class GotoTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('common_test');
-  }
-
   /**
    * Test drupal_goto().
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/HttpRequestTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/HttpRequestTest.php
index f6c37c7..276d82e 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/HttpRequestTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/HttpRequestTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests drupal_http_request().
  */
 class HttpRequestTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('system_test', 'language');
+
   public static function getInfo() {
     return array(
       'name' => 'Drupal HTTP request',
@@ -21,10 +29,6 @@ class HttpRequestTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('system_test', 'language');
-  }
-
   function testDrupalHTTPRequest() {
     global $is_https;
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/JavaScriptTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/JavaScriptTest.php
index 9d00214..1b07174 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/JavaScriptTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/JavaScriptTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the JavaScript system.
  */
 class JavaScriptTest extends WebTestBase {
+
+  /**
+   * Enable Language and SimpleTest in the test environment.
+   *
+   * @var array
+   */
+  public static $modules = array('language', 'simpletest', 'common_test', 'path');
+
   /**
    * Store configured value for JavaScript preprocessing.
    */
@@ -27,8 +35,7 @@ class JavaScriptTest extends WebTestBase {
   }
 
   function setUp() {
-    // Enable Language and SimpleTest in the test environment.
-    parent::setUp('language', 'simpletest', 'common_test', 'path');
+    parent::setUp();
 
     // Disable preprocessing
     $config = config('system.performance');
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/RenderTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/RenderTest.php
index f80d840..ec3d95b 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/RenderTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/RenderTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests drupal_render().
  */
 class RenderTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('common_test');
+
   public static function getInfo() {
     return array(
       'name' => 'drupal_render()',
@@ -21,10 +29,6 @@ class RenderTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('common_test');
-  }
-
   /**
    * Test sorting by weight.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/SimpleTestErrorCollectorTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/SimpleTestErrorCollectorTest.php
index 352d708..2233374 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/SimpleTestErrorCollectorTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/SimpleTestErrorCollectorTest.php
@@ -15,6 +15,13 @@ use Drupal\simpletest\WebTestBase;
 class SimpleTestErrorCollectorTest extends WebTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('system_test', 'error_test');
+
+  /**
    * Errors triggered during the test.
    *
    * Errors are intercepted by the overriden implementation
@@ -32,10 +39,6 @@ class SimpleTestErrorCollectorTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('system_test', 'error_test');
-  }
-
   /**
    * Test that simpletest collects errors from the tested site.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/WriteRecordTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/WriteRecordTest.php
index 79f20a0..e032437 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Common/WriteRecordTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Common/WriteRecordTest.php
@@ -14,6 +14,14 @@ use stdClass;
  * Tests writing of data records with drupal_write_record().
  */
 class WriteRecordTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('database_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Data record write functionality',
@@ -22,10 +30,6 @@ class WriteRecordTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('database_test');
-  }
-
   /**
    * Test the drupal_write_record() API function.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Database/DatabaseTestBase.php b/core/modules/system/lib/Drupal/system/Tests/Database/DatabaseTestBase.php
index 2fff06b..c9c2d8c 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Database/DatabaseTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Database/DatabaseTestBase.php
@@ -16,13 +16,16 @@ use Drupal\simpletest\WebTestBase;
  * here.
  */
 abstract class DatabaseTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('database_test');
+
   function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    $modules[] = 'database_test';
-    parent::setUp($modules);
+    parent::setUp();
 
     $schema['test'] = drupal_get_schema('test');
     $schema['test_people'] = drupal_get_schema('test_people');
diff --git a/core/modules/system/lib/Drupal/system/Tests/Database/RangeQueryTest.php b/core/modules/system/lib/Drupal/system/Tests/Database/RangeQueryTest.php
index 57bc025..91d6c97 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Database/RangeQueryTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Database/RangeQueryTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Range query tests.
  */
 class RangeQueryTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('database_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Range query test',
@@ -21,10 +29,6 @@ class RangeQueryTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('database_test');
-  }
-
   /**
    * Confirm that range query work and return correct result.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Database/RegressionTest.php b/core/modules/system/lib/Drupal/system/Tests/Database/RegressionTest.php
index 0c36cb3..6553379 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Database/RegressionTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Database/RegressionTest.php
@@ -12,6 +12,13 @@ namespace Drupal\system\Tests\Database;
  */
 class RegressionTest extends DatabaseTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node');
+
   public static function getInfo() {
     return array(
       'name' => 'Regression tests',
@@ -20,10 +27,6 @@ class RegressionTest extends DatabaseTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('node'));
-  }
-
   /**
    * Regression test for #310447.
    *
diff --git a/core/modules/system/lib/Drupal/system/Tests/Database/SelectComplexTest.php b/core/modules/system/lib/Drupal/system/Tests/Database/SelectComplexTest.php
index 8b8e6fd..e389e28 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Database/SelectComplexTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Database/SelectComplexTest.php
@@ -12,6 +12,13 @@ namespace Drupal\system\Tests\Database;
  */
 class SelectComplexTest extends DatabaseTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node_access_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Select tests, complex',
@@ -20,10 +27,6 @@ class SelectComplexTest extends DatabaseTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('node_access_test'));
-  }
-
   /**
    * Test simple JOIN statements.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Database/TemporaryQueryTest.php b/core/modules/system/lib/Drupal/system/Tests/Database/TemporaryQueryTest.php
index 784f2db..24a61fa 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Database/TemporaryQueryTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Database/TemporaryQueryTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Temporary query tests.
  */
 class TemporaryQueryTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('database_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Temporary query test',
@@ -21,10 +29,6 @@ class TemporaryQueryTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('database_test');
-  }
-
   /**
    * Return the number of rows of a table.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/DownloadTest.php b/core/modules/system/lib/Drupal/system/Tests/File/DownloadTest.php
index acfa062..a2bc1e5 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/DownloadTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/DownloadTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Tests for download/file transfer functions.
  */
 class DownloadTest extends FileTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     return array(
       'name' => 'File download',
@@ -20,7 +28,7 @@ class DownloadTest extends FileTestBase {
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     // Clear out any hook calls.
     file_test_reset();
   }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/FileHookTestBase.php b/core/modules/system/lib/Drupal/system/Tests/File/FileHookTestBase.php
index 3f387fe..cde558d 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/FileHookTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/FileHookTestBase.php
@@ -12,9 +12,17 @@ namespace Drupal\system\Tests\File;
  * hooks.
  */
 abstract class FileHookTestBase extends FileTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   function setUp() {
     // Install file_test module
-    parent::setUp('file_test');
+    parent::setUp();
     // Clear out any hook calls.
     file_test_reset();
   }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/FileTestBase.php b/core/modules/system/lib/Drupal/system/Tests/File/FileTestBase.php
index b2703eb..8a33ea6 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/FileTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/FileTestBase.php
@@ -17,10 +17,7 @@ use stdClass;
 abstract class FileTestBase extends WebTestBase {
 
   function setUp() {
-    $modules = func_get_args();
-    $modules = (isset($modules[0]) && is_array($modules[0]) ? $modules[0] : $modules);
-    parent::setUp($modules);
-
+    parent::setUp();
     // Make sure that custom stream wrappers are registered.
     // @todo This has the potential to be a major bug deeply buried in File API;
     //   file_unmanaged_*() API functions and test functions are invoking native
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/MimeTypeTest.php b/core/modules/system/lib/Drupal/system/Tests/File/MimeTypeTest.php
index cb90b85..6eb2e73 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/MimeTypeTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/MimeTypeTest.php
@@ -13,9 +13,13 @@ use Drupal\simpletest\WebTestBase;
  * Tests for file_get_mimetype().
  */
 class MimeTypeTest extends WebTestBase {
-  function setUp() {
-    parent::setUp('file_test');
-  }
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
 
   public static function getInfo() {
     return array(
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileDirectoryTest.php b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileDirectoryTest.php
index 1a2ef48..89f9019 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileDirectoryTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileDirectoryTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Directory related tests.
  */
 class RemoteFileDirectoryTest extends DirectoryTest {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     $info = parent::getInfo();
     $info['group'] = 'File API (remote)';
@@ -18,7 +26,7 @@ class RemoteFileDirectoryTest extends DirectoryTest {
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     variable_set('file_default_scheme', 'dummy-remote');
   }
 }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileSaveUploadTest.php b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileSaveUploadTest.php
index dd4eb49..3e71f0a 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileSaveUploadTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileSaveUploadTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Tests the file_save_upload() function on remote filesystems.
  */
 class RemoteFileSaveUploadTest extends SaveUploadTest {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     $info = parent::getInfo();
     $info['group'] = 'File API (remote)';
@@ -18,7 +26,7 @@ class RemoteFileSaveUploadTest extends SaveUploadTest {
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     variable_set('file_default_scheme', 'dummy-remote');
   }
 }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileScanDirectoryTest.php b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileScanDirectoryTest.php
index 75fa904..279d722 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileScanDirectoryTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileScanDirectoryTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Tests the file_scan_directory() function on remote filesystems.
  */
 class RemoteFileScanDirectoryTest extends ScanDirectoryTest {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     $info = parent::getInfo();
     $info['group'] = 'File API (remote)';
@@ -18,7 +26,7 @@ class RemoteFileScanDirectoryTest extends ScanDirectoryTest {
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     variable_set('file_default_scheme', 'dummy-remote');
   }
 }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedCopyTest.php b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedCopyTest.php
index 5aff075..3f58ef4 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedCopyTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedCopyTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Unmanaged copy related tests on remote filesystems.
  */
 class RemoteFileUnmanagedCopyTest extends UnmanagedCopyTest {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     $info = parent::getInfo();
     $info['group'] = 'File API (remote)';
@@ -18,7 +26,7 @@ class RemoteFileUnmanagedCopyTest extends UnmanagedCopyTest {
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     variable_set('file_default_scheme', 'dummy-remote');
   }
 }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedDeleteRecursiveTest.php b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedDeleteRecursiveTest.php
index 081dc3d..d45210e 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedDeleteRecursiveTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedDeleteRecursiveTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Deletion related tests on remote filesystems.
  */
 class RemoteFileUnmanagedDeleteRecursiveTest extends UnmanagedDeleteRecursiveTest {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     $info = parent::getInfo();
     $info['group'] = 'File API (remote)';
@@ -18,7 +26,7 @@ class RemoteFileUnmanagedDeleteRecursiveTest extends UnmanagedDeleteRecursiveTes
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     variable_set('file_default_scheme', 'dummy-remote');
   }
 }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedDeleteTest.php b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedDeleteTest.php
index 44dbf14..ea52cfe 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedDeleteTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedDeleteTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Deletion related tests on remote filesystems.
  */
 class RemoteFileUnmanagedDeleteTest extends UnmanagedDeleteTest {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     $info = parent::getInfo();
     $info['group'] = 'File API (remote)';
@@ -18,7 +26,7 @@ class RemoteFileUnmanagedDeleteTest extends UnmanagedDeleteTest {
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     variable_set('file_default_scheme', 'dummy-remote');
   }
 }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedMoveTest.php b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedMoveTest.php
index fd53fd8..c900fcf 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedMoveTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedMoveTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Unmanaged move related tests on remote filesystems.
  */
 class RemoteFileUnmanagedMoveTest extends UnmanagedMoveTest {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     $info = parent::getInfo();
     $info['group'] = 'File API (remote)';
@@ -18,7 +26,7 @@ class RemoteFileUnmanagedMoveTest extends UnmanagedMoveTest {
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     variable_set('file_default_scheme', 'dummy-remote');
   }
 }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedSaveDataTest.php b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedSaveDataTest.php
index 3463e6a..b66932b 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedSaveDataTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/RemoteFileUnmanagedSaveDataTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Tests the file_unmanaged_save_data() function on remote filesystems.
  */
 class RemoteFileUnmanagedSaveDataTest extends UnmanagedSaveDataTest {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     $info = parent::getInfo();
     $info['group'] = 'File API (remote)';
@@ -18,7 +26,7 @@ class RemoteFileUnmanagedSaveDataTest extends UnmanagedSaveDataTest {
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     variable_set('file_default_scheme', 'dummy-remote');
   }
 }
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/ScanDirectoryTest.php b/core/modules/system/lib/Drupal/system/Tests/File/ScanDirectoryTest.php
index dda40fd..4954d8e 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/ScanDirectoryTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/ScanDirectoryTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Tests the file_scan_directory() function.
  */
 class ScanDirectoryTest extends FileTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     return array(
       'name' => 'File scan directory',
@@ -20,7 +28,7 @@ class ScanDirectoryTest extends FileTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('file_test'));
+    parent::setUp();
     $this->path = drupal_get_path('module', 'simpletest') . '/files';
   }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/StreamWrapperTest.php b/core/modules/system/lib/Drupal/system/Tests/File/StreamWrapperTest.php
index 5a4d58d..0cbe2c0 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/StreamWrapperTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/StreamWrapperTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class StreamWrapperTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   protected $scheme = 'dummy';
   protected $classname = 'Drupal\file_test\DummyStreamWrapper';
 
@@ -26,7 +33,7 @@ class StreamWrapperTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('file_test');
+    parent::setUp();
     drupal_static_reset('file_get_stream_wrappers');
   }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/UrlRewritingTest.php b/core/modules/system/lib/Drupal/system/Tests/File/UrlRewritingTest.php
index eb0d99a..4273f7f 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/UrlRewritingTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/UrlRewritingTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\File;
  * Tests for file URL rewriting.
  */
 class UrlRewritingTest extends FileTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file_test');
+
   public static function getInfo() {
     return array(
       'name' => 'File URL rewriting',
@@ -19,10 +27,6 @@ class UrlRewritingTest extends FileTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('file_test');
-  }
-
   /**
    * Test the generating of rewritten shipped file URLs.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/AlterTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/AlterTest.php
index 6c6c44b..3e45d5b 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/AlterTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/AlterTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test form alter hooks.
  */
 class AlterTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form alter hooks',
@@ -21,10 +29,6 @@ class AlterTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('block', 'form_test'));
-  }
-
   /**
    * Tests execution order of hook_form_alter() and hook_form_FORM_ID_alter().
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/ArbitraryRebuildTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/ArbitraryRebuildTest.php
index d6be705..824f829 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/ArbitraryRebuildTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/ArbitraryRebuildTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests rebuilding of arbitrary forms by altering them.
  */
 class ArbitraryRebuildTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Rebuild arbitrary forms',
@@ -22,7 +30,8 @@ class ArbitraryRebuildTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('form_test');
+    parent::setUp();
+
     // Auto-create a field for testing.
     $field = array(
       'field_name' => 'test_multiple',
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/CheckboxTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/CheckboxTest.php
index ad22954..df0171b 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/CheckboxTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/CheckboxTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class CheckboxTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form API checkbox',
@@ -22,10 +29,6 @@ class CheckboxTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   function testFormCheckbox() {
     // Ensure that the checked state is determined and rendered correctly for
     // tricky combinations of default and return values.
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/ElementTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/ElementTest.php
index cac8d2c..3c4c4af 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/ElementTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/ElementTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests building and processing of core form elements.
  */
 class ElementTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Element processing',
@@ -21,10 +29,6 @@ class ElementTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('form_test'));
-  }
-
   /**
    * Tests placeholder text for elements that support placeholders.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/ElementsLabelsTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/ElementsLabelsTest.php
index 982f182..7fcc45f 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/ElementsLabelsTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/ElementsLabelsTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class ElementsLabelsTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form element and label output test',
@@ -22,10 +29,6 @@ class ElementsLabelsTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Test form elements, labels, title attibutes and required marks output
    * correctly and have the correct label option class if needed.
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/ElementsTableSelectTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/ElementsTableSelectTest.php
index 2748836..67c0694 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/ElementsTableSelectTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/ElementsTableSelectTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class ElementsTableSelectTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Tableselect form element type test',
@@ -22,11 +29,6 @@ class ElementsTableSelectTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
-
   /**
    * Test the display of checkboxes when #multiple is TRUE.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/ElementsVerticalTabsTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/ElementsVerticalTabsTest.php
index b517ffc..9c16ec3 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/ElementsVerticalTabsTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/ElementsVerticalTabsTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class ElementsVerticalTabsTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Vertical tabs form element type test',
@@ -22,10 +29,6 @@ class ElementsVerticalTabsTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Ensures that vertical-tabs.js is included before collapse.js.
    *
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/EmailTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/EmailTest.php
index 7cb6b9b..f0dcd99 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/EmailTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/EmailTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests email element.
  */
 class EmailTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   protected $profile = 'testing';
 
   public static function getInfo() {
@@ -23,10 +31,6 @@ class EmailTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Tests that #type 'email' fields are properly validated.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/FileInclusionTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/FileInclusionTest.php
index 588241a..4dad937 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/FileInclusionTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/FileInclusionTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class FileInclusionTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form API file inclusion',
@@ -22,10 +29,6 @@ class FileInclusionTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Tests loading an include specified in hook_menu().
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/FormTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/FormTest.php
index 65a265a..3fc5bd4 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/FormTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/FormTest.php
@@ -11,6 +11,13 @@ use Drupal\simpletest\WebTestBase;
 
 class FormTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test', 'file');
+
   public static function getInfo() {
     return array(
       'name' => 'Form element validation',
@@ -20,7 +27,7 @@ class FormTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('form_test', 'file'));
+    parent::setUp();
 
     $filtered_html_format = array(
       'format' => 'filtered_html',
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/ProgrammaticTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/ProgrammaticTest.php
index 9919231..3f5a684 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/ProgrammaticTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/ProgrammaticTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class ProgrammaticTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Programmatic form submissions',
@@ -22,10 +29,6 @@ class ProgrammaticTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Test the programmatic form submission workflow.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/RebuildTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/RebuildTest.php
index 93d3b21..9d4c439 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/RebuildTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/RebuildTest.php
@@ -15,6 +15,14 @@ use Drupal\simpletest\WebTestBase;
  * @todo Add tests for other aspects of form rebuilding.
  */
 class RebuildTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form rebuilding',
@@ -24,7 +32,7 @@ class RebuildTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('form_test');
+    parent::setUp();
 
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/RedirectTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/RedirectTest.php
index 646e539..f11291b 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/RedirectTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/RedirectTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class RedirectTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form redirecting',
@@ -22,10 +29,6 @@ class RedirectTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('form_test'));
-  }
-
   /**
    * Tests form redirection.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/StateValuesCleanAdvancedTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/StateValuesCleanAdvancedTest.php
index ef3694e..630a902 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/StateValuesCleanAdvancedTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/StateValuesCleanAdvancedTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests $form_state clearance with form elements having buttons.
  */
 class StateValuesCleanAdvancedTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('file', 'form_test');
+
   /**
    * An image file path for uploading.
    */
@@ -26,10 +34,6 @@ class StateValuesCleanAdvancedTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('file', 'form_test'));
-  }
-
   /**
    * Tests form_state_values_clean().
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/StateValuesCleanTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/StateValuesCleanTest.php
index 15a6952..bb9cc2e 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/StateValuesCleanTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/StateValuesCleanTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test $form_state clearance.
  */
 class StateValuesCleanTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form state values clearance',
@@ -21,10 +29,6 @@ class StateValuesCleanTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Tests form_state_values_clean().
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/StorageTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/StorageTest.php
index f51838a..2b1daf9 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/StorageTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/StorageTest.php
@@ -20,6 +20,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class StorageTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name'  => 'Multistep form using form storage',
@@ -29,7 +36,7 @@ class StorageTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('form_test');
+    parent::setUp();
 
     $this->web_user = $this->drupalCreateUser(array('access content'));
     $this->drupalLogin($this->web_user);
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/TriggeringElementTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/TriggeringElementTest.php
index 99b1f6d..25245e9 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/TriggeringElementTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/TriggeringElementTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class TriggeringElementTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form triggering element determination',
@@ -22,10 +29,6 @@ class TriggeringElementTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Test the determination of $form_state['triggering_element'] when no button
    * information is included in the POST data, as is sometimes the case when
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/UrlTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/UrlTest.php
index 03d0105..4d4696a 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/UrlTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/UrlTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests url element.
  */
 class UrlTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   protected $profile = 'testing';
 
   public static function getInfo() {
@@ -23,10 +31,6 @@ class UrlTest extends WebTestBase {
     );
   }
 
-  public function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Tests that #type 'url' fields are properly validated and trimmed.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/ValidationTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/ValidationTest.php
index 2386a8e..7491df2 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/ValidationTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/ValidationTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test form validation handlers.
  */
 class ValidationTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form validation handlers',
@@ -21,10 +29,6 @@ class ValidationTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Tests form alterations by #element_validate, #validate, and form_set_value().
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/WrapperTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/WrapperTest.php
index 794e8f7..638c480 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/WrapperTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/WrapperTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test wrapper form callbacks.
  */
 class WrapperTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Form wrapper callback',
@@ -21,10 +29,6 @@ class WrapperTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('form_test');
-  }
-
   /**
    * Tests using the form in a usual way.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Image/ToolkitTestBase.php b/core/modules/system/lib/Drupal/system/Tests/Image/ToolkitTestBase.php
index 477475b..ac47080 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Image/ToolkitTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Image/ToolkitTestBase.php
@@ -14,12 +14,20 @@ use stdClass;
  * Base class for image manipulation testing.
  */
 abstract class ToolkitTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('image_test');
+
   protected $toolkit;
   protected $file;
   protected $image;
 
   function setUp() {
-    parent::setUp('image_test');
+    parent::setUp();
 
     // Use the image_test.module's test toolkit.
     $this->toolkit = 'test';
diff --git a/core/modules/system/lib/Drupal/system/Tests/Lock/LockFunctionalTest.php b/core/modules/system/lib/Drupal/system/Tests/Lock/LockFunctionalTest.php
index 9eb7780..3f81867 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Lock/LockFunctionalTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Lock/LockFunctionalTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class LockFunctionalTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('system_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Locking framework tests',
@@ -22,10 +29,6 @@ class LockFunctionalTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('system_test');
-  }
-
   /**
    * Tests backend release functionality.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Mail/MailTest.php b/core/modules/system/lib/Drupal/system/Tests/Mail/MailTest.php
index ac1e611..77ba871 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Mail/MailTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Mail/MailTest.php
@@ -14,6 +14,14 @@ use Drupal\simpletest\WebTestBase;
  * Defines a mail class used for testing.
  */
 class MailTest extends WebTestBase implements MailInterface {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('simpletest');
+
   /**
    * The most recent message that was sent through the test case.
    *
@@ -31,7 +39,7 @@ class MailTest extends WebTestBase implements MailInterface {
   }
 
   function setUp() {
-    parent::setUp(array('simpletest'));
+    parent::setUp();
 
     // Set MailTestCase (i.e. this class) as the SMTP library
     variable_set('mail_system', array('default-system' => 'Drupal\system\Tests\Mail\MailTest'));
diff --git a/core/modules/system/lib/Drupal/system/Tests/Menu/BreadcrumbTest.php b/core/modules/system/lib/Drupal/system/Tests/Menu/BreadcrumbTest.php
index d0830a3..fedbafd 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Menu/BreadcrumbTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Menu/BreadcrumbTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\Menu;
  * Menu breadcrumbs related tests.
  */
 class BreadcrumbTest extends MenuTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('menu_test');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -22,7 +30,7 @@ class BreadcrumbTest extends MenuTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('menu_test'));
+    parent::setUp();
 
     $perms = array_keys(module_invoke_all('permission'));
     $this->admin_user = $this->drupalCreateUser($perms);
diff --git a/core/modules/system/lib/Drupal/system/Tests/Menu/MenuTestBase.php b/core/modules/system/lib/Drupal/system/Tests/Menu/MenuTestBase.php
index 217150e..978ffe0 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Menu/MenuTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Menu/MenuTestBase.php
@@ -10,14 +10,6 @@ namespace Drupal\system\Tests\Menu;
 use Drupal\simpletest\WebTestBase;
 
 abstract class MenuTestBase extends WebTestBase {
-  function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    parent::setUp($modules);
-  }
-
   /**
    * Assert that a given path shows certain breadcrumb links.
    *
diff --git a/core/modules/system/lib/Drupal/system/Tests/Menu/RouterTest.php b/core/modules/system/lib/Drupal/system/Tests/Menu/RouterTest.php
index 11db04e..780298c 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Menu/RouterTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Menu/RouterTest.php
@@ -14,6 +14,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests menu router and hook_menu() functionality.
  */
 class RouterTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'menu_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Menu router',
@@ -24,7 +32,7 @@ class RouterTest extends WebTestBase {
 
   function setUp() {
     // Enable dummy module that implements hook_menu.
-    parent::setUp(array('block', 'menu_test'));
+    parent::setUp();
 
     // Make the tests below more robust by explicitly setting the default theme
     // and administrative theme that they expect.
diff --git a/core/modules/system/lib/Drupal/system/Tests/Menu/TrailTest.php b/core/modules/system/lib/Drupal/system/Tests/Menu/TrailTest.php
index f6164c9..cf96b86 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Menu/TrailTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Menu/TrailTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\Menu;
  * Tests active menu trails.
  */
 class TrailTest extends MenuTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'menu_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Active trail',
@@ -20,7 +28,8 @@ class TrailTest extends MenuTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block', 'menu_test'));
+    parent::setUp();
+
     $this->admin_user = $this->drupalCreateUser(array('administer site configuration', 'access administration pages'));
     $this->drupalLogin($this->admin_user);
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/InstallTest.php b/core/modules/system/lib/Drupal/system/Tests/Module/InstallTest.php
index a5a9939..29e5322 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Module/InstallTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Module/InstallTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Unit tests for module installation.
  */
 class InstallTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('module_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Module installation',
@@ -21,10 +29,6 @@ class InstallTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('module_test');
-  }
-
   /**
    * Test that calls to drupal_write_record() work during module installation.
    *
diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/ModuleTestBase.php b/core/modules/system/lib/Drupal/system/Tests/Module/ModuleTestBase.php
index dff77e8..1698737 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Module/ModuleTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Module/ModuleTestBase.php
@@ -16,10 +16,18 @@ use Drupal\simpletest\WebTestBase;
  * Helper class for module test cases.
  */
 abstract class ModuleTestBase extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('system_test');
+
   protected $admin_user;
 
   function setUp() {
-    parent::setUp('system_test');
+    parent::setUp();
 
     $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer modules'));
     $this->drupalLogin($this->admin_user);
diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/UninstallTest.php b/core/modules/system/lib/Drupal/system/Tests/Module/UninstallTest.php
index 98bed37..dca3bf3 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Module/UninstallTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Module/UninstallTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Unit tests for module uninstallation and related hooks.
  */
 class UninstallTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('module_test', 'user');
+
   public static function getInfo() {
     return array(
       'name' => 'Module uninstallation',
@@ -21,10 +29,6 @@ class UninstallTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('module_test', 'user');
-  }
-
   /**
    * Tests the hook_modules_uninstalled() of the user module.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/VersionTest.php b/core/modules/system/lib/Drupal/system/Tests/Module/VersionTest.php
index f7b4bd2..e328712 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Module/VersionTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Module/VersionTest.php
@@ -11,6 +11,14 @@ namespace Drupal\system\Tests\Module;
  * Test module dependency on specific versions.
  */
 class VersionTest extends ModuleTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('module_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Module versions',
@@ -19,10 +27,6 @@ class VersionTest extends ModuleTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('module_test');
-  }
-
   /**
    * Test version dependencies.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Pager/PagerTest.php b/core/modules/system/lib/Drupal/system/Tests/Pager/PagerTest.php
index 4a83d4a..24a7c00 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Pager/PagerTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Pager/PagerTest.php
@@ -14,6 +14,14 @@ use SimpleXMLElement;
  * Tests pager functionality.
  */
 class PagerTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('dblog');
+
   protected $profile = 'testing';
 
   public static function getInfo() {
@@ -25,7 +33,7 @@ class PagerTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('dblog'));
+    parent::setUp();
 
     // Insert 300 log messages.
     for ($i = 0; $i < 300; $i++) {
diff --git a/core/modules/system/lib/Drupal/system/Tests/Path/SaveTest.php b/core/modules/system/lib/Drupal/system/Tests/Path/SaveTest.php
index a34b384..f017230 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Path/SaveTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Path/SaveTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests the path_save() function.
  */
 class SaveTest extends WebTestBase {
+
+  /**
+   * Enable a helper module that implements hook_path_update().
+   *
+   * @var array
+   */
+  public static $modules = array('path_test');
+
   public static function getInfo() {
     return array(
       'name' => t('Path save'),
@@ -22,8 +30,7 @@ class SaveTest extends WebTestBase {
   }
 
   function setUp() {
-    // Enable a helper module that implements hook_path_update().
-    parent::setUp('path_test');
+    parent::setUp();
     path_test_reset();
   }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Path/UrlAlterFunctionalTest.php b/core/modules/system/lib/Drupal/system/Tests/Path/UrlAlterFunctionalTest.php
index 3e4ab65..6bcbca8 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Path/UrlAlterFunctionalTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Path/UrlAlterFunctionalTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests hook_url_alter functions.
  */
 class UrlAlterFunctionalTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('path', 'forum', 'url_alter_test');
+
   public static function getInfo() {
     return array(
       'name' => t('URL altering'),
@@ -21,10 +29,6 @@ class UrlAlterFunctionalTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('path', 'forum', 'url_alter_test');
-  }
-
   /**
    * Test that URL altering works and that it occurs in the correct order.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Session/SessionHttpsTest.php b/core/modules/system/lib/Drupal/system/Tests/Session/SessionHttpsTest.php
index 8fac3ca..c8e6703 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Session/SessionHttpsTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Session/SessionHttpsTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class SessionHttpsTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('session_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Session https handling',
@@ -22,10 +29,6 @@ class SessionHttpsTest extends WebTestBase {
     );
   }
 
-  public function setUp() {
-    parent::setUp('session_test');
-  }
-
   protected function testHttpsSession() {
     global $is_https;
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Session/SessionTest.php b/core/modules/system/lib/Drupal/system/Tests/Session/SessionTest.php
index 02cb8ae..1a523e4 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Session/SessionTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Session/SessionTest.php
@@ -10,6 +10,14 @@ namespace Drupal\system\Tests\Session;
 use Drupal\simpletest\WebTestBase;
 
 class SessionTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('session_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Session tests',
@@ -18,10 +26,6 @@ class SessionTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('session_test');
-  }
-
   /**
    * Tests for drupal_save_session() and drupal_session_regenerate().
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/AccessDeniedTest.php b/core/modules/system/lib/Drupal/system/Tests/System/AccessDeniedTest.php
index f278f60..135f69a 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/AccessDeniedTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/AccessDeniedTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests custom access denied functionality.
  */
 class AccessDeniedTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   protected $admin_user;
 
   public static function getInfo() {
@@ -24,7 +32,7 @@ class AccessDeniedTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block'));
+    parent::setUp();
 
     // Create an administrative user.
     $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer site configuration', 'administer blocks'));
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/AdminTest.php b/core/modules/system/lib/Drupal/system/Tests/System/AdminTest.php
index 4e8d49a..d87eb44 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/AdminTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/AdminTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests administrative overview pages.
  */
 class AdminTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale');
+
   public static function getInfo() {
     return array(
       'name' => 'Administrative pages',
@@ -23,7 +31,7 @@ class AdminTest extends WebTestBase {
 
   function setUp() {
     // testAdminPages() requires Locale module.
-    parent::setUp(array('locale'));
+    parent::setUp();
 
     // Create an administrator with all permissions, as well as a regular user
     // who can only access administration pages and perform some Locale module
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/CronRunTest.php b/core/modules/system/lib/Drupal/system/Tests/System/CronRunTest.php
index 3ac2772..e13d578 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/CronRunTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/CronRunTest.php
@@ -10,6 +10,14 @@ namespace Drupal\system\Tests\System;
 use Drupal\simpletest\WebTestBase;
 
 class CronRunTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('common_test', 'common_test_cron_helper');
+
   public static function getInfo() {
     return array(
       'name' => 'Cron run',
@@ -18,10 +26,6 @@ class CronRunTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('common_test', 'common_test_cron_helper'));
-  }
-
   /**
    * Test cron runs.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/DateFormatsLanguageTest.php b/core/modules/system/lib/Drupal/system/Tests/System/DateFormatsLanguageTest.php
index 5f86c6e..2054180 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/DateFormatsLanguageTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/DateFormatsLanguageTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class DateFormatsLanguageTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'language');
+
   public static function getInfo() {
     return array(
       'name' => 'Localize date formats',
@@ -23,7 +30,7 @@ class DateFormatsLanguageTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'language'));
+    parent::setUp();
 
     // Create Article node type.
     $this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article'));
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/DateTimeTest.php b/core/modules/system/lib/Drupal/system/Tests/System/DateTimeTest.php
index 84bd7c6..f50917b 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/DateTimeTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/DateTimeTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests generic date and time handling capabilities of Drupal.
  */
 class DateTimeTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('language');
+
   public static function getInfo() {
     return array(
       'name' => 'Date and time',
@@ -22,7 +30,7 @@ class DateTimeTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('language'));
+    parent::setUp();
 
     // Create admin user and log in admin user.
     $this->admin_user = $this->drupalCreateUser(array('administer site configuration'));
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/ErrorHandlerTest.php b/core/modules/system/lib/Drupal/system/Tests/System/ErrorHandlerTest.php
index b225aed..44ad302 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/ErrorHandlerTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/ErrorHandlerTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests error and exception handlers.
  */
 class ErrorHandlerTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('error_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Error handlers',
@@ -21,10 +29,6 @@ class ErrorHandlerTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('error_test');
-  }
-
   /**
    * Test the error handler.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/FrontPageTest.php b/core/modules/system/lib/Drupal/system/Tests/System/FrontPageTest.php
index 2323a07..d620cce 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/FrontPageTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/FrontPageTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class FrontPageTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'system_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Front page',
@@ -23,7 +30,7 @@ class FrontPageTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'system_test'));
+    parent::setUp();
 
     // Create admin user, log in admin user, and create one node.
     $this->admin_user = $this->drupalCreateUser(array('access content', 'administer site configuration'));
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/MainContentFallbackTest.php b/core/modules/system/lib/Drupal/system/Tests/System/MainContentFallbackTest.php
index 7fd3090..e1fd6f6 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/MainContentFallbackTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/MainContentFallbackTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test main content rendering fallback provided by system module.
  */
 class MainContentFallbackTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block', 'system_test');
+
   protected $admin_user;
   protected $web_user;
 
@@ -25,7 +33,7 @@ class MainContentFallbackTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block', 'system_test'));
+    parent::setUp();
 
     // Create and login admin user.
     $this->admin_user = $this->drupalCreateUser(array(
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/PageTitleFilteringTest.php b/core/modules/system/lib/Drupal/system/Tests/System/PageTitleFilteringTest.php
index 9ee0101..c0d00c3 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/PageTitleFilteringTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/PageTitleFilteringTest.php
@@ -10,6 +10,14 @@ namespace Drupal\system\Tests\System;
 use Drupal\simpletest\WebTestBase;
 
 class PageTitleFilteringTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node');
+
   protected $content_user;
   protected $saved_title;
 
@@ -28,7 +36,7 @@ class PageTitleFilteringTest extends WebTestBase {
    * Implement setUp().
    */
   function setUp() {
-    parent::setUp(array('node'));
+    parent::setUp();
 
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/ShutdownFunctionsTest.php b/core/modules/system/lib/Drupal/system/Tests/System/ShutdownFunctionsTest.php
index b38c213..d3a160e 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/ShutdownFunctionsTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/ShutdownFunctionsTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests shutdown functions.
  */
 class ShutdownFunctionsTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('system_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Shutdown functions',
@@ -21,10 +29,6 @@ class ShutdownFunctionsTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('system_test');
-  }
-
   /**
    * Test shutdown functions.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/SiteMaintenanceTest.php b/core/modules/system/lib/Drupal/system/Tests/System/SiteMaintenanceTest.php
index 7788c67..5925660 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/SiteMaintenanceTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/SiteMaintenanceTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests site maintenance functionality.
  */
 class SiteMaintenanceTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node');
+
   protected $admin_user;
 
   public static function getInfo() {
@@ -24,7 +32,7 @@ class SiteMaintenanceTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node'));
+    parent::setUp();
 
     // Configure 'node' as front page.
     config('system.site')->set('page.front', 'node')->save();
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/SystemAuthorizeTest.php b/core/modules/system/lib/Drupal/system/Tests/System/SystemAuthorizeTest.php
index b006cdb..730886d 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/SystemAuthorizeTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/SystemAuthorizeTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests authorize.php and related hooks.
  */
 class SystemAuthorizeTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('system_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Authorize API',
@@ -22,7 +30,7 @@ class SystemAuthorizeTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('system_test'));
+    parent::setUp();
 
     variable_set('allow_authorize_operations', TRUE);
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/ThemeTest.php b/core/modules/system/lib/Drupal/system/Tests/System/ThemeTest.php
index ed43e49..f1e0f22 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/ThemeTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/ThemeTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for the theme interface functionality.
  */
 class ThemeTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'block');
+
   public static function getInfo() {
     return array(
       'name' => 'Theme interface functionality',
@@ -22,7 +30,7 @@ class ThemeTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'block'));
+    parent::setUp();
 
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Theme/FastTest.php b/core/modules/system/lib/Drupal/system/Tests/Theme/FastTest.php
index 3a65e99..d28e192 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Theme/FastTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Theme/FastTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests autocompletion not loading registry.
  */
 class FastTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('theme_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Theme fast initialization',
@@ -22,7 +30,7 @@ class FastTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('theme_test');
+    parent::setUp();
     $this->account = $this->drupalCreateUser(array('access user profiles'));
   }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Theme/HookInitTest.php b/core/modules/system/lib/Drupal/system/Tests/Theme/HookInitTest.php
index 2bba519..3863d22 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Theme/HookInitTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Theme/HookInitTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional test for initialization of the theme system in hook_init().
  */
 class HookInitTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('theme_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Theme initialization in hook_init()',
@@ -21,10 +29,6 @@ class HookInitTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('theme_test');
-  }
-
   /**
    * Test that the theme system can generate output when called by hook_init().
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Theme/HtmlTplPhpAttributesTest.php b/core/modules/system/lib/Drupal/system/Tests/Theme/HtmlTplPhpAttributesTest.php
index 82dd7c9..d06b165 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Theme/HtmlTplPhpAttributesTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Theme/HtmlTplPhpAttributesTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional test for attributes of html.tpl.php.
  */
 class HtmlTplPhpAttributesTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('theme_test');
+
   public static function getInfo() {
     return array(
       'name' => 'html.tpl.php html and body attributes',
@@ -21,10 +29,6 @@ class HtmlTplPhpAttributesTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('theme_test');
-  }
-
   /**
    * Tests that modules and themes can alter variables in html.tpl.php.
    */
diff --git a/core/modules/system/lib/Drupal/system/Tests/Theme/RegistryTest.php b/core/modules/system/lib/Drupal/system/Tests/Theme/RegistryTest.php
index 16abc78..9f49f2f 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Theme/RegistryTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Theme/RegistryTest.php
@@ -14,6 +14,14 @@ use Drupal\Core\Utility\ThemeRegistry;
  * Tests for the ThemeRegistry class.
  */
 class RegistryTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('theme_test');
+
   protected $profile = 'testing';
   public static function getInfo() {
     return array(
@@ -22,9 +30,6 @@ class RegistryTest extends WebTestBase {
       'group' => 'Theme',
     );
   }
-  function setUp() {
-    parent::setUp('theme_test');
-  }
 
   /**
    * Tests the behavior of the theme registry class.
diff --git a/core/modules/system/lib/Drupal/system/Tests/Theme/ThemeTest.php b/core/modules/system/lib/Drupal/system/Tests/Theme/ThemeTest.php
index 4be9dd5..29bfee1 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Theme/ThemeTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Theme/ThemeTest.php
@@ -14,6 +14,14 @@ use Drupal\test_theme\ThemeClass;
  * Tests low-level theme functions.
  */
 class ThemeTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('theme_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Theme API',
@@ -23,7 +31,7 @@ class ThemeTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('theme_test');
+    parent::setUp();
     theme_enable(array('test_theme'));
   }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Update/DependencyHookInvocationTest.php b/core/modules/system/lib/Drupal/system/Tests/Update/DependencyHookInvocationTest.php
index 8ec1fca..7b03fde 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Update/DependencyHookInvocationTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Update/DependencyHookInvocationTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for the invocation of hook_update_dependencies().
  */
 class DependencyHookInvocationTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update_test_1', 'update_test_2');
+
   public static function getInfo() {
     return array(
       'name' => 'Update dependency hook invocation',
@@ -22,7 +30,7 @@ class DependencyHookInvocationTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('update_test_1', 'update_test_2');
+    parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/update.inc';
   }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Update/DependencyMissingTest.php b/core/modules/system/lib/Drupal/system/Tests/Update/DependencyMissingTest.php
index e2c94f2..0a66324 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Update/DependencyMissingTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Update/DependencyMissingTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for missing update dependencies.
  */
 class DependencyMissingTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update_test_2');
+
   public static function getInfo() {
     return array(
       'name' => 'Missing update dependencies',
@@ -24,7 +32,7 @@ class DependencyMissingTest extends WebTestBase {
   function setUp() {
     // Only install update_test_2.module, even though its updates have a
     // dependency on update_test_3.module.
-    parent::setUp('update_test_2');
+    parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/update.inc';
   }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Update/DependencyOrderingTest.php b/core/modules/system/lib/Drupal/system/Tests/Update/DependencyOrderingTest.php
index 099b36b..6bd1534 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Update/DependencyOrderingTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Update/DependencyOrderingTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for the update dependency ordering system.
  */
 class DependencyOrderingTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update_test_1', 'update_test_2', 'update_test_3');
+
   public static function getInfo() {
     return array(
       'name' => 'Update dependency ordering',
@@ -22,7 +30,7 @@ class DependencyOrderingTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('update_test_1', 'update_test_2', 'update_test_3');
+    parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/update.inc';
   }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Update/UpdateScriptTest.php b/core/modules/system/lib/Drupal/system/Tests/Update/UpdateScriptTest.php
index a3b31fb..1231af4 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Update/UpdateScriptTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Update/UpdateScriptTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for the update system functionality.
  */
 class UpdateScriptTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update_script_test', 'dblog');
+
   private $update_url;
   private $update_user;
 
@@ -25,7 +33,7 @@ class UpdateScriptTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('update_script_test', 'dblog'));
+    parent::setUp();
     $this->update_url = $GLOBALS['base_url'] . '/core/update.php';
     $this->update_user = $this->drupalCreateUser(array('administer software updates'));
   }
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/HooksTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/HooksTest.php
index 4a889cb..3dd43b1 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/HooksTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/HooksTest.php
@@ -12,6 +12,13 @@ namespace Drupal\taxonomy\Tests;
  */
 class HooksTest extends TaxonomyTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('taxonomy_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Taxonomy term hooks',
@@ -21,7 +28,8 @@ class HooksTest extends TaxonomyTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('taxonomy_test'));
+    parent::setUp();
+
     $taxonomy_admin = $this->drupalCreateUser(array('administer taxonomy'));
     $this->drupalLogin($taxonomy_admin);
   }
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/RssTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/RssTest.php
index b44f456..79998b6 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/RssTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/RssTest.php
@@ -12,6 +12,13 @@ namespace Drupal\taxonomy\Tests;
  */
 class RssTest extends TaxonomyTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'field_ui');
+
   public static function getInfo() {
     return array(
       'name' => 'Taxonomy RSS Content.',
@@ -21,7 +28,8 @@ class RssTest extends TaxonomyTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('node', 'field_ui'));
+    parent::setUp();
+
     $this->admin_user = $this->drupalCreateUser(array('administer taxonomy', 'bypass node access', 'administer content types'));
     $this->drupalLogin($this->admin_user);
     $this->vocabulary = $this->createVocabulary();
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TaxonomyTestBase.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TaxonomyTestBase.php
index 37ec42b..6f4dcb2 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TaxonomyTestBase.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TaxonomyTestBase.php
@@ -14,13 +14,15 @@ use Drupal\simpletest\WebTestBase;
  */
 abstract class TaxonomyTestBase extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('taxonomy');
+
   function setUp() {
-    $modules = func_get_args();
-    if (isset($modules[0]) && is_array($modules[0])) {
-      $modules = $modules[0];
-    }
-    $modules[] = 'taxonomy';
-    parent::setUp($modules);
+    parent::setUp();
 
     // Create Basic page and Article node types.
     if ($this->profile != 'standard') {
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermFieldMultipleVocabularyTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermFieldMultipleVocabularyTest.php
index 90d6cd5..c8bd41e 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermFieldMultipleVocabularyTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermFieldMultipleVocabularyTest.php
@@ -12,6 +12,13 @@ namespace Drupal\taxonomy\Tests;
  */
 class TermFieldMultipleVocabularyTest extends TaxonomyTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   protected $instance;
   protected $vocabulary1;
   protected $vocabulary2;
@@ -25,7 +32,7 @@ class TermFieldMultipleVocabularyTest extends TaxonomyTestBase {
   }
 
   function setUp() {
-    parent::setUp('field_test');
+    parent::setUp();
 
     $web_user = $this->drupalCreateUser(array('access field_test content', 'administer field_test content', 'administer taxonomy'));
     $this->drupalLogin($web_user);
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermFieldTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermFieldTest.php
index 4e1a1c4..722cc51 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermFieldTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermFieldTest.php
@@ -14,6 +14,13 @@ use Drupal\field\FieldValidationException;
  */
 class TermFieldTest extends TaxonomyTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   protected $instance;
   protected $vocabulary;
 
@@ -26,7 +33,7 @@ class TermFieldTest extends TaxonomyTestBase {
   }
 
   function setUp() {
-    parent::setUp('field_test');
+    parent::setUp();
 
     $web_user = $this->drupalCreateUser(array('access field_test content', 'administer field_test content', 'administer taxonomy'));
     $this->drupalLogin($web_user);
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyUnitTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyUnitTest.php
index 883ab6e..9ac781a 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyUnitTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyUnitTest.php
@@ -12,6 +12,13 @@ namespace Drupal\taxonomy\Tests;
  */
 class VocabularyUnitTest extends TaxonomyTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Taxonomy vocabularies',
@@ -21,7 +28,8 @@ class VocabularyUnitTest extends TaxonomyTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('field_test'));
+    parent::setUp();
+
     $admin_user = $this->drupalCreateUser(array('create article content', 'administer taxonomy'));
     $this->drupalLogin($admin_user);
     $this->vocabulary = $this->createVocabulary();
diff --git a/core/modules/tracker/lib/Drupal/tracker/Tests/TrackerNodeAccessTest.php b/core/modules/tracker/lib/Drupal/tracker/Tests/TrackerNodeAccessTest.php
index cb74f02..3a5efda 100644
--- a/core/modules/tracker/lib/Drupal/tracker/Tests/TrackerNodeAccessTest.php
+++ b/core/modules/tracker/lib/Drupal/tracker/Tests/TrackerNodeAccessTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Tests for private node access on /tracker.
  */
 class TrackerNodeAccessTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node', 'comment', 'tracker', 'node_access_test');
+
   protected $access_user;
   protected $no_access_user;
 
@@ -25,7 +33,7 @@ class TrackerNodeAccessTest extends WebTestBase {
   }
 
   public function setUp() {
-    parent::setUp(array('node', 'comment', 'tracker', 'node_access_test'));
+    parent::setUp();
     node_access_rebuild();
     variable_set('node_access_test_private', TRUE);
   }
diff --git a/core/modules/tracker/lib/Drupal/tracker/Tests/TrackerTest.php b/core/modules/tracker/lib/Drupal/tracker/Tests/TrackerTest.php
index 168755e..7cd99cc 100644
--- a/core/modules/tracker/lib/Drupal/tracker/Tests/TrackerTest.php
+++ b/core/modules/tracker/lib/Drupal/tracker/Tests/TrackerTest.php
@@ -15,6 +15,13 @@ use Drupal\simpletest\WebTestBase;
 class TrackerTest extends WebTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment', 'tracker');
+
+  /**
    * The main user for testing.
    *
    * @var object
@@ -37,7 +44,7 @@ class TrackerTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('comment', 'tracker');
+    parent::setUp();
 
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
 
diff --git a/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php b/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php
index 6b19208..a409150 100644
--- a/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php
+++ b/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php
@@ -14,6 +14,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for the Translation module.
  */
 class TranslationTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('translation', 'translation_test');
+
   protected $profile = 'standard';
 
   protected $book;
@@ -27,7 +35,7 @@ class TranslationTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('translation', 'translation_test');
+    parent::setUp();
 
     // Setup users.
     $this->admin_user = $this->drupalCreateUser(array('bypass node access', 'administer nodes', 'administer languages', 'administer content types', 'administer blocks', 'access administration pages', 'translate content'));
diff --git a/core/modules/update/lib/Drupal/update/Tests/UpdateContribTest.php b/core/modules/update/lib/Drupal/update/Tests/UpdateContribTest.php
index 674baf8..27328c0 100644
--- a/core/modules/update/lib/Drupal/update/Tests/UpdateContribTest.php
+++ b/core/modules/update/lib/Drupal/update/Tests/UpdateContribTest.php
@@ -12,6 +12,13 @@ namespace Drupal\update\Tests;
  */
 class UpdateContribTest extends UpdateTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update_test', 'update', 'aaa_update_test', 'bbb_update_test', 'ccc_update_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Update contrib functionality',
@@ -21,7 +28,7 @@ class UpdateContribTest extends UpdateTestBase {
   }
 
   function setUp() {
-    parent::setUp('update_test', 'update', 'aaa_update_test', 'bbb_update_test', 'ccc_update_test');
+    parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer site configuration'));
     $this->drupalLogin($admin_user);
   }
diff --git a/core/modules/update/lib/Drupal/update/Tests/UpdateCoreTest.php b/core/modules/update/lib/Drupal/update/Tests/UpdateCoreTest.php
index 6f0336d..5dc09fd 100644
--- a/core/modules/update/lib/Drupal/update/Tests/UpdateCoreTest.php
+++ b/core/modules/update/lib/Drupal/update/Tests/UpdateCoreTest.php
@@ -12,6 +12,13 @@ namespace Drupal\update\Tests;
  */
 class UpdateCoreTest extends UpdateTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update_test', 'update');
+
   public static function getInfo() {
     return array(
       'name' => 'Update core functionality',
@@ -21,7 +28,7 @@ class UpdateCoreTest extends UpdateTestBase {
   }
 
   function setUp() {
-    parent::setUp('update_test', 'update');
+    parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer site configuration', 'administer modules'));
     $this->drupalLogin($admin_user);
   }
diff --git a/core/modules/update/lib/Drupal/update/Tests/UpdateCoreUnitTest.php b/core/modules/update/lib/Drupal/update/Tests/UpdateCoreUnitTest.php
index 2a33818..1173233 100644
--- a/core/modules/update/lib/Drupal/update/Tests/UpdateCoreUnitTest.php
+++ b/core/modules/update/lib/Drupal/update/Tests/UpdateCoreUnitTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\UnitTestBase;
  */
 class UpdateCoreUnitTest extends UnitTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update');
+
   public static function getInfo() {
     return array(
       'name' => "Unit tests",
@@ -23,7 +30,7 @@ class UpdateCoreUnitTest extends UnitTestBase {
   }
 
   function setUp() {
-    parent::setUp('update');
+    parent::setUp();
     module_load_include('inc', 'update', 'update.fetch');
   }
 
diff --git a/core/modules/update/lib/Drupal/update/Tests/UpdateUploadTest.php b/core/modules/update/lib/Drupal/update/Tests/UpdateUploadTest.php
index 5acbc6e..c7ce8e1 100644
--- a/core/modules/update/lib/Drupal/update/Tests/UpdateUploadTest.php
+++ b/core/modules/update/lib/Drupal/update/Tests/UpdateUploadTest.php
@@ -12,6 +12,13 @@ namespace Drupal\update\Tests;
  */
 class UpdateUploadTest extends UpdateTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('update', 'update_test');
+
   public static function getInfo() {
     return array(
       'name' => 'Upload and extract module functionality',
@@ -21,7 +28,7 @@ class UpdateUploadTest extends UpdateTestBase {
   }
 
   public function setUp() {
-    parent::setUp('update', 'update_test');
+    parent::setUp();
     variable_set('allow_authorize_operations', TRUE);
     $admin_user = $this->drupalCreateUser(array('administer software updates', 'administer site configuration'));
     $this->drupalLogin($admin_user);
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserAdminTest.php b/core/modules/user/lib/Drupal/user/Tests/UserAdminTest.php
index c0bed11..7589094 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserAdminTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserAdminTest.php
@@ -10,6 +10,14 @@ namespace Drupal\user\Tests;
 use Drupal\simpletest\WebTestBase;
 
 class UserAdminTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('taxonomy');
+
   public static function getInfo() {
     return array(
       'name' => 'User administration',
@@ -18,10 +26,6 @@ class UserAdminTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('taxonomy'));
-  }
-
   /**
    * Registers a user and deletes it.
    */
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserBlocksTests.php b/core/modules/user/lib/Drupal/user/Tests/UserBlocksTests.php
index 8e69750..a0cee51 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserBlocksTests.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserBlocksTests.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test user blocks.
  */
 class UserBlocksTests extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('block');
+
   public static function getInfo() {
     return array(
       'name' => 'User blocks',
@@ -22,7 +30,7 @@ class UserBlocksTests extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('block'));
+    parent::setUp();
 
     // Enable user login block.
     db_merge('block')
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserCancelTest.php b/core/modules/user/lib/Drupal/user/Tests/UserCancelTest.php
index 4e6a0d5..ca6c423 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserCancelTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserCancelTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test cancelling a user.
  */
 class UserCancelTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment');
+
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -23,10 +31,6 @@ class UserCancelTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('comment');
-  }
-
   /**
    * Attempt to cancel account without permission.
    */
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserEntityCallbacksTest.php b/core/modules/user/lib/Drupal/user/Tests/UserEntityCallbacksTest.php
index dc85ade..6d74849 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserEntityCallbacksTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserEntityCallbacksTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test user entity callbacks.
  */
 class UserEntityCallbacksTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('user');
+
   public static function getInfo() {
     return array(
       'name' => 'User entity callback tests',
@@ -22,7 +30,7 @@ class UserEntityCallbacksTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('user');
+    parent::setUp();
 
     $this->account = $this->drupalCreateUser();
     $this->anonymous = entity_create('user', (array) drupal_anonymous_user());
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserLanguageCreationTest.php b/core/modules/user/lib/Drupal/user/Tests/UserLanguageCreationTest.php
index dce7d0b..b90d26d 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserLanguageCreationTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserLanguageCreationTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class UserLanguageCreationTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('user', 'language');
+
   public static function getInfo() {
     return array(
       'name' => 'User language creation',
@@ -23,7 +30,8 @@ class UserLanguageCreationTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('user', 'language'));
+    parent::setUp();
+
     variable_set('user_register', USER_REGISTER_VISITORS);
   }
 
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserLanguageTest.php b/core/modules/user/lib/Drupal/user/Tests/UserLanguageTest.php
index 41084c3..08dc9f5 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserLanguageTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserLanguageTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Functional tests for a user's ability to change their default language.
  */
 class UserLanguageTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('user', 'language');
+
   public static function getInfo() {
     return array(
       'name' => 'User language settings',
@@ -21,10 +29,6 @@ class UserLanguageTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('user', 'language'));
-  }
-
   /**
    * Test if user can change their default language.
    */
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserPictureTest.php b/core/modules/user/lib/Drupal/user/Tests/UserPictureTest.php
index e57cc42..a1ad3a6 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserPictureTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserPictureTest.php
@@ -10,6 +10,14 @@ namespace Drupal\user\Tests;
 use Drupal\simpletest\WebTestBase;
 
 class UserPictureTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('image');
+
   protected $user;
   protected $_directory_test;
 
@@ -22,7 +30,8 @@ class UserPictureTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp(array('image'));
+    parent::setUp();
+
     // Enable user pictures.
     variable_set('user_pictures', 1);
 
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php b/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php
index 56ad9a0..bfa21d0 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php
@@ -10,6 +10,14 @@ namespace Drupal\user\Tests;
 use Drupal\simpletest\WebTestBase;
 
 class UserRegistrationTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('field_test');
+
   public static function getInfo() {
     return array(
       'name' => 'User registration',
@@ -18,10 +26,6 @@ class UserRegistrationTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('field_test');
-  }
-
   function testRegistrationWithEmailVerification() {
     // Require e-mail verification.
     variable_set('user_email_verification', TRUE);
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserSearchTest.php b/core/modules/user/lib/Drupal/user/Tests/UserSearchTest.php
index 7b42768..74eb5fa 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserSearchTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserSearchTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test user search.
  */
 class UserSearchTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('search');
+
   public static function getInfo() {
     return array(
       'name' => 'User search',
@@ -21,10 +29,6 @@ class UserSearchTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp(array('search'));
-  }
-
   function testUserSearch() {
     $user1 = $this->drupalCreateUser(array('access user profiles', 'search content', 'use advanced search'));
     $this->drupalLogin($user1);
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserSignatureTest.php b/core/modules/user/lib/Drupal/user/Tests/UserSignatureTest.php
index 19aa8c9..d218b5f 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserSignatureTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserSignatureTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * Test case for user signatures.
  */
 class UserSignatureTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment');
+
   public static function getInfo() {
     return array(
       'name' => 'User signatures',
@@ -22,7 +30,7 @@ class UserSignatureTest extends WebTestBase {
   }
 
   function setUp() {
-    parent::setUp('comment');
+    parent::setUp();
 
     // Enable user signatures.
     variable_set('user_signatures', 1);
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserValidateCurrentPassCustomFormTest.php b/core/modules/user/lib/Drupal/user/Tests/UserValidateCurrentPassCustomFormTest.php
index 7b553d2..56dbc62 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserValidateCurrentPassCustomFormTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserValidateCurrentPassCustomFormTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class UserValidateCurrentPassCustomFormTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('user_form_test');
+
   public static function getInfo() {
     return array(
       'name' => 'User validate current pass custom form',
@@ -33,7 +40,8 @@ class UserValidateCurrentPassCustomFormTest extends WebTestBase {
   protected $adminUser;
 
   function setUp() {
-    parent::setUp('user_form_test');
+    parent::setUp();
+
     // Create two users
     $this->accessUser = $this->drupalCreateUser(array('access content'));
     $this->adminUser = $this->drupalCreateUser(array('administer users'));
diff --git a/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcBasicTest.php b/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcBasicTest.php
index 7e94985..ca60681 100644
--- a/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcBasicTest.php
+++ b/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcBasicTest.php
@@ -14,6 +14,13 @@ use Drupal\simpletest\WebTestBase;
  */
 class XmlRpcBasicTest extends WebTestBase {
 
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('xmlrpc');
+
   public static function getInfo() {
     return array(
       'name'  => 'XML-RPC basic',
@@ -22,10 +29,6 @@ class XmlRpcBasicTest extends WebTestBase {
     );
   }
 
-  public function setUp() {
-    parent::setUp('xmlrpc');
-  }
-
   /**
    * Ensure that a basic XML-RPC call with no parameters works.
    */
diff --git a/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcMessagesTest.php b/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcMessagesTest.php
index f4823c4..572cd18 100644
--- a/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcMessagesTest.php
+++ b/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcMessagesTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * XML-RPC message and alteration tests.
  */
 class XmlRpcMessagesTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('xmlrpc', 'xmlrpc_test');
+
   public static function getInfo() {
     return array(
       'name'  => 'XML-RPC message and alteration',
@@ -21,10 +29,6 @@ class XmlRpcMessagesTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('xmlrpc', 'xmlrpc_test');
-  }
-
   /**
    * Make sure that XML-RPC can transfer large messages.
    */
diff --git a/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcValidatorTest.php b/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcValidatorTest.php
index f482328..b1a9fa8 100644
--- a/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcValidatorTest.php
+++ b/core/modules/xmlrpc/lib/Drupal/xmlrpc/Tests/XmlRpcValidatorTest.php
@@ -13,6 +13,14 @@ use Drupal\simpletest\WebTestBase;
  * XML-RPC validator1 specification.
  */
 class XmlRpcValidatorTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('xmlrpc', 'xmlrpc_test');
+
   public static function getInfo() {
     return array(
       'name' => 'XML-RPC validator',
@@ -21,10 +29,6 @@ class XmlRpcValidatorTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    parent::setUp('xmlrpc', 'xmlrpc_test');
-  }
-
   /**
    * Run validator1 tests.
    */
diff --git a/profiles/testing/modules/drupal_system_listing_compatible_test/lib/Drupal/drupal_system_listing_compatible_test/Tests/SystemListingCompatibleTest.php b/profiles/testing/modules/drupal_system_listing_compatible_test/lib/Drupal/drupal_system_listing_compatible_test/Tests/SystemListingCompatibleTest.php
index 32b8fc7..95504e3 100644
--- a/profiles/testing/modules/drupal_system_listing_compatible_test/lib/Drupal/drupal_system_listing_compatible_test/Tests/SystemListingCompatibleTest.php
+++ b/profiles/testing/modules/drupal_system_listing_compatible_test/lib/Drupal/drupal_system_listing_compatible_test/Tests/SystemListingCompatibleTest.php
@@ -12,6 +12,17 @@ use Drupal\simpletest\WebTestBase;
  * Helper to verify tests in installation profile modules.
  */
 class SystemListingCompatibleTest extends WebTestBase {
+
+  /**
+   * Attempt to enable a module from the Testing profile.
+   *
+   * This test uses the Minimal profile, but enables a module from the Testing
+   * profile to confirm that a different profile can be used for running tests.
+   *
+   * @var array
+   */
+  public static $modules = array('drupal_system_listing_compatible_test');
+
   /**
    * Use the Minimal profile.
    *
@@ -30,12 +41,6 @@ class SystemListingCompatibleTest extends WebTestBase {
     );
   }
 
-  function setUp() {
-    // Attempt to install a module in Testing profile, while this test runs with
-    // a different profile.
-    parent::setUp(array('drupal_system_listing_compatible_test'));
-  }
-
   /**
    * Non-empty test* method required to executed the test case class.
    */
