Chromium Code Reviews| Index: appengine/findit/waterfall/trigger_flake_swarming_task_pipeline.py |
| diff --git a/appengine/findit/waterfall/trigger_flake_swarming_task_pipeline.py b/appengine/findit/waterfall/trigger_flake_swarming_task_pipeline.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..460a86b441abef9e1ce246af3734b2719bbdbc5d |
| --- /dev/null |
| +++ b/appengine/findit/waterfall/trigger_flake_swarming_task_pipeline.py |
| @@ -0,0 +1,39 @@ |
| +from google.appengine.ext import ndb |
| + |
| +import logging |
| + |
| +from waterfall.trigger_base_swarming_task_pipeline import ( |
| + TriggerBaseSwarmingTaskPipeline as TBSTP) |
| +from model.flake.flake_swarming_task import FlakeSwarmingTask |
| + |
| +class TriggerFlakeSwarmingTaskPipeline(TBSTP): |
| + """A pipeline to check if selected tests of a step are flaky. |
| + |
| + This pipeline only supports test steps that run on Swarming and support the |
| + gtest filter. |
| + """ |
| + #pylint: disable=arguments-differ |
| + def _GetSwarmingTask(self,master_name, builder_name, build_number, |
| + step_name, test_name): |
| + # Get the appropriate kind of Swarming Task (Flake). |
| + swarming_task = FlakeSwarmingTask.Get( |
| + master_name, builder_name, build_number, step_name, test_name) |
| + return swarming_task |
| + |
| + #pylint: disable=arguments-differ |
| + def _CreateSwarmingTask(self, master_name, builder_name, build_number, |
| + step_name, test_name): |
| + # Create the appropriate kind of Swarming Task (Flake). |
| + swarming_task = FlakeSwarmingTask.Create( |
| + master_name, builder_name, build_number, step_name, test_name) |
| + return swarming_task |
| + |
| + def _GetIterationsToRerun(self): |
| + # How many times we want to run the swarming rerun? |
| + # TODO(caiw): Move to config. |
| + return 10 |
| + |
| + def _GetArgs(self, master_name, builder_name, build_number, step_name, tests): |
|
stgao
2016/07/14 18:34:50
One alternative is to return the key of the entity
caiw
2016/07/15 00:25:10
I thought we talked and said this was ok for now?
|
| + test_name = tests[0] #only one test per pipeline |
| + logging.info("test name: %s" % test_name) |
| + return (master_name, builder_name, build_number, step_name, test_name) |