Fixes in modular test runner:
- ensure output directory has a trailing slash
- ensure tests complete before returning from runner
- flush log files (probably not necessary)
TBR=athom@google.com
Change-Id: Ie415266fd311d6319e0853a785e867770c0587a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105472
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
diff --git a/pkg/modular_test/lib/src/generic_runner.dart b/pkg/modular_test/lib/src/generic_runner.dart
index fae48d8..e7c3030 100644
--- a/pkg/modular_test/lib/src/generic_runner.dart
+++ b/pkg/modular_test/lib/src/generic_runner.dart
@@ -152,8 +152,13 @@
}
}
- File.fromUri(options.logDir.resolve('results.json'))
- .writeAsStringSync(results.map((s) => '$s\n').join());
- File.fromUri(options.logDir.resolve('logs.json'))
- .writeAsStringSync(logs.map((s) => '$s\n').join());
+ // Ensure the directory URI ends with a path separator.
+ var logDir = Directory.fromUri(options.logDir).uri;
+ var resultJsonUri = logDir.resolve('results.json');
+ var logsJsonUri = logDir.resolve('logs.json');
+ File.fromUri(resultJsonUri)
+ .writeAsStringSync(results.map((s) => '$s\n').join(), flush: true);
+ File.fromUri(logsJsonUri)
+ .writeAsStringSync(logs.map((s) => '$s\n').join(), flush: true);
+ print('log files emitted to ${resultJsonUri} and ${logsJsonUri}');
}
diff --git a/pkg/modular_test/lib/src/runner.dart b/pkg/modular_test/lib/src/runner.dart
index d7e1dbd..d3803bb 100644
--- a/pkg/modular_test/lib/src/runner.dart
+++ b/pkg/modular_test/lib/src/runner.dart
@@ -24,7 +24,7 @@
.map((e) => new _PipelineTest(e.uri, suiteFolder, options, pipeline))
.toList();
- generic.runSuite(
+ await generic.runSuite(
entries,
new generic.RunnerOptions()
..suiteName = suiteName