Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(213)

Unified Diff: sdk/lib/_internal/pub/test/build/outputs_error_to_json_test.dart

Issue 184113007: Support JSON output for pub build. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Re-upload. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/pub/test/build/outputs_error_to_json_test.dart
diff --git a/sdk/lib/_internal/pub/test/transformer/can_use_read_input_test.dart b/sdk/lib/_internal/pub/test/build/outputs_error_to_json_test.dart
similarity index 50%
copy from sdk/lib/_internal/pub/test/transformer/can_use_read_input_test.dart
copy to sdk/lib/_internal/pub/test/build/outputs_error_to_json_test.dart
index fba1eed718ec25ea170930a19ddaa6b9f38e3393..bb522acd236bbe6e3806c7343efca8b3747cecc7 100644
--- a/sdk/lib/_internal/pub/test/transformer/can_use_read_input_test.dart
+++ b/sdk/lib/_internal/pub/test/build/outputs_error_to_json_test.dart
@@ -1,12 +1,14 @@
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.file
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS d.file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library pub_tests;
+import 'package:scheduled_test/scheduled_test.dart';
+
+import '../../lib/src/exit_codes.dart' as exit_codes;
import '../descriptor.dart' as d;
import '../test_pub.dart';
-import '../serve/utils.dart';
const TRANSFORMER = """
import 'dart:async';
@@ -18,28 +20,21 @@ class RewriteTransformer extends Transformer {
String get allowedExtensions => '.txt';
- Future apply(Transform transform) {
- return transform.readInput(transform.primaryInput.id).toList()
- .then((contents) {
- var id = transform.primaryInput.id.changeExtension(".out");
- var asset = new Asset.fromString(id, "\$contents.out");
- transform.addOutput(asset);
- });
- }
+ Future apply(Transform transform) => throw new Exception('oh no!');
}
""";
main() {
initConfig();
- integration("a transform can use readInputAsString", () {
+ integration("outputs error to JSON in a failed build", () {
d.dir(appPath, [
d.pubspec({
"name": "myapp",
- "transformers": ["myapp/src/transformer"]
+ "transformers": ["myapp"]
}),
- d.dir("lib", [d.dir("src", [
+ d.dir("lib", [
d.file("transformer.dart", TRANSFORMER)
- ])]),
+ ]),
d.dir("web", [
d.file("foo.txt", "foo")
])
@@ -47,8 +42,17 @@ main() {
createLockFile('myapp', pkg: ['barback']);
- pubServe();
- requestShouldSucceed("foo.out", "[[102, 111, 111]].out");
- endPubServe();
+ schedulePub(args: ["build", "--format", "json"],
+ outputJson: {
+ "buildResult": "failure",
+ "errors": [
+ {
+ "error": startsWith(
+ "Transform Rewrite on myapp|web/foo.txt threw error: oh no!")
+ }
+ ],
+ "log": []
+ },
+ exitCode: exit_codes.DATA);
});
}

Powered by Google App Engine
This is Rietveld 408576698