Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 23c59bd

Browse files
johnniwinthercommit-bot@chromium.org
authored andcommitted
Fix compare_failures
+ and --force flag to always analysis past results (slower) Change-Id: I9df760b61cfb71ecdf9a4b69d256895812f2eff1 Reviewed-on: https://dart-review.googlesource.com/50500 Commit-Queue: Johnni Winther <[email protected]> Reviewed-by: Alexander Thomas <[email protected]>
1 parent 290cc58 commit 23c59bd

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

tools/gardening/bin/compare_failures.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ Future main(List<String> args) async {
3232
ArgParser argParser = createArgParser();
3333
argParser.addOption("run-count",
3434
defaultsTo: "10", help: "How many previous runs should be fetched");
35+
argParser.addFlag("force",
36+
abbr: "f", defaultsTo: false, help: "Force analysis of past results");
3537
argParser.addOption(Flags.commit,
3638
help: "Fetch result start from a given commit hash.");
3739
ArgResults argResults = argParser.parse(args);
@@ -50,6 +52,7 @@ Future main(List<String> args) async {
5052
runCount: runCount,
5153
commit: argResults[Flags.commit],
5254
verbose: argResults[Flags.verbose],
53-
noCache: argResults[Flags.noCache]);
55+
noCache: argResults[Flags.noCache],
56+
forcePastResults: argResults["force"]);
5457
bot.close();
5558
}

tools/gardening/lib/src/compare_failures_impl.dart

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,15 @@ Future mainInternal(Bot bot, List<String> args,
2121
{int runCount: 10,
2222
String commit,
2323
bool verbose: false,
24-
bool noCache: false}) async {
24+
bool noCache: false,
25+
bool forcePastResults: false}) async {
2526
printBuildResultsSummary(
2627
await loadBuildResults(bot, args,
2728
runCount: runCount,
2829
commit: commit,
2930
verbose: verbose,
30-
noCache: noCache),
31+
noCache: noCache,
32+
forcePastResults: forcePastResults),
3133
args);
3234
}
3335

@@ -40,7 +42,8 @@ Future<Map<BuildUri, List<BuildResult>>> loadBuildResults(
4042
{int runCount: 10,
4143
String commit,
4244
bool verbose: false,
43-
bool noCache: false}) async {
45+
bool noCache: false,
46+
bool forcePastResults: false}) async {
4447
List<BuildUri> buildUriList = <BuildUri>[];
4548
List<BuildDetail> buildDetails;
4649
if (commit != null) {
@@ -110,8 +113,9 @@ Future<Map<BuildUri, List<BuildResult>>> loadBuildResults(
110113
for (int index = 0; index < buildResults.length; index++) {
111114
BuildUri buildUri = buildUriList[index];
112115
BuildResult buildResult = buildResults[index];
113-
List<BuildResult> results =
114-
await readPastResults(bot, buildUri, buildResult, runCount);
116+
List<BuildResult> results = await readPastResults(
117+
bot, buildUri, buildResult, runCount,
118+
forcePastResults: forcePastResults);
115119
pastResultsMap[buildUri] = results;
116120
}
117121
return pastResultsMap;
@@ -172,14 +176,15 @@ void printBuildResultsSummary(
172176
/// Creates a [BuildResult] for [buildUri] and, if it contains failures, the
173177
/// [BuildResult]s for the previous [runCount] builds.
174178
Future<List<BuildResult>> readPastResults(
175-
Bot bot, BuildUri buildUri, BuildResult summary, int runCount) async {
179+
Bot bot, BuildUri buildUri, BuildResult summary, int runCount,
180+
{bool forcePastResults: false}) async {
176181
List<BuildResult> summaries = <BuildResult>[];
177182
if (summary == null) {
178183
print('No result found for $buildUri');
179184
return summaries;
180185
}
181186
summaries.add(summary);
182-
if (summary.hasFailures) {
187+
if (summary.hasFailures || forcePastResults) {
183188
summaries.addAll(await bot.readHistoricResults(summary.buildUri.prev(),
184189
previousCount: runCount - 1));
185190
}

tools/gardening/lib/src/logdog_rpc.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class LogdogRpc {
2727
StringBuffer buffer = new StringBuffer();
2828
json["logs"].forEach((log) {
2929
log["text"]["lines"].forEach((line) {
30-
buffer.write(line["value"]);
30+
buffer.writeln(line["value"]);
3131
});
3232
});
3333
return buffer.toString();

0 commit comments

Comments
 (0)