anchor.diff:      }
     });
   
  +  /// Asserts that [platforms] is a subset of [_config.platforms], and returns
  +  /// it as a set.
  +  ///
  +  /// Returns `null` if [platforms] is `null`.
  +  Set<TestPlatform> _validatePlatformSubset(Iterable<TestPlatform> platforms) {
  +    if (platforms == null) return null;
  +    platforms = platforms.toSet();
  +    if (platforms.every(_config.platforms.contains)) return platforms;
  +    throw new ArgumentError.value(platforms, 'platforms',
  +        "must be a subset of ${_config.platforms}.");
  +  }
  +
     Future closeEphemeral() async {
       await Future.wait(_platformPlugins.values.map((memo) async {
         if (!memo.hasRun) return;
  
positive.code:   /// This emits [LoadSuite]s that must then be run to emit the actual
    /// [RunnerSuite]s defined in the file.
    ///
    /// This will emit a [LoadException] if the file fails to load.
    Stream<LoadSuite> loadFile(String path) =>
        // Ensure that the right config is current when invoking platform plugins.
        _config.asCurrent(() async* {
      var suiteMetadata;
      try {
        suiteMetadata = parseMetadata(path);
  
negative.code:       return;
      }
  
      for (var platform in platforms ?? _config.platforms) {
        if (!suiteMetadata.testOn.evaluate(platform, os: currentOS)) continue;
  
        var metadata = suiteMetadata.forPlatform(platform, os: currentOS);
  