diff --git a/core/modules/block/src/Tests/Update/BlockContextMappingUpdateFilledTest.php b/core/modules/block/src/Tests/Update/BlockContextMappingUpdateFilledTest.php
index 5b4aef1..1e6a728 100644
--- a/core/modules/block/src/Tests/Update/BlockContextMappingUpdateFilledTest.php
+++ b/core/modules/block/src/Tests/Update/BlockContextMappingUpdateFilledTest.php
@@ -17,9 +17,9 @@ class BlockContextMappingUpdateFilledTest extends BlockContextMappingUpdateTest
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setDatabaseDumpFiles() {
+    parent::setDatabaseDumpFiles();
     $this->databaseDumpFiles[0] = __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8.filled.standard.php.gz';
-    parent::setUp();
   }
 
 }
diff --git a/core/modules/block/src/Tests/Update/BlockContextMappingUpdateTest.php b/core/modules/block/src/Tests/Update/BlockContextMappingUpdateTest.php
index da03fa0..4aa0ac0 100644
--- a/core/modules/block/src/Tests/Update/BlockContextMappingUpdateTest.php
+++ b/core/modules/block/src/Tests/Update/BlockContextMappingUpdateTest.php
@@ -28,12 +28,11 @@ class BlockContextMappingUpdateTest extends UpdatePathTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setDatabaseDumpFiles() {
     $this->databaseDumpFiles = [
       __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8.bare.standard.php.gz',
       __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8.block-context-manager-2354889.php',
     ];
-    parent::setUp();
   }
 
   /**
diff --git a/core/modules/system/src/Tests/Entity/Update/SqlContentEntityStorageSchemaIndexFilledTest.php b/core/modules/system/src/Tests/Entity/Update/SqlContentEntityStorageSchemaIndexFilledTest.php
index 277762b..ef239fe 100644
--- a/core/modules/system/src/Tests/Entity/Update/SqlContentEntityStorageSchemaIndexFilledTest.php
+++ b/core/modules/system/src/Tests/Entity/Update/SqlContentEntityStorageSchemaIndexFilledTest.php
@@ -17,9 +17,9 @@ class SqlContentEntityStorageSchemaIndexFilledTest extends SqlContentEntityStora
   /**
    * {@inheritdoc}
    */
-  public function setUp() {
+  protected function setDatabaseDumpFiles() {
+    parent::setDatabaseDumpFiles();
     $this->databaseDumpFiles[0] = __DIR__ . '/../../../../tests/fixtures/update/drupal-8.filled.standard.php.gz';
-    parent::setUp();
   }
 
 }
diff --git a/core/modules/system/src/Tests/Entity/Update/SqlContentEntityStorageSchemaIndexTest.php b/core/modules/system/src/Tests/Entity/Update/SqlContentEntityStorageSchemaIndexTest.php
index 3481b55..6b6cb57 100644
--- a/core/modules/system/src/Tests/Entity/Update/SqlContentEntityStorageSchemaIndexTest.php
+++ b/core/modules/system/src/Tests/Entity/Update/SqlContentEntityStorageSchemaIndexTest.php
@@ -19,11 +19,10 @@ class SqlContentEntityStorageSchemaIndexTest extends UpdatePathTestBase {
   /**
    * {@inheritdoc}
    */
-  public function setUp() {
+  protected function setDatabaseDumpFiles() {
     $this->databaseDumpFiles = [
       __DIR__ . '/../../../../tests/fixtures/update/drupal-8.bare.standard.php.gz',
     ];
-    parent::setUp();
   }
 
   /**
diff --git a/core/modules/system/src/Tests/Update/MenuTreeSerializationTitleFilledTest.php b/core/modules/system/src/Tests/Update/MenuTreeSerializationTitleFilledTest.php
index 9f8aba7..f62e8ee 100644
--- a/core/modules/system/src/Tests/Update/MenuTreeSerializationTitleFilledTest.php
+++ b/core/modules/system/src/Tests/Update/MenuTreeSerializationTitleFilledTest.php
@@ -17,9 +17,9 @@ class MenuTreeSerializationTitleFilledTest extends MenuTreeSerializationTitleTes
   /**
    * {@inheritdoc}
    */
-  public function setUp() {
+  protected function setDatabaseDumpFiles() {
+    parent::setDatabaseDumpFiles();
     $this->databaseDumpFiles[0] = __DIR__ . '/../../../tests/fixtures/update/drupal-8.filled.standard.php.gz';
-    parent::setUp();
   }
 
 }
diff --git a/core/modules/system/src/Tests/Update/MenuTreeSerializationTitleTest.php b/core/modules/system/src/Tests/Update/MenuTreeSerializationTitleTest.php
index 2439b1c..6c382f5 100644
--- a/core/modules/system/src/Tests/Update/MenuTreeSerializationTitleTest.php
+++ b/core/modules/system/src/Tests/Update/MenuTreeSerializationTitleTest.php
@@ -19,11 +19,10 @@ class MenuTreeSerializationTitleTest extends UpdatePathTestBase {
   /**
    * {@inheritdoc}
    */
-  public function setUp() {
+  protected function setDatabaseDumpFiles() {
     $this->databaseDumpFiles = [
       __DIR__ . '/../../../tests/fixtures/update/drupal-8.bare.standard.php.gz',
     ];
-    parent::setUp();
   }
 
   /**
diff --git a/core/modules/system/src/Tests/Update/RouterIndexOptimizationFilledTest.php b/core/modules/system/src/Tests/Update/RouterIndexOptimizationFilledTest.php
index 171e225..d0657f7 100644
--- a/core/modules/system/src/Tests/Update/RouterIndexOptimizationFilledTest.php
+++ b/core/modules/system/src/Tests/Update/RouterIndexOptimizationFilledTest.php
@@ -16,9 +16,9 @@ class RouterIndexOptimizationFilledTest extends RouterIndexOptimizationTest {
   /**
    * {@inheritdoc}
    */
-  public function setUp() {
+  protected function setDatabaseDumpFiles() {
+    parent::setDatabaseDumpFiles();
     $this->databaseDumpFiles[0] = __DIR__ . '/../../../tests/fixtures/update/drupal-8.filled.standard.php.gz';
-    parent::setUp();
   }
 
 }
diff --git a/core/modules/system/src/Tests/Update/RouterIndexOptimizationTest.php b/core/modules/system/src/Tests/Update/RouterIndexOptimizationTest.php
index b206011..ef85e5f 100644
--- a/core/modules/system/src/Tests/Update/RouterIndexOptimizationTest.php
+++ b/core/modules/system/src/Tests/Update/RouterIndexOptimizationTest.php
@@ -15,11 +15,10 @@ class RouterIndexOptimizationTest extends UpdatePathTestBase {
   /**
    * {@inheritdoc}
    */
-  public function setUp() {
+  protected function setDatabaseDumpFiles() {
     $this->databaseDumpFiles = [
       __DIR__ . '/../../../tests/fixtures/update/drupal-8.bare.standard.php.gz',
     ];
-    parent::setUp();
   }
 
   /**
diff --git a/core/modules/system/src/Tests/Update/UpdatePathTestBase.php b/core/modules/system/src/Tests/Update/UpdatePathTestBase.php
index d3d103d..c5197a2 100644
--- a/core/modules/system/src/Tests/Update/UpdatePathTestBase.php
+++ b/core/modules/system/src/Tests/Update/UpdatePathTestBase.php
@@ -130,9 +130,6 @@
   function __construct($test_id = NULL) {
     parent::__construct($test_id);
     $this->zlibInstalled = function_exists('gzopen');
-
-    // Set the update url.
-    $this->updateUrl = Url::fromRoute('system.db_update');
   }
 
   /**
@@ -144,6 +141,10 @@ function __construct($test_id = NULL) {
    * container that would normally be done via the installer.
    */
   protected function setUp() {
+
+    // Allow classes to set database dump files.
+    $this->setDatabaseDumpFiles();
+
     // We are going to set a missing zlib requirement property for usage
     // during the performUpgrade() and tearDown() methods. Also set that the
     // tests failed.
@@ -152,6 +153,11 @@ protected function setUp() {
       return;
     }
 
+    // Set the update url. This must be set here rather than in
+    // self::__construct() or the old URL generator will leak additional test
+    // sites.
+    $this->updateUrl = Url::fromRoute('system.db_update');
+
     // These methods are called from parent::setUp().
     $this->setBatch();
     $this->initUserSession();
@@ -192,6 +198,11 @@ protected function setUp() {
   }
 
   /**
+   * Set database dump files to be used.
+   */
+  abstract protected function setDatabaseDumpFiles();
+
+  /**
    * Add settings that are missed since the installer isn't run.
    */
   protected function prepareSettings() {
@@ -238,6 +249,9 @@ protected function runUpdates() {
     // Run the update hooks.
     $this->clickLink(t('Apply pending updates'));
 
+    // Ensure there are no failed updates.
+    $this->assertNoRaw('<strong>' . t('Failed:') . '</strong>');
+
     // The config schema can be incorrect while the update functions are being
     // executed. But once the update has been completed, it needs to be valid
     // again. Assert the schema of all configuration objects now.
diff --git a/core/modules/system/src/Tests/Update/UpdatePathTestBaseFilledTest.php b/core/modules/system/src/Tests/Update/UpdatePathTestBaseFilledTest.php
index ca60c77..30ed37d 100644
--- a/core/modules/system/src/Tests/Update/UpdatePathTestBaseFilledTest.php
+++ b/core/modules/system/src/Tests/Update/UpdatePathTestBaseFilledTest.php
@@ -17,9 +17,8 @@ class UpdatePathTestBaseFilledTest extends UpdatePathTestBaseTest {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setDatabaseDumpFiles() {
     $this->databaseDumpFiles[0] = __DIR__ . '/../../../tests/fixtures/update/drupal-8.filled.standard.php.gz';
-    parent::setUp();
   }
 
 }
diff --git a/core/modules/system/src/Tests/Update/UpdatePathTestBaseTest.php b/core/modules/system/src/Tests/Update/UpdatePathTestBaseTest.php
index fb01ecf..28e003a 100644
--- a/core/modules/system/src/Tests/Update/UpdatePathTestBaseTest.php
+++ b/core/modules/system/src/Tests/Update/UpdatePathTestBaseTest.php
@@ -24,9 +24,8 @@ class UpdatePathTestBaseTest extends UpdatePathTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setDatabaseDumpFiles() {
     $this->databaseDumpFiles = [__DIR__ . '/../../../tests/fixtures/update/drupal-8.bare.standard.php.gz'];
-    parent::setUp();
   }
 
   /**
diff --git a/core/modules/system/src/Tests/Update/UpdatePathWithBrokenRoutingFilledTest.php b/core/modules/system/src/Tests/Update/UpdatePathWithBrokenRoutingFilledTest.php
index 04e0a00..e27f007c 100644
--- a/core/modules/system/src/Tests/Update/UpdatePathWithBrokenRoutingFilledTest.php
+++ b/core/modules/system/src/Tests/Update/UpdatePathWithBrokenRoutingFilledTest.php
@@ -17,9 +17,9 @@ class UpdatePathWithBrokenRoutingFilledTest extends UpdatePathWithBrokenRoutingT
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
-    $this->databaseDumpFiles[0] =  '/../../../tests/fixtures/update/drupal-8.filled.standard.php.gz';
-    parent::setUp();
+  protected function setDatabaseDumpFiles() {
+    parent::setDatabaseDumpFiles();
+    $this->databaseDumpFiles[0] =  __DIR__ . '/../../../tests/fixtures/update/drupal-8.filled.standard.php.gz';
   }
 
 }
diff --git a/core/modules/system/src/Tests/Update/UpdatePathWithBrokenRoutingTest.php b/core/modules/system/src/Tests/Update/UpdatePathWithBrokenRoutingTest.php
index 551feab..46ef710 100644
--- a/core/modules/system/src/Tests/Update/UpdatePathWithBrokenRoutingTest.php
+++ b/core/modules/system/src/Tests/Update/UpdatePathWithBrokenRoutingTest.php
@@ -17,22 +17,17 @@ class UpdatePathWithBrokenRoutingTest extends UpdatePathTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setDatabaseDumpFiles() {
     $this->databaseDumpFiles = [
       __DIR__ . '/../../../tests/fixtures/update/drupal-8.bare.standard.php.gz',
       __DIR__ . '/../../../tests/fixtures/update/drupal-8.broken_routing.php',
     ];
-    parent::setUp();
   }
 
   /**
    * Tests running update.php with some form of broken routing.
    */
   public function testWithBrokenRouting() {
-    // Make sure we can get to the front page.
-    $this->drupalGet('<front>');
-    $this->assertResponse(200);
-
     // Simulate a broken router, and make sure the front page is
     // inaccessible.
     \Drupal::state()->set('update_script_test_broken_inbound', TRUE);
diff --git a/core/modules/views/src/Tests/Update/EntityViewsDataUpdateFilledTest.php b/core/modules/views/src/Tests/Update/EntityViewsDataUpdateFilledTest.php
index 50894f3..a7da229 100644
--- a/core/modules/views/src/Tests/Update/EntityViewsDataUpdateFilledTest.php
+++ b/core/modules/views/src/Tests/Update/EntityViewsDataUpdateFilledTest.php
@@ -17,9 +17,9 @@ class EntityViewsDataUpdateFilledTest extends EntityViewsDataUpdateTest {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setDatabaseDumpFiles() {
+    parent::setDatabaseDumpFiles();
     $this->databaseDumpFiles[0] = __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8.filled.standard.php.gz';
-    parent::setUp();
   }
 
 }
diff --git a/core/modules/views/src/Tests/Update/EntityViewsDataUpdateTest.php b/core/modules/views/src/Tests/Update/EntityViewsDataUpdateTest.php
index ba8db1f..a998844 100644
--- a/core/modules/views/src/Tests/Update/EntityViewsDataUpdateTest.php
+++ b/core/modules/views/src/Tests/Update/EntityViewsDataUpdateTest.php
@@ -22,13 +22,11 @@ class EntityViewsDataUpdateTest extends UpdatePathTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setDatabaseDumpFiles() {
     $this->databaseDumpFiles = [
       __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8.bare.standard.php.gz',
       __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8.views-entity-views-data-2455125.php',
     ];
-
-    parent::setUp();
   }
 
   /**
