anchor.diff:  /// processes will host the Observatory server.
   final InternetAddress _kHost = InternetAddress.LOOPBACK_IP_V4;
   
  -void installHook({ @required String shellPath, CoverageCollector collector }) {
  +/// Configure the `test` package to work with Flutter.
  +///
  +/// On systems where each [FlutterPlatform] is only used to run one test suite
  +/// (that is, one Dart file with a `*_test.dart` file name and a single `void
  +/// main()`), you can set an observatory port and a diagnostic port explicitly.
  +void installHook({
  +  @required String shellPath,
  +  CoverageCollector collector,
  +  int observatoryPort,
  +  int diagnosticPort,
  +}) {
     hack.registerPlatformPlugin(
       <TestPlatform>[TestPlatform.vm],
  -    () => new FlutterPlatform(shellPath: shellPath, collector: collector),
  +    () => new FlutterPlatform(
  +      shellPath: shellPath,
  +      collector: collector,
  +      explicitObservatoryPort: observatoryPort,
  +      explicitDiagnosticPort: diagnosticPort,
  +    ),
     );
   }
   
  
positive.code:       int processObservatoryPort;
        _pipeStandardStreamsToConsole(
          process,
          storeObservatoryPort: (int observatoryPort) {
            assert(processObservatoryPort == null);
            printTrace('test $ourTestCount: using observatory port $observatoryPort from pid ${process.pid} to collect coverage');
            processObservatoryPort = observatoryPort;
          },
          startTimeoutTimer: () {
            new Future<_InitialResult>.delayed(_kTestStartupTimeout, () => timeout.complete());
  
negative.code:         listenerFile.path,
          packages: PackageMap.globalPackagesPath,
          enableObservatory: collector != null,
          observatoryPort: explicitObservatoryPort,
          diagnosticPort: explicitDiagnosticPort,
        );
        subprocessActive = true;
        finalizers.add(() async {
  