mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 12:24:24 +00:00
[pkg/test_runner] Write experiments to results.json
Change-Id: I32423ddf665a24443de1ad60ca8f323f5c6d3aca Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196489 Reviewed-by: Alexander Thomas <athom@google.com> Commit-Queue: Karl Klose <karlklose@google.com>
This commit is contained in:
parent
bc2cf88bac
commit
4e34ea06a9
3 changed files with 15 additions and 6 deletions
|
@ -9,6 +9,7 @@ import 'configuration.dart';
|
|||
import 'path.dart';
|
||||
import 'repository.dart';
|
||||
import 'runtime_configuration.dart';
|
||||
import 'test_case.dart' show TestCase;
|
||||
import 'test_file.dart';
|
||||
import 'utils.dart';
|
||||
|
||||
|
@ -25,10 +26,7 @@ List<String> _replaceDartFiles(List<String> list, String replacement) {
|
|||
/// list allows the result of calling this to be spread into another list.
|
||||
List<String> _experimentsArgument(
|
||||
TestConfiguration configuration, TestFile testFile) {
|
||||
var experiments = {
|
||||
...configuration.experiments,
|
||||
...testFile.experiments,
|
||||
};
|
||||
var experiments = TestCase.getExperiments(testFile, configuration);
|
||||
if (experiments.isEmpty) {
|
||||
return const [];
|
||||
}
|
||||
|
|
|
@ -66,6 +66,16 @@ class TestCase {
|
|||
assert(commands.isNotEmpty);
|
||||
}
|
||||
|
||||
List<String> get experiments => getExperiments(testFile, configuration);
|
||||
|
||||
static List<String> getExperiments(
|
||||
TestFile testFile, TestConfiguration configuration) {
|
||||
return [
|
||||
...testFile.experiments,
|
||||
...configuration.experiments,
|
||||
];
|
||||
}
|
||||
|
||||
TestCase indexedCopy(int index) {
|
||||
var newCommands = commands.map((c) => c.indexedCopy(index)).toList();
|
||||
return TestCase(displayName, newCommands, configuration, expectedOutcomes,
|
||||
|
|
|
@ -656,7 +656,7 @@ class ResultWriter extends EventListener {
|
|||
var testName = name.substring(index + 1);
|
||||
var time =
|
||||
test.commandOutputs.values.fold(Duration.zero, (d, o) => d + o.time);
|
||||
|
||||
var experiments = test.experiments;
|
||||
var record = {
|
||||
"name": name,
|
||||
"configuration": test.configuration.configuration.name,
|
||||
|
@ -665,7 +665,8 @@ class ResultWriter extends EventListener {
|
|||
"time_ms": time.inMilliseconds,
|
||||
"result": test.realResult.toString(),
|
||||
"expected": test.realExpected.toString(),
|
||||
"matches": test.realResult.canBeOutcomeOf(test.realExpected)
|
||||
"matches": test.realResult.canBeOutcomeOf(test.realExpected),
|
||||
if (experiments.isNotEmpty) "experiments": experiments,
|
||||
};
|
||||
_results.add(record);
|
||||
if (test.configuration.writeLogs && record['matches'] != true) {
|
||||
|
|
Loading…
Reference in a new issue