anchor.diff:          processToKill: process, // This kills the subprocess whether coverage is enabled or not.
         );
   
  +      Completer<Null> timeout = new Completer<Null>();
  +
         // Pipe stdout and stderr from the subprocess to our printStatus console.
  -      _pipeStandardStreamsToConsole(process);
  +      _pipeStandardStreamsToConsole(process, startTimeoutTimer: () {
  +        new Future<_InitialResult>.delayed(_kTestStartupTimeout, () => timeout.complete());
  +      });
   
         // At this point, three things can happen next:
         // The engine could crash, in which case process.exitCode will complete.
  
positive.code: import '$testUrl' as test;
  
  void main() {
    String server = Uri.decodeComponent('$encodedWebsocketUrl');
    StreamChannel channel = serializeSuite(() {
      catchIsolateErrors();
  
negative.code:     return processManager.start(executable, arguments, environment: environment);
    }
  
    void _pipeStandardStreamsToConsole(
      Process process, {
      void startTimeoutTimer(),
    }) {
      for (Stream<List<int>> stream in
          <Stream<List<int>>>[process.stderr, process.stdout]) {
        stream.transform(UTF8.decoder)
          .transform(const LineSplitter())
          .listen((String line) {
            if (line == _kStartTimeoutTimerMessage && startTimeoutTimer != null)
              startTimeoutTimer();
            else if (line.startsWith('error: Unable to read Dart source \'package:test/'))
              printError('\n\nFailed to load test harness. Are you missing a dependency on flutter_test?\n');
            else if (line != null)
              printStatus('Shell: $line');
  