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

Unified Diff: lib/src/runner/engine.dart

Issue 1390883002: Make Suite contain a single Group. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Code review changes Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/src/runner/browser/iframe_listener.dart ('k') | lib/src/runner/load_exception_suite.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/src/runner/engine.dart
diff --git a/lib/src/runner/engine.dart b/lib/src/runner/engine.dart
index c30333d5e8160687554f917cb4798973e29a049e..6bd51bfe726bfa0d875b6575a35ecce311629110 100644
--- a/lib/src/runner/engine.dart
+++ b/lib/src/runner/engine.dart
@@ -16,7 +16,7 @@ import '../backend/invoker.dart';
import '../backend/live_test.dart';
import '../backend/live_test_controller.dart';
import '../backend/state.dart';
-import '../backend/suite_entry.dart';
+import '../backend/group_entry.dart';
import '../backend/test.dart';
import 'load_suite.dart';
import 'runner_suite.dart';
@@ -199,7 +199,7 @@ class Engine {
await _runPool.withResource(() async {
if (_closed) return;
- await _runEntries(suite, suite.entries);
+ await _runGroup(suite, suite.group);
loadResource.allowRelease(() => suite.close());
});
}));
@@ -209,24 +209,31 @@ class Engine {
}
/// Runs all the entries in [entries] in sequence.
- Future _runEntries(RunnerSuite suite, List<SuiteEntry> entries) async {
- for (var entry in entries) {
+ Future _runGroup(RunnerSuite suite, Group group) async {
+ if (group.metadata.skip) {
+ await _runLiveTest(_skippedTest(suite, group));
+ return;
+ }
+
+ for (var entry in group.entries) {
if (_closed) return;
- if (entry.metadata.skip) {
+ if (entry is Group) {
+ await _runGroup(suite, entry);
+ } else if (entry.metadata.skip) {
await _runLiveTest(_skippedTest(suite, entry));
- } else if (entry is Test) {
- await _runLiveTest(entry.load(suite));
} else {
- var group = entry as Group;
- await _runEntries(suite, group.entries);
+ var test = entry as Test;
+ await _runLiveTest(test.load(suite));
}
}
}
/// Returns a dummy [LiveTest] for a test or group marked as "skip".
- LiveTest _skippedTest(RunnerSuite suite, SuiteEntry entry) {
- var test = new LocalTest(entry.name, entry.metadata, () {});
+ LiveTest _skippedTest(RunnerSuite suite, GroupEntry entry) {
+ // The netry name will be `null` for the root group.
+ var test = new LocalTest(entry.name ?? "(suite)", entry.metadata, () {});
+
var controller;
controller = new LiveTestController(suite, test, () {
controller.setState(const State(Status.running, Result.success));
« no previous file with comments | « lib/src/runner/browser/iframe_listener.dart ('k') | lib/src/runner/load_exception_suite.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698