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

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

Issue 1778153002: [Findit] Strip platform from step_name before triggering try job. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: . Created 4 years, 9 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
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 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 import datetime 5 import datetime
6 6
7 from testing_utils import testing 7 from testing_utils import testing
8 8
9 from model import wf_analysis_status 9 from model import wf_analysis_status
10 from model.wf_swarming_task import WfSwarmingTask 10 from model.wf_swarming_task import WfSwarmingTask
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 } 118 }
119 119
120 120
121 class ProcessSwarmingTaskResultPipelineTest(testing.AppengineTestCase): 121 class ProcessSwarmingTaskResultPipelineTest(testing.AppengineTestCase):
122 122
123 def _MockedGetSwarmingTaskResultById(self, task_id, _): 123 def _MockedGetSwarmingTaskResultById(self, task_id, _):
124 swarming_task_results = { 124 swarming_task_results = {
125 'task_id1': { 125 'task_id1': {
126 'state': 'COMPLETED', 126 'state': 'COMPLETED',
127 'tags': [ 127 'tags': [
128 'priority:25' 128 'priority:25',
129 'ref_name:abc_tests'
129 ], 130 ],
130 'outputs_ref': { 131 'outputs_ref': {
131 'isolatedserver': _ISOLATED_SERVER, 132 'isolatedserver': _ISOLATED_SERVER,
132 'namespace': 'default-gzip', 133 'namespace': 'default-gzip',
133 'isolated': 'shard1_isolated' 134 'isolated': 'shard1_isolated'
134 }, 135 },
135 'created_ts': '2016-02-10T18:32:06.538220', 136 'created_ts': '2016-02-10T18:32:06.538220',
136 'started_ts': '2016-02-10T18:32:09.090550', 137 'started_ts': '2016-02-10T18:32:09.090550',
137 'completed_ts': '2016-02-10T18:33:09' 138 'completed_ts': '2016-02-10T18:33:09'
138 }, 139 },
139 'task_id2': { 140 'task_id2': {
140 'state': 'TIMED_OUT', 141 'state': 'TIMED_OUT',
141 'outputs_ref': None 142 'outputs_ref': None
142 } 143 }
143 } 144 }
144 145
145 mocked_result = swarming_task_results[task_id] 146 mocked_result = swarming_task_results[task_id]
146 return mocked_result 147 return mocked_result
147 148
148 def setUp(self): 149 def setUp(self):
149 super(ProcessSwarmingTaskResultPipelineTest, self).setUp() 150 super(ProcessSwarmingTaskResultPipelineTest, self).setUp()
150 self.master_name = 'm' 151 self.master_name = 'm'
151 self.builder_name = 'b' 152 self.builder_name = 'b'
152 self.build_number = 121 153 self.build_number = 121
153 self.step_name = 'abc_tests' 154 self.step_name = 'abc_tests on platform'
154 def _MockGetSwarmingSettings(): 155 def _MockGetSwarmingSettings():
155 return _MOCK_SWARMING_SETTINGS 156 return _MOCK_SWARMING_SETTINGS
156 self.mock(waterfall_config, 'GetSwarmingSettings', _MockGetSwarmingSettings) 157 self.mock(waterfall_config, 'GetSwarmingSettings', _MockGetSwarmingSettings)
157 self.mock(swarming_util, 'GetSwarmingTaskResultById', 158 self.mock(swarming_util, 'GetSwarmingTaskResultById',
158 self._MockedGetSwarmingTaskResultById) 159 self._MockedGetSwarmingTaskResultById)
159 160
160 def testCheckTestsRunStatusesNoOutPutJson(self): 161 def testCheckTestsRunStatusesNoOutPutJson(self):
161 tests_statuses = ( 162 tests_statuses = (
162 process_swarming_task_result_pipeline._CheckTestsRunStatuses(None)) 163 process_swarming_task_result_pipeline._CheckTestsRunStatuses(None))
163 self.assertEqual({}, tests_statuses) 164 self.assertEqual({}, tests_statuses)
(...skipping 11 matching lines...) Expand all
175 task_id = 'task_id1' 176 task_id = 'task_id1'
176 177
177 self.mock(swarming_util, 'GetSwarmingTaskFailureLog', 178 self.mock(swarming_util, 'GetSwarmingTaskFailureLog',
178 self._MockedGetSwarmingTaskFailureLog) 179 self._MockedGetSwarmingTaskFailureLog)
179 180
180 WfSwarmingTask.Create( 181 WfSwarmingTask.Create(
181 self.master_name, self.builder_name, 182 self.master_name, self.builder_name,
182 self.build_number, self.step_name).put() 183 self.build_number, self.step_name).put()
183 184
184 pipeline = ProcessSwarmingTaskResultPipeline() 185 pipeline = ProcessSwarmingTaskResultPipeline()
185 step_name, classified_tests = pipeline.run( 186 step_name, task_info = pipeline.run(
186 self.master_name, self.builder_name, 187 self.master_name, self.builder_name,
187 self.build_number, self.step_name, task_id) 188 self.build_number, self.step_name, task_id)
188 189
189 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, classified_tests) 190 self.assertEqual(self.step_name, step_name)
191 self.assertEqual('abc_tests', task_info[0])
192 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task_info[1])
190 193
191 task = WfSwarmingTask.Get( 194 task = WfSwarmingTask.Get(
192 self.master_name, self.builder_name, self.build_number, self.step_name) 195 self.master_name, self.builder_name, self.build_number, self.step_name)
193 196
194 self.assertEqual(self.step_name, step_name)
195 self.assertEqual(wf_analysis_status.ANALYZED, task.status) 197 self.assertEqual(wf_analysis_status.ANALYZED, task.status)
196 self.assertEqual(_EXPECTED_TESTS_STATUESE, task.tests_statuses) 198 self.assertEqual(_EXPECTED_TESTS_STATUESE, task.tests_statuses)
197 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task.classified_tests) 199 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task.classified_tests)
198 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220), 200 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220),
199 task.created_time) 201 task.created_time)
200 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550), 202 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550),
201 task.started_time) 203 task.started_time)
202 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9), 204 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9),
203 task.completed_time) 205 task.completed_time)
204 206
205 207
206 def testProcessSwarmingTaskResultPipelineTaskNotRunning(self): 208 def testProcessSwarmingTaskResultPipelineTaskNotRunning(self):
207 task_id = 'task_id2' 209 task_id = 'task_id2'
208 210
209 WfSwarmingTask.Create( 211 WfSwarmingTask.Create(
210 self.master_name, self.builder_name, 212 self.master_name, self.builder_name,
211 self.build_number, self.step_name).put() 213 self.build_number, self.step_name).put()
212 214
213 pipeline = ProcessSwarmingTaskResultPipeline() 215 pipeline = ProcessSwarmingTaskResultPipeline()
214 step_name, classified_tests = pipeline.run( 216 step_name, task_info = pipeline.run(
215 self.master_name, self.builder_name, 217 self.master_name, self.builder_name,
216 self.build_number, self.step_name, task_id) 218 self.build_number, self.step_name, task_id)
217 219
218 self.assertEqual({}, classified_tests) 220 self.assertEqual(self.step_name, step_name)
221 self.assertIsNone(task_info[0])
222 self.assertEqual({}, task_info[1])
219 223
220 task = WfSwarmingTask.Get( 224 task = WfSwarmingTask.Get(
221 self.master_name, self.builder_name, self.build_number, self.step_name) 225 self.master_name, self.builder_name, self.build_number, self.step_name)
222 226
223 self.assertEqual(wf_analysis_status.ERROR, task.status) 227 self.assertEqual(wf_analysis_status.ERROR, task.status)
224 self.assertEqual({}, task.tests_statuses) 228 self.assertEqual({}, task.tests_statuses)
225 self.assertEqual({}, task.classified_tests) 229 self.assertEqual({}, task.classified_tests)
226 self.assertEqual(self.step_name, step_name)
227 230
228 def testProcessSwarmingTaskResultPipelineTaskTimeOut(self): 231 def testProcessSwarmingTaskResultPipelineTaskTimeOut(self):
229 task_id = 'task_id2' 232 task_id = 'task_id1'
230 old_mock_timeout = _MOCK_SWARMING_SETTINGS['task_timeout_hours'] 233 old_mock_timeout = _MOCK_SWARMING_SETTINGS['task_timeout_hours']
231 _MOCK_SWARMING_SETTINGS['task_timeout_hours'] = -1 234 _MOCK_SWARMING_SETTINGS['task_timeout_hours'] = -1
232 235
233 WfSwarmingTask.Create( 236 WfSwarmingTask.Create(
234 self.master_name, self.builder_name, 237 self.master_name, self.builder_name,
235 self.build_number, self.step_name).put() 238 self.build_number, self.step_name).put()
236 239
237 pipeline = ProcessSwarmingTaskResultPipeline() 240 pipeline = ProcessSwarmingTaskResultPipeline()
238 step_name, classified_tests = pipeline.run( 241 step_name, task_info = pipeline.run(
239 self.master_name, self.builder_name, 242 self.master_name, self.builder_name,
240 self.build_number, self.step_name, task_id) 243 self.build_number, self.step_name, task_id)
241 244
242 self.assertEqual({}, classified_tests) 245 self.assertEqual(self.step_name, step_name)
246 self.assertEqual('abc_tests', task_info[0])
247 self.assertEqual({}, task_info[1])
243 248
244 task = WfSwarmingTask.Get( 249 task = WfSwarmingTask.Get(
245 self.master_name, self.builder_name, self.build_number, self.step_name) 250 self.master_name, self.builder_name, self.build_number, self.step_name)
246 251
247 self.assertEqual(wf_analysis_status.ERROR, task.status) 252 self.assertEqual(wf_analysis_status.ERROR, task.status)
248 self.assertEqual({}, task.tests_statuses) 253 self.assertEqual({}, task.tests_statuses)
249 self.assertEqual({}, task.classified_tests) 254 self.assertEqual({}, task.classified_tests)
250 self.assertEqual(self.step_name, step_name)
251 255
252 _MOCK_SWARMING_SETTINGS['task_timeout_hours'] = old_mock_timeout 256 _MOCK_SWARMING_SETTINGS['task_timeout_hours'] = old_mock_timeout
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698