Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(407)

Side by Side Diff: tools/gardening/lib/src/buildbot_structures.dart

Issue 3002743002: Fix buildbot_data_test (Closed)
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/gardening/lib/src/buildbot_data.dart ('k') | tools/gardening/lib/src/client.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 import 'util.dart'; 5 import 'util.dart';
6 6
7 /// The [Uri] of a build step stdio log split into its subparts. 7 /// The [Uri] of a build step stdio log split into its subparts.
8 class BuildUri { 8 class BuildUri {
9 final String scheme;
10 final String host;
11 final String prefix;
12 final String botName; 9 final String botName;
13 final int buildNumber; 10 final int buildNumber;
14 final String stepName; 11 final String stepName;
15 final String suffix;
16 12
17 factory BuildUri(Uri uri) { 13 factory BuildUri(Uri uri) {
18 List<String> parts = split(Uri.decodeFull(uri.path), 14 List<String> parts = split(Uri.decodeFull(uri.path),
19 ['/builders/', '/builds/', '/steps/', '/logs/']); 15 ['/builders/', '/builds/', '/steps/', '/logs/']);
20 String botName = parts[1]; 16 String botName = parts[1];
21 int buildNumber = int.parse(parts[2]); 17 int buildNumber = int.parse(parts[2]);
22 String stepName = parts[3]; 18 String stepName = parts[3];
23 return new BuildUri.fromData(botName, buildNumber, stepName); 19 return new BuildUri.fromData(botName, buildNumber, stepName);
24 } 20 }
25 21
26 factory BuildUri.fromUrl(String url) { 22 factory BuildUri.fromUrl(String url) {
27 if (!url.endsWith('/text')) { 23 if (!url.endsWith('/text')) {
28 // Use the text version of the stdio log. 24 // Use the text version of the stdio log.
29 url += '/text'; 25 url += '/text';
30 } 26 }
31 return new BuildUri(Uri.parse(url)); 27 return new BuildUri(Uri.parse(url));
32 } 28 }
33 29
34 factory BuildUri.fromData(String botName, int buildNumber, String stepName) { 30 BuildUri.fromData(this.botName, this.buildNumber, this.stepName);
35 return new BuildUri.internal('https', 'build.chromium.org',
36 '/p/client.dart', botName, buildNumber, stepName, 'stdio/text');
37 }
38
39 BuildUri.internal(this.scheme, this.host, this.prefix, this.botName,
40 this.buildNumber, this.stepName, this.suffix);
41 31
42 BuildUri withBuildNumber(int buildNumber) { 32 BuildUri withBuildNumber(int buildNumber) {
43 return new BuildUri.fromData(botName, buildNumber, stepName); 33 return new BuildUri.fromData(botName, buildNumber, stepName);
44 } 34 }
45 35
46 int get absoluteBuildNumber => buildNumber >= 0 ? buildNumber : null; 36 int get absoluteBuildNumber => buildNumber >= 0 ? buildNumber : null;
47 37
48 String get shortBuildName => '$botName/$stepName'; 38 String get shortBuildName => '$botName/$stepName';
49 39
50 String get buildName => 40 String get buildName =>
51 '/builders/$botName/builds/$buildNumber/steps/$stepName'; 41 '/builders/$botName/builds/$buildNumber/steps/$stepName';
52 42
53 String get path => '$prefix$buildName/logs/$suffix'; 43 String get path => '/p/client.dart$buildName/logs/stdio/text';
54 44
55 /// Returns the path used in logdog for this build uri. 45 /// Returns the path used in logdog for this build uri.
56 /// 46 ///
57 /// Since logdog only supports absolute build numbers, [buildNumber] must be 47 /// Since logdog only supports absolute build numbers, [buildNumber] must be
58 /// non-negative. A [StateError] is thrown, otherwise. 48 /// non-negative. A [StateError] is thrown, otherwise.
59 String get logdogPath { 49 String get logdogPath {
60 if (buildNumber < 0) 50 if (buildNumber < 0)
61 throw new StateError('BuildUri $buildName must have a non-negative build ' 51 throw new StateError('BuildUri $buildName must have a non-negative build '
62 'number to a valid logdog path.'); 52 'number to a valid logdog path.');
63 return 'chromium/bb/client.dart/$botName/$buildNumber/+/recipes/steps/' 53 return 'chromium/bb/client.dart/$botName/$buildNumber/+/recipes/steps/'
64 '${stepName.replaceAll(' ', '_')}/0/stdout'; 54 '${stepName.replaceAll(' ', '_')}/0/stdout';
65 } 55 }
66 56
67 /// Creates the [Uri] for this build step stdio log. 57 /// Creates the [Uri] for this build step stdio log.
68 Uri toUri() { 58 Uri toUri() {
69 return new Uri(scheme: scheme, host: host, path: path); 59 return new Uri(scheme: 'https', host: 'build.chromium.org', path: path);
70 } 60 }
71 61
72 /// Returns the [BuildUri] the previous build of this build step. 62 /// Returns the [BuildUri] the previous build of this build step.
73 BuildUri prev() { 63 BuildUri prev() {
74 return new BuildUri.internal( 64 return new BuildUri.fromData(botName, buildNumber - 1, stepName);
75 scheme, host, prefix, botName, buildNumber - 1, stepName, suffix);
76 } 65 }
77 66
78 String toString() { 67 String toString() {
79 return buildName; 68 return buildName;
80 } 69 }
81 } 70 }
82 71
83 /// Id for a test on a specific configuration, for instance 72 /// Id for a test on a specific configuration, for instance
84 /// `dart2js-chrome release_x64 co19/Language/Metadata/before_function_t07`. 73 /// `dart2js-chrome release_x64 co19/Language/Metadata/before_function_t07`.
85 class TestConfiguration { 74 class TestConfiguration {
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 218
230 /// The result of a single test for a single test step. 219 /// The result of a single test for a single test step.
231 class TestStatus { 220 class TestStatus {
232 final TestConfiguration config; 221 final TestConfiguration config;
233 final String status; 222 final String status;
234 223
235 TestStatus(this.config, this.status); 224 TestStatus(this.config, this.status);
236 225
237 String toString() => '$config: $status'; 226 String toString() => '$config: $status';
238 } 227 }
OLDNEW
« no previous file with comments | « tools/gardening/lib/src/buildbot_data.dart ('k') | tools/gardening/lib/src/client.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698