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

Side by Side Diff: tools/test-runtime.dart

Issue 12340021: Start two http servers for every configuration (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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 // TODO(ager): Get rid of this version of test.dart when we don't have 6 // TODO(ager): Get rid of this version of test.dart when we don't have
7 // to worry about the special runtime checkout anymore. 7 // to worry about the special runtime checkout anymore.
8 // This file is identical to test.dart with test suites in the 8 // This file is identical to test.dart with test suites in the
9 // directories samples, client, compiler, and utils removed. 9 // directories samples, client, compiler, and utils removed.
10 10
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 ['Test configurations:'] : ['Test configuration:']; 65 ['Test configurations:'] : ['Test configuration:'];
66 for (Map conf in configurations) { 66 for (Map conf in configurations) {
67 List settings = ['compiler', 'runtime', 'mode', 'arch'] 67 List settings = ['compiler', 'runtime', 'mode', 'arch']
68 .mappedBy((name) => conf[name]).toList(); 68 .mappedBy((name) => conf[name]).toList();
69 if (conf['checked']) settings.add('checked'); 69 if (conf['checked']) settings.add('checked');
70 output_words.add(settings.join('_')); 70 output_words.add(settings.join('_'));
71 } 71 }
72 print(output_words.join(' ')); 72 print(output_words.join(' '));
73 } 73 }
74 74
75 var runningBrowserTests = configurations.any((config) {
76 return TestUtils.isBrowserRuntime(config['runtime']);
77 });
78
75 var testSuites = new List<TestSuite>(); 79 var testSuites = new List<TestSuite>();
76 TestingServerRunner.setBuildDir(firstConf);
77 TestingServerRunner.setPackageRootDir(firstConf);
78 for (var conf in configurations) { 80 for (var conf in configurations) {
81 if (!listTests && runningBrowserTests) {
82 // Start global http servers that serve the entire dart repo.
83 // The http server is available on window.location.port, and a second
84 // server for cross-domain tests can be found by calling
85 // getCrossOriginPortNumber().
86 var servers = new TestingServers(new Path(TestUtils.buildDir(conf)));
87 servers.startServers('127.0.0.1');
88 conf['_servers_'] = servers;
89 }
90
79 if (selectors.containsKey('co19')) { 91 if (selectors.containsKey('co19')) {
80 testSuites.add(new Co19TestSuite(conf)); 92 testSuites.add(new Co19TestSuite(conf));
81 } 93 }
94
82 if (conf['runtime'] == 'vm' && selectors.containsKey('vm')) { 95 if (conf['runtime'] == 'vm' && selectors.containsKey('vm')) {
83 // vm tests contain both cc tests (added here) and dart tests (added in 96 // vm tests contain both cc tests (added here) and dart tests (added in
84 // [TEST_SUITE_DIRECTORIES]). 97 // [TEST_SUITE_DIRECTORIES]).
85 testSuites.add(new VMTestSuite(conf)); 98 testSuites.add(new VMTestSuite(conf));
86 } 99 }
87 100
88 for (final testSuiteDir in TEST_SUITE_DIRECTORIES) { 101 for (final testSuiteDir in TEST_SUITE_DIRECTORIES) {
89 final name = testSuiteDir.filename; 102 final name = testSuiteDir.filename;
90 if (selectors.containsKey(name)) { 103 if (selectors.containsKey(name)) {
91 testSuites.add(new StandardTestSuite.forDirectory(conf, testSuiteDir)); 104 testSuites.add(new StandardTestSuite.forDirectory(conf, testSuiteDir));
92 } 105 }
93 } 106 }
94 } 107 }
95 108
96 // Start global http server that serves the entire dart repo. 109 void allTestsFinished() {
97 // The http server is available on localhost:9876 for any 110 for (var conf in configurations) {
98 // test that needs to load resources from the repo over http. 111 if (conf.containsKey('_servers_')) {
99 if (!listTests) { 112 conf['_servers_'].stopServers();
100 // Only start the server if we are running browser tests. 113 }
101 var runningBrowserTests = configurations.any((config) { 114 }
102 return TestUtils.isBrowserRuntime(config['runtime']); 115 DebugLogger.close();
103 });
104 if (runningBrowserTests) startHttpServer('127.0.0.1', 9876);
105 } 116 }
106 117
107 var maxBrowserProcesses = maxProcesses; 118 var maxBrowserProcesses = maxProcesses;
108 119
109 // Start process queue. 120 // Start process queue.
110 new ProcessQueue( 121 new ProcessQueue(
111 maxProcesses, 122 maxProcesses,
112 maxBrowserProcesses, 123 maxBrowserProcesses,
113 progressIndicator, 124 progressIndicator,
114 startTime, 125 startTime,
115 printTiming, 126 printTiming,
116 testSuites, 127 testSuites,
117 () => TestingServerRunner.terminateHttpServers(), 128 allTestsFinished,
118 verbose, 129 verbose,
119 listTests); 130 listTests);
120 } 131 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698