| Index: sdk/lib/_internal/pub/test/test_pub.dart
|
| diff --git a/sdk/lib/_internal/pub/test/test_pub.dart b/sdk/lib/_internal/pub/test/test_pub.dart
|
| index 2380ed31d10e97c22177401a1f972b7de5a88863..9160e75e011f845f49b0d3cd81f178f700f7534c 100644
|
| --- a/sdk/lib/_internal/pub/test/test_pub.dart
|
| +++ b/sdk/lib/_internal/pub/test/test_pub.dart
|
| @@ -218,9 +218,10 @@ Map<String, List<Map>> _servedPackages;
|
| /// [pubspecs] is a list of unserialized pubspecs representing the packages to
|
| /// serve.
|
| ///
|
| -/// Subsequent calls to [servePackages] will add to the set of packages that
|
| -/// are being served. Previous packages will continue to be served.
|
| -void servePackages(List<Map> pubspecs) {
|
| +/// If [replace] is false, subsequent calls to [servePackages] will add to the
|
| +/// set of packages that are being served. Previous packages will continue to be
|
| +/// served. Otherwise, the previous packages will no longer be served.
|
| +void servePackages(List<Map> pubspecs, {bool replace: false}) {
|
| if (_servedPackages == null || _servedPackageDir == null) {
|
| _servedPackages = <String, List<Map>>{};
|
| _servedApiPackageDir = d.dir('packages', []);
|
| @@ -239,6 +240,8 @@ void servePackages(List<Map> pubspecs) {
|
|
|
| schedule(() {
|
| return awaitObject(pubspecs).then((resolvedPubspecs) {
|
| + if (replace) _servedPackages.clear();
|
| +
|
| for (var spec in resolvedPubspecs) {
|
| var name = spec['name'];
|
| var version = spec['version'];
|
|
|