anchor.diff:        negatable: false,
         callback: (flag) => isLegacy = flag);
   
  -  argParser.addMultiOption("compiler",
  +  argParser.addOption("configuration",
         abbr: "c",
  -      help: "Which Dart implementations to run the tests on.",
  +      help: "Which Dart implementation to run the tests on.",
         allowed: ["analyzer", "cfe", "dart2js", "ddc", "vm"],
  -      callback: (implementations) {
  -    compilers.addAll(implementations.map((name) => compilerNames[name]));
  -  });
  +      callback: (option) => compiler = option as String);
   
     if (arguments.contains("--help")) {
       showUsage(argParser);
  
positive.code: 
    if (!isLegacy) testDir = toNnbdPath(testDir);
  
    var testArgs = [
      "--mode=release",
      if (!isLegacy) ...[
        "--enable-experiment=non-nullable",
        "--nnbd=strong",
      ],
      "--compiler=${compilers.join(',')}",
      testDir,
    ];
  
    print("Running tools/test.py ${testArgs.join(' ')}");
    await runProcessAsync("tools/test.py", testArgs);
  
negative.code:   "vm": "dartk",
  };
  
  const configurations = {
    "analyzer": "analyzer-asserts-strong-linux",
    "cfe": "cfe-strong-linux",
    "dart2js": "dart2js-weak-linux-x64-d8",
    "ddc": "dartdevk-strong-linux-release-chrome",
    "vm": "dartk-strong-linux-release-x64",
  };
  
  void main(List<String> arguments) async {
    var testDir = "";
    var isLegacy = false;
    var compiler = "ddc";
  
    var argParser = ArgParser();
    argParser.addFlag("legacy",
  