| 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 import 'dart:async'; | 5 import 'dart:async'; |
| 6 import 'dart:io'; | 6 import 'dart:io'; |
| 7 | 7 |
| 8 import 'package:analyzer/analyzer.dart' hide Configuration; | 8 import 'package:analyzer/analyzer.dart' hide Configuration; |
| 9 import 'package:async/async.dart'; | 9 import 'package:async/async.dart'; |
| 10 import 'package:path/path.dart' as p; | 10 import 'package:path/path.dart' as p; |
| 11 | 11 |
| 12 import '../backend/group.dart'; | 12 import '../backend/group.dart'; |
| 13 import '../backend/invoker.dart'; |
| 13 import '../backend/metadata.dart'; | 14 import '../backend/metadata.dart'; |
| 14 import '../backend/test_platform.dart'; | 15 import '../backend/test_platform.dart'; |
| 15 import '../util/io.dart'; | 16 import '../util/io.dart'; |
| 16 import '../utils.dart'; | 17 import '../utils.dart'; |
| 17 import 'browser/platform.dart'; | 18 import 'browser/platform.dart'; |
| 18 import 'configuration.dart'; | 19 import 'configuration.dart'; |
| 19 import 'load_exception.dart'; | 20 import 'load_exception.dart'; |
| 20 import 'load_suite.dart'; | 21 import 'load_suite.dart'; |
| 21 import 'parse_metadata.dart'; | 22 import 'parse_metadata.dart'; |
| 22 import 'plugin/environment.dart'; | 23 import 'plugin/environment.dart'; |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 path, 'When using "pub serve", all test files must be in test/.')); | 130 path, 'When using "pub serve", all test files must be in test/.')); |
| 130 return; | 131 return; |
| 131 } | 132 } |
| 132 | 133 |
| 133 for (var platform in _config.platforms) { | 134 for (var platform in _config.platforms) { |
| 134 if (!suiteMetadata.testOn.evaluate(platform, os: currentOS)) continue; | 135 if (!suiteMetadata.testOn.evaluate(platform, os: currentOS)) continue; |
| 135 | 136 |
| 136 var metadata = suiteMetadata.forPlatform(platform, os: currentOS); | 137 var metadata = suiteMetadata.forPlatform(platform, os: currentOS); |
| 137 | 138 |
| 138 // Don't load a skipped suite. | 139 // Don't load a skipped suite. |
| 139 if (metadata.skip) { | 140 if (metadata.skip && !_config.runSkipped) { |
| 140 yield new LoadSuite.forSuite(new RunnerSuite( | 141 yield new LoadSuite.forSuite(new RunnerSuite( |
| 141 const PluginEnvironment(), | 142 const PluginEnvironment(), |
| 142 new Group.root([], metadata: metadata), | 143 new Group.root( |
| 144 [new LocalTest("(suite)", metadata, () {})], |
| 145 metadata: metadata), |
| 143 path: path, platform: platform)); | 146 path: path, platform: platform)); |
| 144 continue; | 147 continue; |
| 145 } | 148 } |
| 146 | 149 |
| 147 var name = (platform.isJS ? "compiling " : "loading ") + path; | 150 var name = (platform.isJS ? "compiling " : "loading ") + path; |
| 148 yield new LoadSuite(name, () async { | 151 yield new LoadSuite(name, () async { |
| 149 var memo = _platformPlugins[platform]; | 152 var memo = _platformPlugins[platform]; |
| 150 | 153 |
| 151 try { | 154 try { |
| 152 var plugin = await memo.runOnce(_platformCallbacks[platform]); | 155 var plugin = await memo.runOnce(_platformCallbacks[platform]); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 177 })), | 180 })), |
| 178 Future.wait(_suites.map((suite) => suite.close())) | 181 Future.wait(_suites.map((suite) => suite.close())) |
| 179 ]); | 182 ]); |
| 180 | 183 |
| 181 _platformPlugins.clear(); | 184 _platformPlugins.clear(); |
| 182 _platformCallbacks.clear(); | 185 _platformCallbacks.clear(); |
| 183 _suites.clear(); | 186 _suites.clear(); |
| 184 }); | 187 }); |
| 185 final _closeMemo = new AsyncMemoizer(); | 188 final _closeMemo = new AsyncMemoizer(); |
| 186 } | 189 } |
| OLD | NEW |