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

Unified Diff: tools/test.dart

Issue 11810004: Make browser tests all run from a server instead of the local filesystem. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: tools/test.dart
diff --git a/tools/test.dart b/tools/test.dart
index 77e4158f88d5f3979a3cf7dcd58b7dcf55a6cd48..984e57d468184666e07cc443fa2ffdb4086f8e54 100755
--- a/tools/test.dart
+++ b/tools/test.dart
@@ -81,7 +81,7 @@ main() {
var verbose = firstConf['verbose'];
var printTiming = firstConf['time'];
var listTests = firstConf['list'];
-
+
if (!firstConf['append_flaky_log']) {
var file = new File(TestUtils.flakyFileName());
if (file.existsSync()) {
@@ -104,11 +104,29 @@ main() {
print(Strings.join(output_words, ' '));
}
+ // Start global http servers that serve the entire dart repo.
+ // The http server is available on window.location.port, and a second server
+ // for cross-domain tests can be found by calling getCrossOriginPortNumber().
+ if (!listTests) {
+ // Only start the server if we are running browser tests.
+ var runningBrowserTests = configurations.any((config) {
+ return TestUtils.isBrowserRuntime(config['runtime']);
+ });
+ if (runningBrowserTests) {
+ TestingServerRunner.startHttpServer('127.0.0.1');
+ // We start two servers so that we can test cross-domain tests.
+ TestingServerRunner.startHttpServer('127.0.0.1',
+ allowedPort: TestingServerRunner.serverList[0].port);
+ }
+ }
+
var configurationIterator = configurations.iterator;
void enqueueConfiguration(ProcessQueue queue) {
if (!configurationIterator.moveNext()) return;
var conf = configurationIterator.current;
+ TestingServerRunner.setPackageRootDir(conf);
+
for (String key in selectors.keys) {
if (key == 'co19') {
queue.addTestSuite(new Co19TestSuite(conf));
@@ -126,29 +144,19 @@ main() {
final name = testSuiteDir.filename;
if (selectors.containsKey(name)) {
queue.addTestSuite(
- new StandardTestSuite.forDirectory(conf, testSuiteDir));
+ new StandardTestSuite.forDirectory(conf, testSuiteDir,
+ serverList: TestingServerRunner.serverList));
}
}
}
- // Start global http server that serves the entire dart repo.
- // The http server is available on localhost:9876 for any
- // test that needs to load resources from the repo over http.
- if (!listTests) {
- // Only start the server if we are running browser tests.
- var runningBrowserTests = configurations.any((config) {
- return TestUtils.isBrowserRuntime(config['runtime']);
- });
- if (runningBrowserTests) startHttpServer('127.0.0.1', 9876);
- }
-
// Start process queue.
new ProcessQueue(maxProcesses,
progressIndicator,
startTime,
printTiming,
enqueueConfiguration,
- () => terminateHttpServer(),
+ () => TestingServerRunner.terminateHttpServers(),
verbose,
listTests);
}

Powered by Google App Engine
This is Rietveld 408576698