Index: sdk/lib/_internal/pub/test/list_package_dirs/lockfile_error_test.dart |
diff --git a/sdk/lib/_internal/pub/test/list_package_dirs/missing_pubspec_test.dart b/sdk/lib/_internal/pub/test/list_package_dirs/lockfile_error_test.dart |
similarity index 56% |
copy from sdk/lib/_internal/pub/test/list_package_dirs/missing_pubspec_test.dart |
copy to sdk/lib/_internal/pub/test/list_package_dirs/lockfile_error_test.dart |
index da2feb35130202af39eb43d6f128f50b896ee4c0..893e20679480d004117789c1c26b7635d2844754 100644 |
--- a/sdk/lib/_internal/pub/test/list_package_dirs/missing_pubspec_test.dart |
+++ b/sdk/lib/_internal/pub/test/list_package_dirs/lockfile_error_test.dart |
@@ -3,6 +3,7 @@ |
// BSD-style license that can be found in the LICENSE d.file. |
import 'package:path/path.dart' as path; |
+import 'package:scheduled_test/scheduled_test.dart'; |
import '../../lib/src/exit_codes.dart' as exit_codes; |
import '../../lib/src/io.dart'; |
@@ -11,16 +12,17 @@ import '../test_pub.dart'; |
main() { |
initConfig(); |
- // This is a regression test for #20065. |
- integration("reports a missing pubspec error using JSON", () { |
- d.dir(appPath).create(); |
+ integration("reports the lockfile path when there is an error in it", () { |
+ d.dir(appPath, [ |
+ d.appPubspec(), |
+ d.file("pubspec.lock", "some bad yaml") |
+ ]).create(); |
schedulePub(args: ["list-package-dirs", "--format=json"], |
outputJson: { |
- "error": |
- 'Could not find a file named "pubspec.yaml" in "' |
- '${canonicalize(path.join(sandboxDir, appPath))}".' |
+ "error": contains('The lockfile must be a YAML mapping.'), |
+ "path": canonicalize(path.join(sandboxDir, appPath, "pubspec.lock")) |
}, |
- exitCode: 1); |
+ exitCode: exit_codes.DATA); |
}); |
} |