Chromium Code Reviews| Index: appengine/findit/model/flake/flake_swarming_task.py |
| diff --git a/appengine/findit/model/flake/flake_swarming_task.py b/appengine/findit/model/flake/flake_swarming_task.py |
| index 8c4f7803d2483d0db89d8ad84184de7c777188a5..3bd0b0b5ece80a65c80c41d13a691dff63d5b395 100644 |
| --- a/appengine/findit/model/flake/flake_swarming_task.py |
| +++ b/appengine/findit/model/flake/flake_swarming_task.py |
| @@ -6,38 +6,34 @@ import base64 |
| from google.appengine.ext import ndb |
| -from common import constants |
| -from model import analysis_status |
| -from model.base_swarming_task import BaseSwarmingTask |
| from model.base_build_model import BaseBuildModel |
| +from model.base_swarming_task import BaseSwarmingTask |
| + |
| class FlakeSwarmingTask(BaseSwarmingTask, BaseBuildModel): |
| """Represents a swarming task for a step w/candidate flaky tests. |
| """ |
| @staticmethod |
| - def _CreateSwarmingTaskId( |
| - master_name, builder_name, build_number, |
| - step_name, test_name): # pragma: no cover |
| + def _CreateSwarmingTaskId(master_name, builder_name, build_number, |
| + step_name, test_name): # pragma: no cover |
| encoded_test_name = base64.urlsafe_b64encode(test_name) |
| return '%s/%s/%s/%s/%s' % (master_name, builder_name, |
| build_number, step_name, encoded_test_name) |
| @staticmethod |
| - def _CreateKey( |
| - master_name, builder_name, build_number, |
| - step_name, test_name): # pragma: no cover |
| + def _CreateKey(master_name, builder_name, build_number, |
| + step_name, test_name): # pragma: no cover |
| return ndb.Key('FlakeSwarmingTask', |
| FlakeSwarmingTask._CreateSwarmingTaskId( |
| master_name, builder_name, build_number, |
| step_name, test_name)) |
| @staticmethod |
| - def Create( |
| - master_name, builder_name, build_number, |
| - step_name, test_name): # pragma: no cover |
| + def Create(master_name, builder_name, build_number, |
| + step_name, test_name): # pragma: no cover |
| return FlakeSwarmingTask(key=FlakeSwarmingTask._CreateKey( |
| - master_name, builder_name, build_number, step_name, test_name)) |
| + master_name, builder_name, build_number, step_name, test_name)) |
| @ndb.ComputedProperty |
| def step_name(self): |
| @@ -47,14 +43,22 @@ class FlakeSwarmingTask(BaseSwarmingTask, BaseBuildModel): |
| def test_name(self): |
| return base64.urlsafe_b64decode(self.key.pairs()[0][1].split('/')[4]) |
| - |
| @staticmethod |
| - def Get( |
| - master_name, builder_name, build_number, |
| - step_name, test_name): # pragma: no cover |
| + def Get(master_name, builder_name, build_number, |
| + step_name, test_name): # pragma: no cover |
| return FlakeSwarmingTask._CreateKey( |
| master_name, builder_name, build_number, step_name, test_name).get() |
| + def ResultsToJsonDict(self): |
| + return { |
| + 'created_time': str(self.created_time), |
|
stgao
2016/09/30 21:07:31
Convert to UTC timestamp instead?
stgao
2016/09/30 21:10:54
If use LocalStructuredProperty, no change for the
lijeffrey
2016/10/01 01:28:04
Done.
|
| + 'started_time': str(self.started_time), |
| + 'completed_time': str(self.completed_time), |
| + 'build_number': self.build_number, |
| + 'number_of_iterations': self.tries, |
| + 'number_of_passes': self.successes |
| + } |
| + |
| # Number of runs the test passed. |
| successes = ndb.IntegerProperty(default=0, indexed=False) |
| # How many times the test was rerun. |