anchor.diff:  
     // Wait for stdout to be fully processed
     // because process.exitCode may complete first causing flaky tests.
  -  await subscription.asFuture<Null>();
  -  subscription.cancel();
  +  await Future.wait(<Future<Null>>[
  +    stdoutSubscription.asFuture<Null>(),
  +    stderrSubscription.asFuture<Null>(),
  +  ]);
  +  stdoutSubscription.cancel();
  +  stderrSubscription.cancel();
   
     return await process.exitCode;
   }
  
positive.code:     allowReentrantFlutter: allowReentrantFlutter,
      environment: environment
    );
    final StreamSubscription<String> subscription = process.stdout
      .transform(UTF8.decoder)
      .transform(const LineSplitter())
      .where((String line) => filter == null ? true : filter.hasMatch(line))
  
negative.code:           printStatus(message);
        }
      });
    final StreamSubscription<String> stderrSubscription = process.stderr
      .transform(UTF8.decoder)
      .transform(const LineSplitter())
      .where((String line) => filter == null ? true : filter.hasMatch(line))
  