示例#1
0
    def testOnSwarmingTaskStateChangedCompleted(self, mocked_parse,
                                                mocked_result):
        task_id = 'task_id'
        task_data = {
            'state': constants.STATE_COMPLETED,
        }
        mocked_result.return_value = task_data, None, None

        commit_position = 1000
        isolate_sha = 'sha1'
        iterations = 50
        timeout_seconds = 1200

        parameters = RunFlakeSwarmingTaskInput(builder_name='b',
                                               commit_position=commit_position,
                                               isolate_sha=isolate_sha,
                                               iterations=iterations,
                                               master_name='m',
                                               reference_build_number=123,
                                               step_name='s',
                                               test_name='t',
                                               timeout_seconds=timeout_seconds)

        flake_swarming.OnSwarmingTaskStateChanged(parameters, task_id)
        mocked_parse.assert_called_once_with(task_data, None, None, parameters)
示例#2
0
    def CallbackImpl(self, pipeline_parameters, callback_parameters):
        """Returns the results of the swarming task."""
        if not callback_parameters.get('task_id'):
            # Task_id is not saved in callback parameters yet, retries the callback.
            return 'Task_id not found for pipeline %s' % self.pipeline_id, None

        task_id = callback_parameters['task_id']
        try:
            results = flake_swarming.OnSwarmingTaskStateChanged(
                pipeline_parameters, task_id)
            if not results:
                # No task state, further callback is needed.
                return None
            return None, results
        except exceptions.RetryException as e:  # Indicate an error to retry.
            return ('Error getting swarming task result: {}'.format(
                e.error_message), None)
示例#3
0
    def testOnSwarmingTaskStateChangedRunning(self, mocked_result):
        task_id = 'task_id'
        task_data = {'state': constants.STATE_RUNNING}
        mocked_result.return_value = task_data, None, None

        commit_position = 1000
        isolate_sha = 'sha1'
        iterations = 50
        timeout_seconds = 1200

        parameters = RunFlakeSwarmingTaskInput(builder_name='b',
                                               commit_position=commit_position,
                                               isolate_sha=isolate_sha,
                                               iterations=iterations,
                                               master_name='m',
                                               reference_build_number=123,
                                               step_name='s',
                                               test_name='t',
                                               timeout_seconds=timeout_seconds)

        self.assertIsNone(
            flake_swarming.OnSwarmingTaskStateChanged(parameters, task_id))
示例#4
0
    def testOnSwarmingTaskStateChangedNoTaskData(self, mocked_error,
                                                 mocked_result):

        commit_position = 1000
        isolate_sha = 'sha1'
        iterations = 50
        timeout_seconds = 1200

        parameters = RunFlakeSwarmingTaskInput(builder_name='b',
                                               commit_position=commit_position,
                                               isolate_sha=isolate_sha,
                                               iterations=iterations,
                                               master_name='m',
                                               reference_build_number=123,
                                               step_name='s',
                                               test_name='t',
                                               timeout_seconds=timeout_seconds)

        task_id = 'task_id'
        mocked_result.return_value = None, None, None

        flake_swarming.OnSwarmingTaskStateChanged(parameters, task_id)
        mocked_error.assert_called_once_with(task_id, None)