Index: lib/src/runner/loader.dart |
diff --git a/lib/src/runner/loader.dart b/lib/src/runner/loader.dart |
index b666c136d95bafd9790b59acd9d34bc399554aaa..1585078ca534983b62f0ea9c8d8f41dd6bba964e 100644 |
--- a/lib/src/runner/loader.dart |
+++ b/lib/src/runner/loader.dart |
@@ -13,10 +13,8 @@ import 'package:async/async.dart'; |
import 'package:path/path.dart' as p; |
import 'package:stack_trace/stack_trace.dart'; |
-import '../backend/invoker.dart'; |
import '../backend/group.dart'; |
import '../backend/metadata.dart'; |
-import '../backend/suite_entry.dart'; |
import '../backend/test_platform.dart'; |
import '../util/dart.dart' as dart; |
import '../util/io.dart'; |
@@ -121,9 +119,10 @@ class Loader { |
// Don't load a skipped suite. |
if (metadata.skip) { |
- yield new LoadSuite.forSuite(new RunnerSuite(const VMEnvironment(), [ |
- new LocalTest(path, metadata, () {}) |
- ], path: path, platform: platform, metadata: metadata)); |
+ yield new LoadSuite.forSuite(new RunnerSuite( |
+ const VMEnvironment(), |
+ new Group.root([], metadata: metadata), |
+ path: path, platform: platform)); |
continue; |
} |
@@ -221,15 +220,14 @@ void main(_, Map message) { |
asyncError.stackTrace); |
} else { |
assert(response["type"] == "success"); |
- completer.complete(response["entries"]); |
+ completer.complete(response["root"]); |
} |
}); |
try { |
var suite = new RunnerSuite( |
const VMEnvironment(), |
- _deserializeEntries(await completer.future), |
- metadata: metadata, |
+ _deserializeGroup(await completer.future), |
path: path, |
platform: TestPlatform.vm, |
os: currentOS, |
@@ -241,17 +239,14 @@ void main(_, Map message) { |
} |
} |
- /// Deserializes [entries] into concrete [SuiteEntry] subclasses. |
- Iterable<SuiteEntry> _deserializeEntries(List<Map> entries) { |
- return entries.map((entry) { |
- var metadata = new Metadata.deserialize(entry['metadata']); |
- if (entry['type'] == 'group') { |
- return new Group( |
- entry['name'], metadata, _deserializeEntries(entry['entries'])); |
- } else { |
- return new IsolateTest(entry['name'], metadata, entry['sendPort']); |
- } |
- }); |
+ /// Deserializes [group] into a concrete [Group] class. |
+ Group _deserializeGroup(Map group) { |
+ var metadata = new Metadata.deserialize(group['metadata']); |
+ return new Group(group['name'], group['entries'].map((entry) { |
+ if (entry['type'] == 'group') return _deserializeGroup(entry); |
+ var testMetadata = new Metadata.deserialize(entry['metadata']); |
+ return new IsolateTest(entry['name'], testMetadata, entry['sendPort']); |
+ }), metadata: metadata); |
} |
/// Closes the loader and releases all resources allocated by it. |