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

Side by Side Diff: appengine/findit/waterfall/test/monitor_try_job_pipeline_test.py

Issue 1906293002: [Findit] Adding additional fields to try job metadata (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Addressing comments Created 4 years, 8 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 | « appengine/findit/waterfall/monitor_try_job_pipeline.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from datetime import datetime 5 from datetime import datetime
6 import json 6 import json
7 import time 7 import time
8 8
9 from common.waterfall import buildbucket_client 9 from common.waterfall import buildbucket_client
10 from model import analysis_status 10 from model import analysis_status
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 self.assertIsNone(MonitorTryJobPipeline._MicrosecondsToDatetime(None)) 131 self.assertIsNone(MonitorTryJobPipeline._MicrosecondsToDatetime(None))
132 132
133 def testUpdateTryJobMetadataForBuildError(self): 133 def testUpdateTryJobMetadataForBuildError(self):
134 error_data = { 134 error_data = {
135 'reason': 'BUILD_NOT_FOUND', 135 'reason': 'BUILD_NOT_FOUND',
136 'message': 'message' 136 'message': 'message'
137 } 137 }
138 error = buildbucket_client.BuildbucketError(error_data) 138 error = buildbucket_client.BuildbucketError(error_data)
139 try_job_data = WfTryJobData.Create('1') 139 try_job_data = WfTryJobData.Create('1')
140 140
141 MonitorTryJobPipeline._UpdateTryJobMetadataForBuildError( 141 MonitorTryJobPipeline._UpdateTryJobMetadata(
142 try_job_data, error) 142 try_job_data, None, None, error, False)
143 self.assertEqual(try_job_data.error, error_data) 143 self.assertEqual(try_job_data.error, error_data)
144 144
145 def testUpdateTryJobMetadataForCompletedBuild(self): 145 def testUpdateTryJobMetadataForCompletedBuild(self):
146 try_job_id = '1' 146 try_job_id = '1'
147 url = 'url' 147 url = 'url'
148 build_data = { 148 build_data = {
149 'id': try_job_id, 149 'id': try_job_id,
150 'url': url, 150 'url': url,
151 'status': 'COMPLETED', 151 'status': 'COMPLETED',
152 'completed_ts': '1454367574000000', 152 'completed_ts': '1454367574000000',
153 'created_ts': '1454367570000000', 153 'created_ts': '1454367570000000',
154 'result_details_json': json.dumps({ 154 'result_details_json': json.dumps({
155 'properties': { 155 'properties': {
156 'report': { 156 'report': {
157 'result': { 157 'result': {
158 'rev1': 'passed', 158 'rev1': 'passed',
159 'rev2': 'failed' 159 'rev2': 'failed'
160 }, 160 },
161 'metadata': { 161 'metadata': {
162 'regression_range_size': 2 162 'regression_range_size': 2
163 } 163 }
164 } 164 }
165 } 165 }
166 }) 166 })
167 } 167 }
168 build = buildbucket_client.BuildbucketBuild(build_data) 168 build = buildbucket_client.BuildbucketBuild(build_data)
169 try_job_data = WfTryJobData.Create(try_job_id) 169 try_job_data = WfTryJobData.Create(try_job_id)
170 170
171 MonitorTryJobPipeline._UpdateTryJobMetadataForCompletedBuild( 171 MonitorTryJobPipeline._UpdateTryJobMetadata(
172 try_job_data, build, None, timed_out=False) 172 try_job_data, None, build, None, False)
173 try_job_data = WfTryJobData.Get(try_job_id) 173 try_job_data = WfTryJobData.Get(try_job_id)
174 self.assertIsNone(try_job_data.error) 174 self.assertIsNone(try_job_data.error)
175 self.assertEqual(try_job_data.regression_range_size, 2) 175 self.assertEqual(try_job_data.regression_range_size, 2)
176 self.assertEqual(try_job_data.number_of_commits_analyzed, 2) 176 self.assertEqual(try_job_data.number_of_commits_analyzed, 2)
177 self.assertEqual(try_job_data.end_time, datetime(2016, 2, 1, 22, 59, 34)) 177 self.assertEqual(try_job_data.end_time, datetime(2016, 2, 1, 22, 59, 34))
178 self.assertEqual(try_job_data.request_time, 178 self.assertEqual(try_job_data.request_time,
179 datetime(2016, 2, 1, 22, 59, 30)) 179 datetime(2016, 2, 1, 22, 59, 30))
180 self.assertEqual(try_job_data.try_job_url, url) 180 self.assertEqual(try_job_data.try_job_url, url)
181 181
182 MonitorTryJobPipeline._UpdateTryJobMetadataForCompletedBuild( 182 MonitorTryJobPipeline._UpdateTryJobMetadata(
183 try_job_data, build, None, timed_out=True) 183 try_job_data, None, build, None, True)
184 self.assertEqual(try_job_data.error, 184 self.assertEqual(try_job_data.error,
185 {'message': MonitorTryJobPipeline.TIMEOUT, 185 {'message': 'Try job monitoring was abandoned.',
186 'reason': MonitorTryJobPipeline.TIMEOUT}) 186 'reason': MonitorTryJobPipeline.TIMEOUT})
187 187
188 def testGetTryJobsForCompileSuccess(self): 188 def testGetTryJobsForCompileSuccess(self):
189 master_name = 'm' 189 master_name = 'm'
190 builder_name = 'b' 190 builder_name = 'b'
191 build_number = 1 191 build_number = 1
192 try_job_id = '1' 192 try_job_id = '1'
193 regression_range_size = 2 193 regression_range_size = 2
194 194
195 try_job = WfTryJob.Create(master_name, builder_name, build_number) 195 try_job = WfTryJob.Create(master_name, builder_name, build_number)
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 try_job_id = '3' 291 try_job_id = '3'
292 292
293 try_job = WfTryJob.Create(master_name, builder_name, build_number).put() 293 try_job = WfTryJob.Create(master_name, builder_name, build_number).put()
294 294
295 pipeline = MonitorTryJobPipeline() 295 pipeline = MonitorTryJobPipeline()
296 pipeline._UpdateTryJobResult( 296 pipeline._UpdateTryJobResult(
297 buildbucket_client.BuildbucketBuild.STARTED, master_name, builder_name, 297 buildbucket_client.BuildbucketBuild.STARTED, master_name, builder_name,
298 build_number, TryJobType.TEST, try_job_id, 'url') 298 build_number, TryJobType.TEST, try_job_id, 'url')
299 try_job = WfTryJob.Get(master_name, builder_name, build_number) 299 try_job = WfTryJob.Get(master_name, builder_name, build_number)
300 self.assertEqual(analysis_status.RUNNING, try_job.status) 300 self.assertEqual(analysis_status.RUNNING, try_job.status)
OLDNEW
« no previous file with comments | « appengine/findit/waterfall/monitor_try_job_pipeline.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698