anchor.diff:      final List<String> fetch = <String>[];
       final List<Directory> update = <Directory>[];
       final List<String> test = <String>[];
  +    bool hasTests = false;
       for (final String line in file.readAsLinesSync().map((String line) => line.trim())) {
         if (line.isEmpty) {
           // blank line
  
positive.code:     print('$failures failure$s.');
      return false;
    }
    if (verbose) {
      print('All tests passed!');
    }
    return true;
  }
  
  
negative.code:       throw FormatException('${errorPrefix}Second "fetch" directive does not match expected pattern (expected "git -C tests checkout HASH").');
      if (update.isEmpty)
        throw FormatException('${errorPrefix}No "update" directives specified. At least one directory must be specified. (It can be "." to just upgrade the root of the repository.)');
      if (!hasTests)
        throw FormatException('${errorPrefix}No "test" directives specified. At least one command must be specified to run tests.');
      return TestFile._(
        List<String>.unmodifiable(contacts),
        List<String>.unmodifiable(fetch),
  