anchor.diff:      // TODO(paulberry): we should also verify that the package map itself is
       // correct.  See dartbug.com/23909.
     }
  -
  -  Map<String, List<Folder>> _packageMap(String contextPath) {
  -    Folder folder = resourceProvider.getFolder(contextPath);
  -    return manager.folderMap[folder]?.sourceFactory?.packageMap;
  +}
  +
  +@reflectiveTest
  +class AbstractContextManagerTest_Driver extends AbstractContextManagerTest {
  +  bool get enableAnalysisDriver => true;
  +
  +  @failingTest
  +  test_embedder_added() {
  +    // NoSuchMethodError: The getter 'apiSignature' was called on null.
  +    // Receiver: null
  +    // Tried calling: apiSignature
  +    // dart:core                                                          Object.noSuchMethod
  +    // package:analyzer/src/dart/analysis/driver.dart 460:20              AnalysisDriver.configure
  +    // package:analysis_server/src/context_manager.dart 1043:16           ContextManagerImpl._checkForPackagespecUpdate
  +    // package:analysis_server/src/context_manager.dart 1553:5            ContextManagerImpl._handleWatchEvent
  +    //return super.test_embedder_added();
  +    fail('NoSuchMethodError');
  +  }
  +
  +  @failingTest
  +  test_embedder_packagespec() async {
  +    // NoSuchMethodError: The getter 'apiSignature' was called on null.
  +    // Receiver: null
  +    // Tried calling: apiSignature
  +    // dart:core                                                          Object.noSuchMethod
  +    // package:analyzer/src/dart/analysis/driver.dart 248:20              AnalysisDriver.AnalysisDriver
  +    // test/context_manager_test.dart 2698:25                             TestContextManagerCallbacks.addAnalysisDriver
  +    // package:analysis_server/src/context_manager.dart 1186:39           ContextManagerImpl._createContext
  +    // package:analysis_server/src/context_manager.dart 1247:16           ContextManagerImpl._createContexts
  +    // package:analysis_server/src/context_manager.dart 886:9             ContextManagerImpl.setRoots
  +    // test/context_manager_test.dart 154:13                              AbstractContextManagerTest.test_embedder_packagespec.<async>
  +    return super.test_embedder_packagespec();
  +  }
  +
  +  @failingTest
  +  void test_setRoots_addPackageRoot() {
  +    // Bad state: Should not be used with the new analysis driver
  +    // package:analysis_server/src/context_manager.dart 561:7             ContextManagerImpl.folderMap
  +    // package:analysis_server/src/context_manager.dart 1709:31           ContextManagerImpl._updateContextPackageUriResolver
  +    // package:analysis_server/src/context_manager.dart 1668:5            ContextManagerImpl._recomputeFolderDisposition
  +    // package:analysis_server/src/context_manager.dart 1420:7            ContextManagerImpl._handleWatchEvent
  +    return super.test_setRoots_addPackageRoot();
  +  }
  +
  +  @failingTest
  +  void test_setRoots_changePackageRoot() {
  +    // Bad state: Should not be used with the new analysis driver
  +    // package:analysis_server/src/context_manager.dart 561:7             ContextManagerImpl.folderMap
  +    // package:analysis_server/src/context_manager.dart 1709:31           ContextManagerImpl._updateContextPackageUriResolver
  +    // package:analysis_server/src/context_manager.dart 1668:5            ContextManagerImpl._recomputeFolderDisposition
  +    // package:analysis_server/src/context_manager.dart 1420:7            ContextManagerImpl._handleWatchEvent
  +    return super.test_setRoots_changePackageRoot();
  +  }
  +
  +  @failingTest
  +  void test_setRoots_removePackageRoot() {
  +    // Bad state: Should not be used with the new analysis driver
  +    // package:analysis_server/src/context_manager.dart 561:7             ContextManagerImpl.folderMap
  +    // package:analysis_server/src/context_manager.dart 1709:31           ContextManagerImpl._updateContextPackageUriResolver
  +    // package:analysis_server/src/context_manager.dart 1668:5            ContextManagerImpl._recomputeFolderDisposition
  +    // package:analysis_server/src/context_manager.dart 1420:7            ContextManagerImpl._handleWatchEvent
  +    return super.test_setRoots_removePackageRoot();
  +  }
  +
  +  @failingTest
  +  test_watch_modifyPackageMapDependency_fail() async {
  +    // Bad state: Should not be used with the new analysis driver
  +    // package:analysis_server/src/context_manager.dart 561:7             ContextManagerImpl.folderMap
  +    // package:analysis_server/src/context_manager.dart 1709:31           ContextManagerImpl._updateContextPackageUriResolver
  +    // package:analysis_server/src/context_manager.dart 1668:5            ContextManagerImpl._recomputeFolderDisposition
  +    // package:analysis_server/src/context_manager.dart 1420:7            ContextManagerImpl._handleWatchEvent
  +    //return super.test_watch_modifyPackageMapDependency_fail();
  +    fail('StateError thrown');
     }
   }
   
  
positive.code:   }
  
    void assertContextFiles(String contextPath, List<String> expectedFiles) {
      var actualFiles = currentContextFilePaths[contextPath].keys;
      expect(actualFiles, unorderedEquals(expectedFiles));
    }
  
    void assertContextPaths(List<String> expected) {
      expect(currentContextPaths, unorderedEquals(expected));
    }
  
    @override
  
negative.code:         resourceProvider, sdkManager, new ContentCache(),
          options: builderOptions);
      return builder;
    }
  
    /**
     * Return the paths to the files being analyzed in the current context root.
     */
    Iterable<Source> currentFileSources(String contextPath) {
      if (currentDriver == null) {
        if (currentContext == null) {
          return <Source>[];
        }
        Set<Source> sources = currentContextSources[contextPath];
        return sources ?? <Source>[];
      }
      AnalysisDriver driver = driverMap[contextPath];
      SourceFactory sourceFactory = driver.sourceFactory;
      return driver.addedFiles.map((String path) {
        File file = resourceProvider.getFile(path);
        Source source = file.createSource();
        Uri uri = sourceFactory.restoreUri(source);
        return file.createSource(uri);
      });
    }
  
    /**
     * Return the paths to the files being analyzed in the current context root.
     */
    Iterable<String> getCurrentFilePaths(String contextPath) {
      if (currentDriver == null) {
        if (currentContext == null) {
          return <String>[];
        }
        Map<String, int> fileMap = currentContextFilePaths[contextPath];
        if (fileMap == null) {
          return <String>[];
        }
        return fileMap.keys;
      }
      return driverMap[contextPath].addedFiles;
    }
  
    @override
  