| Index: lib/src/runner/loader.dart
|
| diff --git a/lib/src/runner/loader.dart b/lib/src/runner/loader.dart
|
| index abf22b94f957633d5a77205253ff16402deb2b72..b666c136d95bafd9790b59acd9d34bc399554aaa 100644
|
| --- a/lib/src/runner/loader.dart
|
| +++ b/lib/src/runner/loader.dart
|
| @@ -14,7 +14,9 @@ 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';
|
| @@ -219,16 +221,14 @@ void main(_, Map message) {
|
| asyncError.stackTrace);
|
| } else {
|
| assert(response["type"] == "success");
|
| - completer.complete(response["tests"]);
|
| + completer.complete(response["entries"]);
|
| }
|
| });
|
|
|
| try {
|
| - var suite = new RunnerSuite(const VMEnvironment(),
|
| - (await completer.future).map((test) {
|
| - var testMetadata = new Metadata.deserialize(test['metadata']);
|
| - return new IsolateTest(test['name'], testMetadata, test['sendPort']);
|
| - }),
|
| + var suite = new RunnerSuite(
|
| + const VMEnvironment(),
|
| + _deserializeEntries(await completer.future),
|
| metadata: metadata,
|
| path: path,
|
| platform: TestPlatform.vm,
|
| @@ -241,6 +241,19 @@ 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']);
|
| + }
|
| + });
|
| + }
|
| +
|
| /// Closes the loader and releases all resources allocated by it.
|
| Future close() {
|
| return _closeMemo.runOnce(() async {
|
|
|