anchor.diff:    statistic(brokenTests.length, tests.length,
         "tests were broken since last approval");
   
  +  // Warn about any builders where results weren't available.
  +  if (noResultsBuilds.isNotEmpty) {
  +    print("");
  +    noResultsBuilds.forEach((String builder, String buildUrl) {
  +      print("Warning: No results were found for $builder: <$buildUrl>");
  +    });
  +    print("Warning: Builders without results are usually due to infrastructure "
  +        "issues, please have a closer look at the affected builders and try "
  +        "the build again.");
  +  }
  +
     // Stop if there's nothing to do.
     if (unapprovedBots.isEmpty) {
       print("\nEvery test result has already been approved.");
  
positive.code:   // Load all the latest results for the selected bots, as well as flakiness
    // data, and the set of currently approved results. Each bot's latest build
    // is downloaded in parallel to make this phase faster.
    final testListFutures = <Future>[];
    for (final String bot in bots) {
      testListFutures
          .add(loadResultsFromBot(bot, options, changelistBuilds[bot]));
    }
  
    // Collect all the tests from the synchronous downloads.
  
negative.code: /// green.
  
  import 'dart:async';
  import 'dart:collection';
  import 'dart:convert';
  import 'dart:io';
  import 'dart:math';
  