| Index: tools/gardening/bin/find_timeouts.dart
|
| diff --git a/tools/gardening/bin/find_timeouts.dart b/tools/gardening/bin/find_timeouts.dart
|
| index e333955f75f1df6b6870312092b8bd372e6d0b11..b9cdeaaecd7fe6cd84d0fa68d543d9ad24ef3b71 100644
|
| --- a/tools/gardening/bin/find_timeouts.dart
|
| +++ b/tools/gardening/bin/find_timeouts.dart
|
| @@ -11,13 +11,12 @@ import 'package:args/args.dart';
|
| import 'package:gardening/src/buildbot_data.dart';
|
| import 'package:gardening/src/buildbot_loading.dart';
|
| import 'package:gardening/src/buildbot_structures.dart';
|
| +import 'package:gardening/src/client.dart';
|
| import 'package:gardening/src/logdog.dart' as logdog;
|
| import 'package:gardening/src/util.dart';
|
|
|
| main(List<String> args) async {
|
| ArgParser argParser = createArgParser();
|
| - argParser.addFlag('logdog',
|
| - negatable: false, help: "Pull test results from logdog.");
|
| argParser.addOption('start',
|
| defaultsTo: '-2',
|
| help: "Start pulling from the specified <build-number>.\n"
|
| @@ -25,6 +24,11 @@ main(List<String> args) async {
|
| "for instance -2 for the second-to-last build.'");
|
| ArgResults argResults = argParser.parse(args);
|
| processArgResults(argResults);
|
| +
|
| + BuildbotClient client = argResults['logdog']
|
| + ? new LogdogBuildbotClient()
|
| + : new HttpBuildbotClient();
|
| +
|
| List<String> arguments = argResults.rest;
|
| if (arguments.length > 1) {
|
| print('Usage: find_timeouts.dart [options] [<count>]');
|
| @@ -37,24 +41,20 @@ main(List<String> args) async {
|
| if (arguments.length > 0) {
|
| buildNumberCount = int.parse(arguments[0]);
|
| }
|
| - int buildNumberOffset = int.parse(argResults['start']);
|
| -
|
| - bool useLogDog = argResults['logdog'];
|
| + int buildNumberOffset;
|
| + if (argResults.wasParsed('start')) {
|
| + buildNumberOffset = int.parse(argResults['start']);
|
| + } else {
|
| + buildNumberOffset = client.mostRecentBuildNumber;
|
| + }
|
|
|
| - HttpClient client = new HttpClient();
|
| BuildGroup group =
|
| buildGroups.firstWhere((g) => g.groupName == 'dart2js-windows');
|
| Map<String, List<Timeout>> timeouts = <String, List<Timeout>>{};
|
| for (BuildSubgroup subgroup in group.subgroups) {
|
| - if (useLogDog) {
|
| - await readLogDogResults(subgroup, timeouts,
|
| - buildNumberOffset: buildNumberOffset,
|
| - buildNumberCount: buildNumberCount);
|
| - } else {
|
| - await readBuildBotResults(client, subgroup, timeouts,
|
| - buildNumberOffset: buildNumberOffset,
|
| - buildNumberCount: buildNumberCount);
|
| - }
|
| + await readBuildBotResults(client, subgroup, timeouts,
|
| + buildNumberOffset: buildNumberOffset,
|
| + buildNumberCount: buildNumberCount);
|
| }
|
|
|
| List<String> sorted = timeouts.keys.toList()
|
| @@ -81,7 +81,8 @@ Future readLogDogResults(
|
| for (String shardName in subgroupPaths.keys) {
|
| String subgroupPath = subgroupPaths[shardName];
|
| List<int> buildNumbers = <int>[];
|
| - for (String line in logdog.ls(subgroupPath).split('\n')) {
|
| + String text = await logdog.ls(subgroupPath);
|
| + for (String line in text.split('\n')) {
|
| line = line.trim();
|
| if (line.isNotEmpty) {
|
| buildNumbers.add(int.parse(line));
|
| @@ -112,13 +113,13 @@ Future readLogDogResults(
|
| }
|
| }
|
|
|
| -Future readBuildBotResults(HttpClient client, BuildSubgroup subgroup,
|
| +Future readBuildBotResults(BuildbotClient client, BuildSubgroup subgroup,
|
| Map<String, List<Timeout>> timeouts,
|
| {int buildNumberOffset, int buildNumberCount}) async {
|
| List<BuildUri> buildUris = subgroup.createUris(buildNumberOffset);
|
| for (BuildUri buildUri in buildUris) {
|
| for (int i = 0; i < buildNumberCount; i++) {
|
| - BuildResult result = await readBuildResult(client, buildUri);
|
| + BuildResult result = await client.readResult(buildUri);
|
| for (TestFailure timeout in result.timeouts) {
|
| timeouts
|
| .putIfAbsent(timeout.id.testName, () => <Timeout>[])
|
|
|