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

Side by Side Diff: utils/testrunner/testrunner.dart

Issue 10966020: Added support for running an HTTP server during the test and being able to serve up static files. L… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 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 | Annotate | Revision Log
OLDNEW
1 //#!/usr/bin/env dart 1 //#!/usr/bin/env dart
2 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 // for details. All rights reserved. Use of this source code is governed by a 3 // for details. All rights reserved. Use of this source code is governed by a
4 // BSD-style license that can be found in the LICENSE file. 4 // BSD-style license that can be found in the LICENSE file.
5 5
6 /** 6 /**
7 * testrunner is a program to run Dart unit tests. Unlike $DART/tools/test.dart, 7 * testrunner is a program to run Dart unit tests. Unlike $DART/tools/test.dart,
8 * this program is intended for 3rd parties to be able to run unit tests in 8 * this program is intended for 3rd parties to be able to run unit tests in
9 * a batched fashion. As such, it adds some features and removes others. Some 9 * a batched fashion. As such, it adds some features and removes others. Some
10 * of the removed features are: 10 * of the removed features are:
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 * create or update the layout files (and implicitly pass the tests). 64 * create or update the layout files (and implicitly pass the tests).
65 */ 65 */
66 66
67 // TODO - layout tests that use PNGs rather than DRT text render dumps. 67 // TODO - layout tests that use PNGs rather than DRT text render dumps.
68 #library('testrunner'); 68 #library('testrunner');
69 #import('dart:io'); 69 #import('dart:io');
70 #import('dart:isolate'); 70 #import('dart:isolate');
71 #import('dart:math'); 71 #import('dart:math');
72 #import('../../pkg/args/lib/args.dart'); 72 #import('../../pkg/args/lib/args.dart');
73 73
74 #source('client_server_task.dart');
74 #source('configuration.dart'); 75 #source('configuration.dart');
75 #source('dart_task.dart');
76 #source('dart_wrap_task.dart'); 76 #source('dart_wrap_task.dart');
77 #source('dart2js_task.dart'); 77 #source('dart2js_task.dart');
78 #source('delete_task.dart'); 78 #source('delete_task.dart');
79 #source('drt_task.dart');
80 #source('html_wrap_task.dart'); 79 #source('html_wrap_task.dart');
81 #source('macros.dart'); 80 #source('macros.dart');
82 #source('options.dart'); 81 #source('options.dart');
83 #source('pipeline_runner.dart'); 82 #source('pipeline_runner.dart');
84 #source('pipeline_task.dart'); 83 #source('pipeline_task.dart');
85 #source('run_process_task.dart'); 84 #source('run_process_task.dart');
86 #source('utils.dart'); 85 #source('utils.dart');
87 86
88 /** The set of [PipelineRunner]s to execute. */ 87 /** The set of [PipelineRunner]s to execute. */
89 List _tasks; 88 List _tasks;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 // by these two templates. 166 // by these two templates.
168 var HTMLFile = 167 var HTMLFile =
169 '${Macros.directory}$pathSep${Macros.filenameNoExtension}.html'; 168 '${Macros.directory}$pathSep${Macros.filenameNoExtension}.html';
170 var CSSFile = 169 var CSSFile =
171 '${Macros.directory}$pathSep${Macros.filenameNoExtension}.css'; 170 '${Macros.directory}$pathSep${Macros.filenameNoExtension}.css';
172 pipeline.add(new HtmlWrapTask(Macros.fullFilePath, 171 pipeline.add(new HtmlWrapTask(Macros.fullFilePath,
173 HTMLFile, tempHTMLFile, CSSFile, tempCSSFile)); 172 HTMLFile, tempHTMLFile, CSSFile, tempCSSFile));
174 } 173 }
175 174
176 // Add the execution step. 175 // Add the execution step.
176 var command;
177 var flags;
178 var task;
177 if (runtime == 'vm' || config.layoutPixel || config.layoutText) { 179 if (runtime == 'vm' || config.layoutPixel || config.layoutText) {
180 command = config.dartPath;
178 if (checkedMode) { 181 if (checkedMode) {
179 pipeline.add(new DartTask.checked(tempDartFile)); 182 flags = ['--enable_asserts', '--enable_type_checks', tempDartFile];
180 } else { 183 } else {
181 pipeline.add(new DartTask(tempDartFile)); 184 flags = [tempDartFile];
182 } 185 }
183 } else { 186 } else {
184 pipeline.add(new DrtTask(Macros.fullFilePath, tempHTMLFile)); 187 command = config.drtPath;
188 flags = ['--no-timeout', tempHTMLFile];
185 } 189 }
190 if (config.runServer) {
191 task = new RunClientServerTask(command, flags, config.timeout);
192 } else {
193 task = new RunProcessTask(command, flags, config.timeout);
194 }
195 pipeline.add(task);
186 return pipeline; 196 return pipeline;
187 } 197 }
188 198
189 /** 199 /**
190 * Given a [List] of [testFiles], either print the list or create 200 * Given a [List] of [testFiles], either print the list or create
191 * and execute pipelines for the files. 201 * and execute pipelines for the files.
192 */ 202 */
193 void processTests(List pipelineTemplate, List testFiles) { 203 void processTests(List pipelineTemplate, List testFiles) {
194 _outStream = getStream(config.outputStream); 204 _outStream = getStream(config.outputStream);
195 _logStream = getStream(config.logStream); 205 _logStream = getStream(config.logStream);
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 } 301 }
292 buildFileList(dirs, 302 buildFileList(dirs,
293 new RegExp(options['test-file-pattern']), options['recurse'], 303 new RegExp(options['test-file-pattern']), options['recurse'],
294 (f) => processTests(pipelineTemplate, f)); 304 (f) => processTests(pipelineTemplate, f));
295 } 305 }
296 } 306 }
297 } 307 }
298 } 308 }
299 309
300 310
OLDNEW
« utils/testrunner/http_server_test_runner.dart ('K') | « utils/testrunner/run_process_task.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698