anchor.diff:        askAboutTest();
       }
       return new WaitForInputWorkflowAction();
  +  }
  +
  +  Future<WorkflowAction> _fixAllSimilarTests() async {
  +    for (FailingTest similarTest in _remainingTests) {
  +      _currentWorkingItem = new FixWorkingItem(similarTest.result.name,
  +          similarTest, _statusExpectations, _lastComment, this._customSections);
  +      _currentWorkingItem.init();
  +      // Outcome may be larger from the previous one, but current newOutcome
  +      // will always be a singleton list. So we check by matching first
  +      // element.
  +      var outcomeIsSame = _currentWorkingItem.newOutcome.first ==
  +          _lastWorkingItem.newOutcome.first;
  +      var lastConfigurations =
  +          _lastWorkingItem.failingTest.failingConfigurations;
  +      var currentConfigurations =
  +          _currentWorkingItem.failingTest.failingConfigurations;
  +      var sameConfigurations = lastConfigurations.length ==
  +              currentConfigurations.length &&
  +          lastConfigurations.every(
  +              (configuration) => currentConfigurations.contains(configuration));
  +      if (outcomeIsSame && sameConfigurations) {
  +        _currentWorkingItem.currentSections = _lastWorkingItem.currentSections;
  +        print("Auto-fixing ${_currentWorkingItem.name}");
  +        var realLast = _lastWorkingItem;
  +        await fixFailingTest(); // Sets _lastWorkingItem to _currentWorkingItem
  +        _lastWorkingItem = realLast; // Might not be needed
  +      }
  +    }
  +    return new NavigateStepWorkflowAction(this, const <FailingTest>[]);
     }
   
     @override
  
positive.code:   /// Fixes the failing test based on the data in [_currentWorkingItem].
    Future fixFailingTest() async {
      // Delete all existing entries that are wrong.
      var statusFiles = new Set<StatusFile>();
      for (var statusEntry in _currentWorkingItem.statusEntries) {
        statusEntry.section.entries.remove(statusEntry.entry);
        statusFiles.add(statusEntry.statusFile);
      }
      // Add new expectations to status sections.
      var path = getQualifiedNameForTest(_currentWorkingItem.name);
  
negative.code:         currentSection.statusFile.sections.add(currentSection.section);
        }
        currentSection.section.entries.add(statusEntry);
        changedFiles.add(currentSection.statusFile);
      }
      // Save the modified status files.
      for (var file in changedFiles) {
        await new File(file.path)
            .writeAsString(normalizeStatusFile(file).toString());
      }
      _lastWorkingItem = _currentWorkingItem;
    }
  