OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /// Collects the test results for all build bots in [buildGroups] for tests | 5 /// Collects the test results for all build bots in [buildGroups] for tests |
6 /// that mention one of the test names given as argument. | 6 /// that mention one of the test names given as argument. |
7 /// | 7 /// |
8 /// The results are currently pulled from the second to last build since the | 8 /// The results are currently pulled from the second to last build since the |
9 /// last build might not have completed yet. | 9 /// last build might not have completed yet. |
10 | 10 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 <String, Map<BuildUri, TestStatus>>{}; | 50 <String, Map<BuildUri, TestStatus>>{}; |
51 | 51 |
52 bool testsFound = false; | 52 bool testsFound = false; |
53 List<BuildGroup> notFoundGroups = <BuildGroup>[]; | 53 List<BuildGroup> notFoundGroups = <BuildGroup>[]; |
54 for (BuildGroup group in buildGroups) { | 54 for (BuildGroup group in buildGroups) { |
55 if (argResults['group'] != null && | 55 if (argResults['group'] != null && |
56 !containsIgnoreCase(group.groupName, argResults['group'])) { | 56 !containsIgnoreCase(group.groupName, argResults['group'])) { |
57 log('Skipping group $group'); | 57 log('Skipping group $group'); |
58 continue; | 58 continue; |
59 } | 59 } |
60 // TODO(johnniwinther): Support reading a partially completed shard from | |
61 // http, i.e. always use build number `-1`. | |
62 List<BuildUri> uriList = group.createUris(bot.mostRecentBuildNumber); | 60 List<BuildUri> uriList = group.createUris(bot.mostRecentBuildNumber); |
63 if (uriList.isEmpty) continue; | 61 if (uriList.isEmpty) continue; |
64 print('Fetching "${uriList.first}" + ${uriList.length - 1} more ...'); | 62 print('Fetching "${uriList.first}" + ${uriList.length - 1} more ...'); |
65 List<BuildResult> results = await bot.readResults(uriList); | 63 List<BuildResult> results = await bot.readResults(uriList); |
66 bool testsFoundInGroup = false; | 64 bool testsFoundInGroup = false; |
67 for (BuildResult buildResult in results) { | 65 for (BuildResult buildResult in results) { |
68 if (buildResult == null) continue; | 66 if (buildResult == null) continue; |
69 var buildUri = buildResult.buildUri; | 67 var buildUri = buildResult.buildUri; |
70 for (TestStatus testStatus in buildResult.results) { | 68 for (TestStatus testStatus in buildResult.results) { |
71 String testName = testStatus.config.testName; | 69 String testName = testStatus.config.testName; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 if (argResults.rest.length == 1) { | 110 if (argResults.rest.length == 1) { |
113 print("Test pattern '${argResults.rest.single}' not found " | 111 print("Test pattern '${argResults.rest.single}' not found " |
114 "in any build bot groups."); | 112 "in any build bot groups."); |
115 } else { | 113 } else { |
116 print("Test patterns '${argResults.rest.join("', '")}' not found " | 114 print("Test patterns '${argResults.rest.join("', '")}' not found " |
117 "in any build bot groups."); | 115 "in any build bot groups."); |
118 } | 116 } |
119 } | 117 } |
120 bot.close(); | 118 bot.close(); |
121 } | 119 } |
OLD | NEW |