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

Side by Side Diff: lib/src/backend/live_test_controller.dart

Issue 1062813006: Add the ability to run test suites in parallel. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Code review changes Created 5 years, 8 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 | « CHANGELOG.md ('k') | lib/src/executable.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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library test.backend.live_test_controller; 5 library test.backend.live_test_controller;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 9
10 import 'package:stack_trace/stack_trace.dart'; 10 import 'package:stack_trace/stack_trace.dart';
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 } 152 }
153 153
154 /// Emits a line printed by the test over [LiveTest.onPrint]. 154 /// Emits a line printed by the test over [LiveTest.onPrint].
155 void print(String line) => _onPrintController.add(line); 155 void print(String line) => _onPrintController.add(line);
156 156
157 /// A wrapper for [_onRun] that ensures that it follows the guarantees for 157 /// A wrapper for [_onRun] that ensures that it follows the guarantees for
158 /// [LiveTest.run]. 158 /// [LiveTest.run].
159 Future _run() { 159 Future _run() {
160 if (_runCalled) { 160 if (_runCalled) {
161 throw new StateError("LiveTest.run() may not be called more than once."); 161 throw new StateError("LiveTest.run() may not be called more than once.");
162 } else if (_isClosed) {
163 throw new StateError("LiveTest.run() may not be called for a closed "
164 "test.");
162 } 165 }
163 _runCalled = true; 166 _runCalled = true;
164 167
165 _onRun(); 168 _onRun();
166 return liveTest.onComplete; 169 return liveTest.onComplete;
167 } 170 }
168 171
169 /// A wrapper for [_onClose] that ensures that all controllers are closed. 172 /// A wrapper for [_onClose] that ensures that all controllers are closed.
170 Future _close() { 173 Future _close() {
171 if (_isClosed) return completer.future; 174 if (_isClosed) return completer.future;
172 175
173 _onStateChangeController.close(); 176 _onStateChangeController.close();
174 _onErrorController.close(); 177 _onErrorController.close();
175 178
176 if (_runCalled) { 179 if (_runCalled) {
177 _onClose(); 180 _onClose();
178 } else { 181 } else {
179 completer.complete(); 182 completer.complete();
180 } 183 }
181 184
182 return completer.future; 185 return completer.future;
183 } 186 }
184 } 187 }
OLDNEW
« no previous file with comments | « CHANGELOG.md ('k') | lib/src/executable.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698