anchor.diff:      this.host,
       this.previewDart2,
       this.port,
  -    this.dillFilePath,
  -  }) : assert(shellPath != null) {
  -
  -    // Compiler maintains and updates single incremental dill file.
  -    // Incremental compilation requests done for each test copy that file away
  -    // for independent execution.
  -    final Directory outputDillDirectory = fs.systemTempDirectory
  -        .createTempSync('output_dill');
  -    final File outputDill = outputDillDirectory.childFile('output.dill');
  -
  -    compilerController.stream.listen((CompilationRequest request) async {
  -      final bool isEmpty = compilationQueue.isEmpty;
  -      compilationQueue.add(request);
  -      // Only trigger processing if queue was empty - i.e. no other requests
  -      // are currently being processed. This effectively enforces "one
  -      // compilation request at a time".
  -      if (isEmpty) {
  -        while (compilationQueue.isNotEmpty) {
  -          final CompilationRequest request = compilationQueue.first;
  -          printTrace('Compiling ${request.path}');
  -          final String outputPath = await compiler.recompile(request.path,
  -            <String>[request.path],
  -            outputPath: outputDill.path
  -          );
  -          // Copy output dill next to the source file.
  -          await outputDill.copy(request.path + '.dill');
  -          compiler.accept();
  -          compiler.reset();
  -          request.result.complete(outputPath);
  -          // Only remove now when we finished processing the element
  -          compilationQueue.removeAt(0);
  -        }
  -      }
  -    }, onDone: () {
  -      outputDillDirectory.delete(recursive: true);
  -    });
  -  }
  +    this.precompiledDillPath,
  +  }) : assert(shellPath != null);
   
     final String shellPath;
     final TestWatcher watcher;
  
positive.code:         cancelOnError: true,
        );
  
        // Prepare a temporary directory to store the Dart file that will talk to us.
        // If a kernel file is given, then use that to launch the test.
        File listenerFile;
        if (dillFilePath == null) {
          final Directory temporaryDirectory = fs.systemTempDirectory
              .createTempSync('dart_test_listener');
          finalizers.add(() async {
            printTrace('test $ourTestCount: deleting temporary directory');
            temporaryDirectory.deleteSync(recursive: true);
          });
  
          // Prepare the Dart file that will talk to us and start the test.
          listenerFile = fs.file(
              '${temporaryDirectory.path}/listener.dart');
          listenerFile.createSync();
          listenerFile.writeAsStringSync(_generateTestMain(
            testUrl: fs.path.toUri(fs.path.absolute(testPath)).toString(),
            encodedWebsocketUrl: Uri.encodeComponent(_getWebSocketUrl(server)),
          ));
        }
        // Start the engine subprocess.
        printTrace('test $ourTestCount: starting shell process${previewDart2? " in preview-dart-2 mode":""}');
  
        String mainDart = listenerFile?.path ?? testPath;
        String bundlePath;
  
        if (previewDart2) {
          if (dillFilePath == null) {
            final Completer<String> completer = new Completer<String>();
            compilerController.add(
                new CompilationRequest(listenerFile.path, completer));
            mainDart = await completer.future;
  
            if (mainDart == null) {
              controller.sink.addError(
                  _getErrorMessage('Compilation failed', testPath, shellPath));
              return null;
            }
  
            // bundlePath needs to point to a folder with `platform.dill` file.
            final Directory tempBundleDirectory = fs.systemTempDirectory
                .createTempSync('flutter_bundle_directory');
            finalizers.add(() async {
              printTrace(
                  'test $ourTestCount: deleting temporary bundle directory');
              tempBundleDirectory.deleteSync(recursive: true);
            });
  
            // copy 'vm_platform_strong.dill' into 'platform.dill'
            final File vmPlatformStrongDill = fs.file(
              artifacts.getArtifactPath(Artifact.platformKernelDill),
            );
            final File platformDill = vmPlatformStrongDill.copySync(
              tempBundleDirectory
                  .childFile('platform.dill')
                  .path,
            );
            if (!platformDill.existsSync()) {
              printError('unexpected error copying platform kernel file');
            }
  
            bundlePath = tempBundleDirectory.path;
          } else {
            mainDart = dillFilePath;
            bundlePath = artifacts.getArtifactPath(Artifact.flutterPatchedSdkPath);
          }
        }
  
  
negative.code:   bool startPaused: false,
    bool previewDart2: false,
    int port: 0,
    String precompiledDillPath,
    int observatoryPort,
    InternetAddressType serverType: InternetAddressType.IP_V4,
  }) {
  