function processAllTestResults(testResults) {
  let totalTests = 0;
  let totalFailed = 0;
  const allResults = {};
  let failureReports = '';

  for (let i = 0; i < testResults.length; i++) {
    const result = testResults[i];
    for (const testName in result) {
      totalTests++;
      allResults[testName] = result[testName];
      const failures = result[testName];
      if (failures.length) {
        totalFailed++;
        for (let j = 0; j < failures.length; j++) {
          failureReports += failures[j] + '\n';
        }
      }
    }
  }

  return {
    totalTests: totalTests,
    totalFailures: totalFailed,
    failureReports: failureReports,
    allResults: allResults
  };
}
Processes the test results returned from MultiTestRunner and creates a
consolidated result object that the test runner understands.
@param {!Array<!Object<string,!Array<string>>>} testResults The list of
    individual test results from MultiTestRunner.
@return {!ParallelTestResults} Flattened test report for all tests.