async _doRunComplete(testContexts, aggregatedResult) {
    const earlyTeardown = this._bail > 0 && aggregatedResult.numFailedTests >= this._bail;
    if (earlyTeardown) {
      const lostTests = aggregatedResult.numTotalTestSuites - aggregatedResult.testResults.length;
      if (lostTests > 0 && config.testRunner.retries > 0) {
        console.warn(
          'Jest aborted the test execution before all scheduled test files have been reported.\n' +
          'If you want to retry the whole test run, please disable Jest\'s --bail option.'
        );
      }

      await unsafe_conductEarlyTeardown();
    }

    await this._lastRunComplete.promise;
    await this._dispatch('onRunComplete', testContexts, aggregatedResult);
  }
@private
@param {Set<import('@jest/reporters').TestContext>} testContexts
@param {import('@jest/test-result').AggregatedResult} aggregatedResult
@returns {Promise<void>}