anchor.diff:  }
   
   Future<void> _runFlutterTest(Directory workingDir, { String target }) async {
  -  final String flutterToolsPath = fs.path.absolute(fs.path.join(
  +  final String flutterToolsSnapshotPath = fs.path.absolute(fs.path.join(
  +    '..',
  +    '..',
       'bin',
  -    'flutter_tools.dart',
  +    'cache',
  +    'flutter_tools.snapshot',
     ));
   
     // While flutter test does get packages, it doesn't write version
  
positive.code: 
    tearDown(() {
      tryToDelete(tempDir);
    });
  
    // Verify that we create a default project ('app') that is
  
negative.code:   await _analyzeProject(dir.path);
  }
  
  Future<void> _ensureFlutterToolsSnapshot() async {
    final String flutterToolsPath = fs.path.absolute(fs.path.join(
      'bin',
      'flutter_tools.dart',
    ));
    final String flutterToolsSnapshotPath = fs.path.absolute(fs.path.join(
      '..',
      '..',
      'bin',
      'cache',
      'flutter_tools.snapshot',
    ));
    final String dotPackages = fs.path.absolute(fs.path.join(
      '.packages',
    ));
  
    final File snapshotFile = fs.file(flutterToolsSnapshotPath);
    if (snapshotFile.existsSync()) {
      snapshotFile.renameSync(flutterToolsSnapshotPath + '.bak');
    }
  
    final List<String> snapshotArgs = <String>[
      ...dartVmFlags,
      '--snapshot=$flutterToolsSnapshotPath',
      '--packages=$dotPackages',
      flutterToolsPath,
    ];
    final ProcessResult snapshotResult = await Process.run(
      '../../bin/cache/dart-sdk/bin/dart',
      snapshotArgs,
    );
    if (snapshotResult.exitCode != 0) {
      print(snapshotResult.stdout);
      print(snapshotResult.stderr);
    }
    expect(snapshotResult.exitCode, 0);
  }
  
  Future<void> _restoreFlutterToolsSnapshot() async {
    final String flutterToolsSnapshotPath = fs.path.absolute(fs.path.join(
      '..',
      '..',
      'bin',
      'cache',
      'flutter_tools.snapshot',
    ));
  
    final File snapshotBackup = fs.file(flutterToolsSnapshotPath + '.bak');
    if (!snapshotBackup.existsSync()) {
      // No backup to restore.
      return;
    }
  
    snapshotBackup.renameSync(flutterToolsSnapshotPath);
  }
  
  Future<void> _analyzeProject(String workingDir) async {
    final String flutterToolsSnapshotPath = fs.path.absolute(fs.path.join(
      '..',
      '..',
      'bin',
      'cache',
      'flutter_tools.snapshot',
    ));
  
    final List<String> args = <String>[
      ...dartVmFlags,
      flutterToolsSnapshotPath,
      'analyze',
    ];
  
  