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

Side by Side Diff: pkg/testing/lib/src/chain.dart

Issue 2743423009: Run dartfmt on remaining unformated pkg packages (Closed)
Patch Set: Run dartfmt on remaining unformated pkg packages Created 3 years, 9 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 unified diff | Download patch
« no previous file with comments | « pkg/testing/lib/src/analyze.dart ('k') | pkg/testing/lib/src/discover.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 library testing.chain; 5 library testing.chain;
6 6
7 import 'dart:async' show 7 import 'dart:async' show Future, Stream;
8 Future,
9 Stream;
10 8
11 import 'dart:convert' show 9 import 'dart:convert' show JSON, JsonEncoder;
12 JSON,
13 JsonEncoder;
14 10
15 import 'dart:io' show 11 import 'dart:io' show Directory, File, FileSystemEntity, exitCode;
16 Directory,
17 File,
18 FileSystemEntity,
19 exitCode;
20 12
21 import 'suite.dart' show 13 import 'suite.dart' show Suite;
22 Suite;
23 14
24 import '../testing.dart' show 15 import '../testing.dart' show TestDescription;
25 TestDescription;
26 16
27 import 'test_dart/status_file_parser.dart' show 17 import 'test_dart/status_file_parser.dart'
28 ReadTestExpectations, 18 show ReadTestExpectations, TestExpectations;
29 TestExpectations;
30 19
31 import 'zone_helper.dart' show 20 import 'zone_helper.dart' show runGuarded;
32 runGuarded;
33 21
34 import 'error_handling.dart' show 22 import 'error_handling.dart' show withErrorHandling;
35 withErrorHandling;
36 23
37 import 'log.dart' show 24 import 'log.dart'
38 logMessage, 25 show
39 logStepComplete, 26 logMessage,
40 logStepStart, 27 logStepComplete,
41 logSuiteComplete, 28 logStepStart,
42 logTestComplete, 29 logSuiteComplete,
43 logUnexpectedResult, 30 logTestComplete,
44 splitLines; 31 logUnexpectedResult,
32 splitLines;
45 33
46 import 'multitest.dart' show 34 import 'multitest.dart' show MultitestTransformer, isError;
47 MultitestTransformer,
48 isError;
49 35
50 import 'expectation.dart' show 36 import 'expectation.dart' show Expectation, ExpectationSet;
51 Expectation,
52 ExpectationSet;
53 37
54 typedef Future<ChainContext> CreateContext( 38 typedef Future<ChainContext> CreateContext(
55 Chain suite, Map<String, String> environment); 39 Chain suite, Map<String, String> environment);
56 40
57 /// A test suite for tool chains, for example, a compiler. 41 /// A test suite for tool chains, for example, a compiler.
58 class Chain extends Suite { 42 class Chain extends Suite {
59 final Uri source; 43 final Uri source;
60 44
61 final Uri uri; 45 final Uri uri;
62 46
63 final List<RegExp> pattern; 47 final List<RegExp> pattern;
64 48
65 final List<RegExp> exclude; 49 final List<RegExp> exclude;
66 50
67 final bool processMultitests; 51 final bool processMultitests;
68 52
69 Chain(String name, String kind, this.source, this.uri, Uri statusFile, 53 Chain(String name, String kind, this.source, this.uri, Uri statusFile,
70 this.pattern, this.exclude, this.processMultitests) 54 this.pattern, this.exclude, this.processMultitests)
71 : super(name, kind, statusFile); 55 : super(name, kind, statusFile);
72 56
73 factory Chain.fromJsonMap(Uri base, Map json, String name, String kind) { 57 factory Chain.fromJsonMap(Uri base, Map json, String name, String kind) {
74 Uri source = base.resolve(json["source"]); 58 Uri source = base.resolve(json["source"]);
75 Uri uri = base.resolve(json["path"]); 59 Uri uri = base.resolve(json["path"]);
76 Uri statusFile = base.resolve(json["status"]); 60 Uri statusFile = base.resolve(json["status"]);
77 List<RegExp> pattern = new List<RegExp>.from( 61 List<RegExp> pattern =
78 json["pattern"].map((String p) => new RegExp(p))); 62 new List<RegExp>.from(json["pattern"].map((String p) => new RegExp(p)));
79 List<RegExp> exclude = new List<RegExp>.from( 63 List<RegExp> exclude =
80 json["exclude"].map((String p) => new RegExp(p))); 64 new List<RegExp>.from(json["exclude"].map((String p) => new RegExp(p)));
81 bool processMultitests = json["process-multitests"] ?? false; 65 bool processMultitests = json["process-multitests"] ?? false;
82 return new Chain(name, kind, source, uri, statusFile, pattern, exclude, 66 return new Chain(name, kind, source, uri, statusFile, pattern, exclude,
83 processMultitests); 67 processMultitests);
84 } 68 }
85 69
86 void writeImportOn(StringSink sink) { 70 void writeImportOn(StringSink sink) {
87 sink.write("import '"); 71 sink.write("import '");
88 sink.write(source); 72 sink.write(source);
89 sink.write("' as "); 73 sink.write("' as ");
90 sink.write(name); 74 sink.write(name);
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 logTestComplete(++completed, unexpectedResults.length, 212 logTestComplete(++completed, unexpectedResults.length,
229 descriptions.length, suite, description); 213 descriptions.length, suite, description);
230 }); 214 });
231 if (isAsync) { 215 if (isAsync) {
232 futures.add(future); 216 futures.add(future);
233 return null; 217 return null;
234 } else { 218 } else {
235 return future; 219 return future;
236 } 220 }
237 } 221 }
222
238 // The input of the first step is [description]. 223 // The input of the first step is [description].
239 await doStep(description); 224 await doStep(description);
240 } 225 }
241 await Future.wait(futures); 226 await Future.wait(futures);
242 logSuiteComplete(); 227 logSuiteComplete();
243 if (unexpectedResults.isNotEmpty) { 228 if (unexpectedResults.isNotEmpty) {
244 unexpectedResults.forEach((TestDescription description, Result result) { 229 unexpectedResults.forEach((TestDescription description, Result result) {
245 logUnexpectedResult(suite, description, result, 230 logUnexpectedResult(
246 unexpectedOutcomes[description]); 231 suite, description, result, unexpectedOutcomes[description]);
247 }); 232 });
248 print("${unexpectedResults.length} failed:"); 233 print("${unexpectedResults.length} failed:");
249 unexpectedResults.forEach((TestDescription description, Result result) { 234 unexpectedResults.forEach((TestDescription description, Result result) {
250 print("${suite.name}/${description.shortName}: ${result.outcome}"); 235 print("${suite.name}/${description.shortName}: ${result.outcome}");
251 }); 236 });
252 } 237 }
253 } 238 }
254 239
255 Stream<TestDescription> list(Chain suite) async* { 240 Stream<TestDescription> list(Chain suite) async* {
256 Directory testRoot = new Directory.fromUri(suite.uri); 241 Directory testRoot = new Directory.fromUri(suite.uri);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 final Expectation outcome; 307 final Expectation outcome;
323 308
324 final error; 309 final error;
325 310
326 final StackTrace trace; 311 final StackTrace trace;
327 312
328 final List<String> logs = <String>[]; 313 final List<String> logs = <String>[];
329 314
330 Result(this.output, this.outcome, this.error, this.trace); 315 Result(this.output, this.outcome, this.error, this.trace);
331 316
332 Result.pass(O output) 317 Result.pass(O output) : this(output, Expectation.Pass, null, null);
333 : this(output, Expectation.Pass, null, null);
334 318
335 Result.crash(error, StackTrace trace) 319 Result.crash(error, StackTrace trace)
336 : this(null, Expectation.Crash, error, trace); 320 : this(null, Expectation.Crash, error, trace);
337 321
338 Result.fail(O output, [error, StackTrace trace]) 322 Result.fail(O output, [error, StackTrace trace])
339 : this(output, Expectation.Fail, error, trace); 323 : this(output, Expectation.Fail, error, trace);
340 324
341 String get log => logs.join(); 325 String get log => logs.join();
342 326
343 void addLog(String log) { 327 void addLog(String log) {
344 logs.add(log); 328 logs.add(log);
345 } 329 }
346 330
347 Result<O> copyWithOutcome(Expectation outcome) { 331 Result<O> copyWithOutcome(Expectation outcome) {
348 return new Result<O>(output, outcome, error, trace) 332 return new Result<O>(output, outcome, error, trace)..logs.addAll(logs);
349 ..logs.addAll(logs);
350 } 333 }
351 } 334 }
352 335
353 /// This is called from generated code. 336 /// This is called from generated code.
354 Future<Null> runChain( 337 Future<Null> runChain(CreateContext f, Map<String, String> environment,
355 CreateContext f, Map<String, String> environment, Set<String> selectors, 338 Set<String> selectors, String json) {
356 String json) {
357 return withErrorHandling(() async { 339 return withErrorHandling(() async {
358 Chain suite = new Suite.fromJsonMap(Uri.base, JSON.decode(json)); 340 Chain suite = new Suite.fromJsonMap(Uri.base, JSON.decode(json));
359 print("Running ${suite.name}"); 341 print("Running ${suite.name}");
360 ChainContext context = await f(suite, environment); 342 ChainContext context = await f(suite, environment);
361 return context.run(suite, selectors); 343 return context.run(suite, selectors);
362 }); 344 });
363 } 345 }
OLDNEW
« no previous file with comments | « pkg/testing/lib/src/analyze.dart ('k') | pkg/testing/lib/src/discover.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698