anchor.diff:        help: 'How many times to run each test. Set to a high value to look for flakes.',
         valueHelp: 'count',
       )
  +    ..addOption(
  +      'shards',
  +      defaultsTo: '1',
  +      help: 'How many shards to split the tests into. Used in continuous integration.',
  +      valueHelp: 'count',
  +    )
  +    ..addOption(
  +      'shard-index',
  +      defaultsTo: '0',
  +      help: 'The current shard to run the tests with the range [0 .. shards - 1]. Used in continuous integration.',
  +      valueHelp: 'count',
  +    )
       ..addFlag(
         'skip-on-fetch-failure',
         defaultsTo: false,
  
positive.code:   if (verbose)
      print('Starting run_tests.dart...');
  
    int testCount = 0;
    int failures = 0;
  
    if (verbose) {
      final String s = files.length == 1 ? '' : 's';
      print('${files.length} file$s specified.');
      print('');
    }
  
    for (final File file in files) {
      if (verbose)
        print('Processing ${file.path}...');
      TestFile instructions;
  
negative.code:   final bool skipTemplate = parsedArguments['skip-template'] as bool;
    final bool verbose = parsedArguments['verbose'] as bool;
    final bool help = parsedArguments['help'] as bool;
    final int numberShards = int.tryParse(parsedArguments['shards'] as String);
    final int shardIndex = int.tryParse(parsedArguments['shard-index'] as String);
    final List<File> files = parsedArguments
      .rest
      .expand((String path) => Glob(path).listSync())
  