OLD | NEW |
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 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 | 175 |
176 /// Load the test suite at [path] in VM isolate. | 176 /// Load the test suite at [path] in VM isolate. |
177 /// | 177 /// |
178 /// [metadata] is the suite-level metadata for the test. | 178 /// [metadata] is the suite-level metadata for the test. |
179 Future<Suite> _loadVmFile(String path, Metadata metadata) async { | 179 Future<Suite> _loadVmFile(String path, Metadata metadata) async { |
180 var receivePort = new ReceivePort(); | 180 var receivePort = new ReceivePort(); |
181 | 181 |
182 var isolate; | 182 var isolate; |
183 try { | 183 try { |
184 if (_pubServeUrl != null) { | 184 if (_pubServeUrl != null) { |
185 var url = _pubServeUrl.resolve( | 185 var url = _pubServeUrl.resolveUri( |
186 p.relative(path, from: 'test') + '.vm_test.dart'); | 186 p.toUri(p.relative(path, from: 'test') + '.vm_test.dart')); |
187 | 187 |
188 // TODO(nweiz): Remove new Future.sync() once issue 23498 has been fixed | 188 // TODO(nweiz): Remove new Future.sync() once issue 23498 has been fixed |
189 // in two stable versions. | 189 // in two stable versions. |
190 await new Future.sync(() async { | 190 await new Future.sync(() async { |
191 try { | 191 try { |
192 isolate = await dart.spawnUri(url, { | 192 isolate = await dart.spawnUri(url, { |
193 'reply': receivePort.sendPort, | 193 'reply': receivePort.sendPort, |
194 'metadata': metadata.serialize() | 194 'metadata': metadata.serialize() |
195 }, checked: true); | 195 }, checked: true); |
196 } on IsolateSpawnException catch (error) { | 196 } on IsolateSpawnException catch (error) { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 for (var isolate in _isolates) { | 255 for (var isolate in _isolates) { |
256 isolate.kill(); | 256 isolate.kill(); |
257 } | 257 } |
258 _isolates.clear(); | 258 _isolates.clear(); |
259 | 259 |
260 if (!_browserServerThunk.hasRun) return; | 260 if (!_browserServerThunk.hasRun) return; |
261 await (await _browserServer).close(); | 261 await (await _browserServer).close(); |
262 }); | 262 }); |
263 } | 263 } |
264 } | 264 } |
OLD | NEW |