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

Side by Side Diff: tools/testing/dart/test_runner.dart

Issue 8609012: Fix timing of both dart and python test scripts. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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_runner"); 5 #library("test_runner");
6 6
7 #import("status_file_parser.dart"); 7 #import("status_file_parser.dart");
8 #import("test_progress.dart"); 8 #import("test_progress.dart");
9 9
10 /** 10 /**
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 } 184 }
185 185
186 186
187 class ProcessQueue { 187 class ProcessQueue {
188 int numProcesses = 0; 188 int numProcesses = 0;
189 final int maxProcesses; 189 final int maxProcesses;
190 Queue<TestCase> tests; 190 Queue<TestCase> tests;
191 ProgressIndicator progress; 191 ProgressIndicator progress;
192 var onDone; 192 var onDone;
193 193
194 ProcessQueue(Map configuration, this.onDone) 194 ProcessQueue(int this.maxProcesses,
195 String progress,
196 Date start_time,
197 this.onDone)
195 : tests = new Queue<TestCase>(), 198 : tests = new Queue<TestCase>(),
196 maxProcesses = configuration['tasks'], 199 progress = new ProgressIndicator.fromName(progress, start_time);
197 progress = new ProgressIndicator.fromName(configuration['progress']);
198 200
199 tryRunTest() { 201 tryRunTest() {
200 if (tests.isEmpty() && numProcesses == 0) { 202 if (tests.isEmpty() && numProcesses == 0) {
201 progress.allDone(); 203 progress.allDone();
202 onDone(); 204 onDone();
203 } 205 }
204 if (numProcesses < maxProcesses && !tests.isEmpty()) { 206 if (numProcesses < maxProcesses && !tests.isEmpty()) {
205 TestCase test = tests.removeFirst(); 207 TestCase test = tests.removeFirst();
206 progress.start(test); 208 progress.start(test);
207 Function oldCallback = test.completedHandler; 209 Function oldCallback = test.completedHandler;
208 Function wrapper = (TestCase test_arg) { 210 Function wrapper = (TestCase test_arg) {
209 numProcesses--; 211 numProcesses--;
210 progress.done(test_arg); 212 progress.done(test_arg);
211 tryRunTest(); 213 tryRunTest();
212 oldCallback(test_arg); 214 oldCallback(test_arg);
213 }; 215 };
214 test.completedHandler = wrapper; 216 test.completedHandler = wrapper;
215 new RunningProcess(test, test.timeout).start(); 217 new RunningProcess(test, test.timeout).start();
216 numProcesses++; 218 numProcesses++;
217 } 219 }
218 } 220 }
219 221
220 runTest(TestCase test) { 222 runTest(TestCase test) {
221 progress.testAdded(); 223 progress.testAdded();
222 tests.add(test); 224 tests.add(test);
223 tryRunTest(); 225 tryRunTest();
224 } 226 }
225 } 227 }
OLDNEW
« tools/testing/dart/test_progress.dart ('K') | « tools/testing/dart/test_progress.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698