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

Side by Side Diff: lib/src/run_batch.dart

Issue 2059763002: Update dart2js deps to prevent crash on unsupported platform libraries. (Closed) Base URL: git@github.com:dart-lang/rasta.git@mandatory_initializer
Patch Set: Created 4 years, 6 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 | « no previous file | submodules.txt » ('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 rasta.run_batch; 5 library rasta.run_batch;
6 6
7 import 'dart:async' show 7 import 'dart:async' show
8 Future, 8 Future,
9 Stream; 9 Stream;
10 10
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 60
61 Uri testDirectory = compiler.translateUri(null, options.input); 61 Uri testDirectory = compiler.translateUri(null, options.input);
62 62
63 // TODO(ahe): This lists all tests in [testDirectory] and generates Kernel 63 // TODO(ahe): This lists all tests in [testDirectory] and generates Kernel
64 // IR for them all. However, batch mode should be a server that is 64 // IR for them all. However, batch mode should be a server that is
65 // controlled by test.dart. 65 // controlled by test.dart.
66 // TODO(ahe): Share more code with RunSingle. 66 // TODO(ahe): Share more code with RunSingle.
67 67
68 List<TestDescription> failures = <TestDescription>[]; 68 List<TestDescription> failures = <TestDescription>[];
69 69
70 int count = 1; 70 int count = 0;
71 print("\n"); 71 print("\n");
72 Stream<TestDescription> tests = 72 Stream<TestDescription> tests =
73 listTests(<Uri>[testDirectory], pattern: options.pattern); 73 listTests(<Uri>[testDirectory], pattern: options.pattern);
74 await for (TestDescription description in tests) { 74 await for (TestDescription description in tests) {
75 count++;
75 try { 76 try {
76 Options options = new Options( 77 Options options = new Options(
77 description.uri, 78 description.uri,
78 description.uri.resolve("${description.uri.path}.bart"), 79 description.uri.resolve("${description.uri.path}.bart"),
79 generateLibrary: this.options.generateLibrary); 80 generateLibrary: this.options.generateLibrary);
80 81
81 ir.Library library = await kernel.loadLibrary(options.input); 82 ir.Library library = await kernel.loadLibrary(options.input);
82 kernel.processWorkQueue(targetLibrary: options.input); 83 kernel.processWorkQueue(targetLibrary: options.input);
83 84
84 if (options.generateLibrary == true) { 85 if (options.generateLibrary == true) {
(...skipping 25 matching lines...) Expand all
110 String successes = padTo(count - failures.length, 5); 111 String successes = padTo(count - failures.length, 5);
111 String failuresPadded = padTo(failures.length, 5); 112 String failuresPadded = padTo(failures.length, 5);
112 print( 113 print(
113 "\u001b[1A" 114 "\u001b[1A"
114 "\u001b[2K" 115 "\u001b[2K"
115 "\u001b[1A" 116 "\u001b[1A"
116 "\u001b[2K" 117 "\u001b[2K"
117 "Average time per test: ${averageTimeMs}ms\n" 118 "Average time per test: ${averageTimeMs}ms\n"
118 "[${wallClock.elapsed} | --% | +$successes | -$failuresPadded ]" 119 "[${wallClock.elapsed} | --% | +$successes | -$failuresPadded ]"
119 ); 120 );
120 count++;
121 } 121 }
122 wallClock.stop(); 122 wallClock.stop();
123 String averageTimeMs = 123 String averageTimeMs =
124 (wallClock.elapsedMilliseconds / count).toStringAsFixed(3); 124 (wallClock.elapsedMilliseconds / count).toStringAsFixed(3);
125 125
126 if (failures.isNotEmpty) { 126 if (failures.isNotEmpty) {
127 print("\n=== Failures ===\n"); 127 print("\n=== Failures ===\n");
128 for (TestDescription description in failures) { 128 for (TestDescription description in failures) {
129 print("${relativize(Uri.base, description.uri, false)}: Fail"); 129 print("${relativize(Uri.base, description.uri, false)}: Fail");
130 } 130 }
131 } 131 }
132 132
133 print( 133 print(
134 """ 134 """
135 135
136 === Summary === 136 === Summary ===
137 Total: $count 137 Total: $count
138 Failures: ${failures.length} 138 Failures: ${failures.length}
139 Average time per test: ${averageTimeMs}ms 139 Average time per test: ${averageTimeMs}ms
140 Success rate: ${(100 - failures.length * 100/count).toStringAsFixed(2)}%"""); 140 Success rate: ${(100 - failures.length * 100/count).toStringAsFixed(2)}%""");
141 } 141 }
142 } 142 }
143 143
144 String padTo(int i, int pad) { 144 String padTo(int i, int pad) {
145 String result = (" " * pad) + "$i"; 145 String result = (" " * pad) + "$i";
146 return result.substring(result.length - pad); 146 return result.substring(result.length - pad);
147 } 147 }
OLDNEW
« no previous file with comments | « no previous file | submodules.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698