anchor.diff:    migrationTest.setUp();
     print('Migrating');
     await migrationTest.run(packageRoot, port);
  -  if (port == null) {
  -    print('Done');
  -    io.exit(0);
  -  } else {
  -    print('Done.  Please point your browser to localhost:$port/\$filePath');
  -  }
  +  migrationTest.tearDown();
  +  print('Done.  Please point your browser to localhost:$port/\$filePath');
   }
   
   class MigrationBase {
     ResourceProvider resourceProvider = PhysicalResourceProvider.INSTANCE;
  -  MockServerChannel serverChannel;
  -  AnalysisServer server;
  +  late MockServerChannel serverChannel;
  +  late AnalysisServer server;
   
     AnalysisServer createAnalysisServer() {
       //
  
positive.code:   Map<String, String> get externalPackages =>
        ((testInfoJson['external_packages'] ?? {}) as Map).cast<String, String>();
  
    String get outputRoot => testInfoJson['output_root'];
  
    int get port => testInfoJson['port'];
  
    String get sdkRoot => testInfoJson['sdk_root'];
  
    String packageRoot(String packageName) {
      if (thirdPartyPackages.contains(packageName)) {
  
negative.code: 
    void tearDown() {
      server.done();
    }
  
    /// Returns a [Future] that completes when the server's analysis is complete.
  