dart-sdk/tools/bots/extend_results.dart
William Hesse 83956f4059 Revert "[infra] Add error check when adding builder data to test results."
This reverts commit 9fd914e450.

Reason for revert: There needs to be a check if this is an experimental job, or a tryjob, and accept blank fields in that case.
I meant to put it in if I made the code return 1, but forgot.

Even in this case, the results need to be returned, for tryjobs to work.


Original change's description:
> [infra] Add error check when adding builder data to test results.
> 
> Change-Id: Ia59b8dcb711839e90d222679362d145b332c45b2
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107510
> Reviewed-by: Jonas Termansen <sortie@google.com>

TBR=whesse@google.com,sortie@google.com

Change-Id: I37a48d78265e9630a7c562a46083e5234abba1aa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107512
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2019-06-28 16:49:40 +00:00

56 lines
2.1 KiB
Dart

// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Add fields with data about the test run and the commit tested, and
// with the result on the last build tested, to the test results file.
import 'dart:convert';
import 'dart:io';
import 'results.dart';
main(List<String> args) async {
final resultsPath = args[0];
final priorResultsPath = args[1];
final flakyPath = args[2];
final priorFlakyPath = args[3];
final builderName = args[4];
final buildNumber = args[5];
final commitTime = int.parse(args[6]);
final commitHash = args[7];
final newResultsPath = args[8];
// Load the input and the flakiness data if specified.
final results = await loadResultsMap(resultsPath);
final priorResults = await loadResultsMap(priorResultsPath);
final flakes = await loadResultsMap(flakyPath);
final priorFlakes = await loadResultsMap(priorFlakyPath);
for (final String key in results.keys) {
final Map<String, dynamic> result = results[key];
final Map<String, dynamic> priorResult = priorResults[key];
final Map<String, dynamic> flaky = flakes[key];
final Map<String, dynamic> priorFlaky = priorFlakes[key];
result['commit_hash'] = commitHash;
result['commit_time'] = commitTime;
result['build_number'] = buildNumber;
result['builder_name'] = builderName;
result['flaky'] = (flaky != null);
result['previous_flaky'] = (priorFlaky != null);
if (priorResult != null) {
result['previous_result'] = priorResult['result'];
result['previous_commit_hash'] = priorResult['commit_hash'];
result['previous_commit_time'] = priorResult['commit_time'];
result['previous_build_number'] = priorResult['build_number'];
}
result['changed'] = (result['result'] != result['previous_result'] ||
result['flaky'] != result['previous_flaky']);
}
final sink = new File(newResultsPath).openWrite();
final sorted = results.keys.toList()..sort();
for (final key in sorted) {
sink.writeln(jsonEncode(results[key]));
}
sink.close();
}