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

Side by Side Diff: lib/src/runner/loader.dart

Issue 1290763003: Drop support for old SDK and shelf versions. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Code review changes Created 5 years, 4 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 | « lib/src/runner/configuration.dart ('k') | lib/src/util/dart.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.runner.loader; 5 library test.runner.loader;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:io'; 8 import 'dart:io';
9 import 'dart:isolate'; 9 import 'dart:isolate';
10 10
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 /// [metadata] is the suite-level metadata for the test. 145 /// [metadata] is the suite-level metadata for the test.
146 Future<RunnerSuite> _loadVmFile(String path, Metadata metadata) async { 146 Future<RunnerSuite> _loadVmFile(String path, Metadata metadata) async {
147 var receivePort = new ReceivePort(); 147 var receivePort = new ReceivePort();
148 148
149 var isolate; 149 var isolate;
150 try { 150 try {
151 if (_config.pubServeUrl != null) { 151 if (_config.pubServeUrl != null) {
152 var url = _config.pubServeUrl.resolveUri( 152 var url = _config.pubServeUrl.resolveUri(
153 p.toUri(p.relative(path, from: 'test') + '.vm_test.dart')); 153 p.toUri(p.relative(path, from: 'test') + '.vm_test.dart'));
154 154
155 // TODO(nweiz): Remove new Future.sync() once issue 23498 has been fixed 155 try {
156 // in two stable versions. 156 isolate = await Isolate.spawnUri(url, [], {
157 await new Future.sync(() async { 157 'reply': receivePort.sendPort,
158 try { 158 'metadata': metadata.serialize()
159 isolate = await dart.spawnUri(url, { 159 }, checked: true);
160 'reply': receivePort.sendPort, 160 } on IsolateSpawnException catch (error) {
161 'metadata': metadata.serialize() 161 if (error.message.contains("OS Error: Connection refused") ||
162 }, checked: true); 162 error.message.contains("The remote computer refused")) {
163 } on IsolateSpawnException catch (error) { 163 throw new LoadException(path,
164 if (error.message.contains("OS Error: Connection refused") || 164 "Error getting $url: Connection refused\n"
165 error.message.contains("The remote computer refused")) { 165 'Make sure "pub serve" is running.');
166 throw new LoadException(path, 166 } else if (error.message.contains("404 Not Found")) {
167 "Error getting $url: Connection refused\n" 167 throw new LoadException(path,
168 'Make sure "pub serve" is running.'); 168 "Error getting $url: 404 Not Found\n"
169 } else if (error.message.contains("404 Not Found")) { 169 'Make sure "pub serve" is serving the test/ directory.');
170 throw new LoadException(path, 170 }
171 "Error getting $url: 404 Not Found\n"
172 'Make sure "pub serve" is serving the test/ directory.');
173 }
174 171
175 throw new LoadException(path, error); 172 throw new LoadException(path, error);
176 } 173 }
177 });
178 } else { 174 } else {
179 isolate = await dart.runInIsolate(''' 175 isolate = await dart.runInIsolate('''
180 import "package:test/src/backend/metadata.dart"; 176 import "package:test/src/backend/metadata.dart";
181 import "package:test/src/runner/vm/isolate_listener.dart"; 177 import "package:test/src/runner/vm/isolate_listener.dart";
182 178
183 import "${p.toUri(p.absolute(path))}" as test; 179 import "${p.toUri(p.absolute(path))}" as test;
184 180
185 void main(_, Map message) { 181 void main(_, Map message) {
186 var sendPort = message['reply']; 182 var sendPort = message['reply'];
187 var metadata = new Metadata.deserialize(message['metadata']); 183 var metadata = new Metadata.deserialize(message['metadata']);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 Future close() { 238 Future close() {
243 return _closeMemo.runOnce(() async { 239 return _closeMemo.runOnce(() async {
244 await Future.wait(_suites.map((suite) => suite.close())); 240 await Future.wait(_suites.map((suite) => suite.close()));
245 _suites.clear(); 241 _suites.clear();
246 242
247 if (!_browserServerMemo.hasRun) return; 243 if (!_browserServerMemo.hasRun) return;
248 await (await _browserServer).close(); 244 await (await _browserServer).close();
249 }); 245 });
250 } 246 }
251 } 247 }
OLDNEW
« no previous file with comments | « lib/src/runner/configuration.dart ('k') | lib/src/util/dart.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698