anchor.diff:      });
     }
   
  -  void _commandComplete(int exitCode, {cachedOutput: null}) {
  +  void _commandComplete(int exitCode) {
       if (timeoutTimer != null) {
         timeoutTimer.cancel();
       }
  -    if (cachedOutput != null) {
  -      completer.complete(cachedOutput);
  -    } else {
  -      var commandOutput = _createCommandOutput(command, exitCode);
  -      command.writeCachedOutput(commandOutput);
  -      completer.complete(commandOutput);
  -    }
  +    var commandOutput = _createCommandOutput(command, exitCode);
  +    completer.complete(commandOutput);
     }
   
     CommandOutput _createCommandOutput(ProcessCommand command, int exitCode) {
  
positive.code:   String _outputFile;
    bool _neverSkipCompilation;
    List<Uri> _bootstrapDependencies;
  
    Future writeCachedOutput(CommandOutput output) {
      var file = new io.File(TestUtils.cachedOutputFile(_outputFile));
      return file.writeAsString(output.json)
        .catchError((error) { 
          DebugLogger.warning("Could not write cached output: $error");
          return null;
        });
    }
  
    Future<CommandOutput> get cachedOutput {
      var file = new io.File(TestUtils.cachedOutputFile(_outputFile));
      return file.exists().then((exists) {
        if (exists) return file.readAsString().then((content) {
          return new CompilationCommandOutputImpl.fromJson(this, content);
        });;
      });
    }
  
    CompilationCommand._(String displayName,
                         this._outputFile,
  
negative.code:     }
      return Expectation.FAIL;
    }
  }
  
  class BrowserCommandOutputImpl extends CommandOutputImpl {
  