Unverified Commit b468be30 authored by keyonghan's avatar keyonghan Committed by GitHub

Use default value for `ResultData` when uploading metrics from test runner (#88749)

parent b68cdfcf
...@@ -45,11 +45,13 @@ Future<FlutterDestination> connectFlutterDestination() async { ...@@ -45,11 +45,13 @@ Future<FlutterDestination> connectFlutterDestination() async {
/// ] /// ]
/// } /// }
List<MetricPoint> parse(Map<String, dynamic> resultsJson) { List<MetricPoint> parse(Map<String, dynamic> resultsJson) {
final List<String> scoreKeys = (resultsJson['BenchmarkScoreKeys'] as List<dynamic>).cast<String>(); final List<String> scoreKeys =
final Map<String, dynamic> resultData = resultsJson['ResultData'] as Map<String, dynamic>; (resultsJson['BenchmarkScoreKeys'] as List<dynamic>?)?.cast<String>() ?? const <String>[];
final Map<String, dynamic> resultData =
resultsJson['ResultData'] as Map<String, dynamic>? ?? const <String, dynamic>{};
final String gitBranch = (resultsJson['CommitBranch'] as String).trim(); final String gitBranch = (resultsJson['CommitBranch'] as String).trim();
final String gitSha = (resultsJson['CommitSha'] as String).trim(); final String gitSha = (resultsJson['CommitSha'] as String).trim();
final String builderName = resultsJson['BuilderName'] as String; final String builderName = (resultsJson['BuilderName'] as String).trim();
final List<MetricPoint> metricPoints = <MetricPoint>[]; final List<MetricPoint> metricPoints = <MetricPoint>[];
for (final String scoreKey in scoreKeys) { for (final String scoreKey in scoreKeys) {
metricPoints.add( metricPoints.add(
......
...@@ -16,17 +16,30 @@ void main() { ...@@ -16,17 +16,30 @@ void main() {
'BuilderName': 'test', 'BuilderName': 'test',
'ResultData': <String, dynamic>{ 'ResultData': <String, dynamic>{
'average_frame_build_time_millis': 0.4550425531914895, 'average_frame_build_time_millis': 0.4550425531914895,
'90th_percentile_frame_build_time_millis': 0.473 '90th_percentile_frame_build_time_millis': 0.473,
}, },
'BenchmarkScoreKeys': <String>[ 'BenchmarkScoreKeys': <String>[
'average_frame_build_time_millis', 'average_frame_build_time_millis',
'90th_percentile_frame_build_time_millis' '90th_percentile_frame_build_time_millis',
] ],
}; };
final List<MetricPoint> metricPoints = parse(results); final List<MetricPoint> metricPoints = parse(results);
expect(metricPoints[0].value, equals(0.4550425531914895)); expect(metricPoints[0].value, equals(0.4550425531914895));
expect(metricPoints[1].value, equals(0.473)); expect(metricPoints[1].value, equals(0.473));
}); });
test('succeeds - null ResultData', () {
final Map<String, dynamic> results = <String, dynamic>{
'CommitBranch': 'master',
'CommitSha': 'abc',
'BuilderName': 'test',
'ResultData': null,
'BenchmarkScoreKeys': null,
};
final List<MetricPoint> metricPoints = parse(results);
expect(metricPoints.length, 0);
});
}); });
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment