| Index: appengine/findit/waterfall/test/trigger_swarming_task_pipeline_test.py
|
| diff --git a/appengine/findit/waterfall/test/trigger_swarming_task_pipeline_test.py b/appengine/findit/waterfall/test/trigger_swarming_task_pipeline_test.py
|
| index 7178d7df84a12856bd3a6888d8bc0bad0f46e422..5d028334ea998e7a72330f8614752e83ef8fe70d 100644
|
| --- a/appengine/findit/waterfall/test/trigger_swarming_task_pipeline_test.py
|
| +++ b/appengine/findit/waterfall/test/trigger_swarming_task_pipeline_test.py
|
| @@ -101,7 +101,7 @@ class TriggerSwarmingTaskPipelineTest(wf_testcase.WaterfallTestCase):
|
| new_request_json = {}
|
| def MockedTriggerSwarmingTask(new_request, *_):
|
| new_request_json.update(new_request.Serialize())
|
| - return 'new_task_id'
|
| + return 'new_task_id', None
|
| self.mock(swarming_util, 'TriggerSwarmingTask', MockedTriggerSwarmingTask)
|
|
|
| def MockedGetSwarmingTaskName(*_):
|
| @@ -159,3 +159,61 @@ class TriggerSwarmingTaskPipelineTest(wf_testcase.WaterfallTestCase):
|
| self.assertEqual(
|
| waterfall_config.GetSwarmingSettings()['iterations_to_rerun'],
|
| swarming_task.parameters['iterations_to_rerun'])
|
| +
|
| + def testTriggerANewSwarmingTaskError(self):
|
| + def MockedDownloadSwarmingTaskData(*_):
|
| + return [{'task_id': '1'}, {'task_id': '2'}]
|
| + self.mock(swarming_util, 'ListSwarmingTasksDataByTags',
|
| + MockedDownloadSwarmingTaskData)
|
| +
|
| + def MockedGetSwarmingTaskRequest(ref_task_id, *_):
|
| + self.assertEqual('1', ref_task_id)
|
| + return SwarmingTaskRequest.Deserialize({
|
| + 'expiration_secs': 3600,
|
| + 'name': 'ref_task_request',
|
| + 'parent_task_id': 'pti',
|
| + 'priority': 25,
|
| + 'properties': {
|
| + 'command': 'cmd',
|
| + 'dimensions': [{'key': 'k', 'value': 'v'}],
|
| + 'env': [
|
| + {'key': 'a', 'value': '1'},
|
| + {'key': 'GTEST_SHARD_INDEX', 'value': '1'},
|
| + {'key': 'GTEST_TOTAL_SHARDS', 'value': '5'},
|
| + ],
|
| + 'execution_timeout_secs': 3600,
|
| + 'extra_args': ['--flag=value', '--gtest_filter=d.f'],
|
| + 'grace_period_secs': 30,
|
| + 'idempotent': True,
|
| + 'inputs_ref': {'a': 1},
|
| + 'io_timeout_secs': 1200,
|
| + },
|
| + 'tags': ['master:a', 'buildername:b', 'name:a_tests'],
|
| + 'user': 'user',
|
| + })
|
| + self.mock(swarming_util, 'GetSwarmingTaskRequest',
|
| + MockedGetSwarmingTaskRequest)
|
| +
|
| + new_request_json = {}
|
| + def MockedTriggerSwarmingTask(new_request, *_):
|
| + new_request_json.update(new_request.Serialize())
|
| + return None, {'code': swarming_util.UNKNOWN, 'message': 'error'}
|
| + self.mock(swarming_util, 'TriggerSwarmingTask', MockedTriggerSwarmingTask)
|
| +
|
| + master_name = 'm'
|
| + builder_name = 'b'
|
| + build_number = 234
|
| + step_name = 'a_tests on platform'
|
| + tests = ['a.b', 'a.c']
|
| +
|
| + pipeline = TriggerSwarmingTaskPipeline()
|
| + pipeline.run(master_name, builder_name, build_number, step_name, tests)
|
| +
|
| + swarming_task = WfSwarmingTask.Get(
|
| + master_name, builder_name, build_number, step_name)
|
| + self.assertIsNotNone(swarming_task)
|
| + self.assertEqual(swarming_task.error,
|
| + {
|
| + 'code': swarming_util.UNKNOWN,
|
| + 'message': 'error'
|
| + })
|
|
|