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

Unified Diff: appengine/findit/model/flake/flake_swarming_task.py

Issue 2369333002: [Findit] Capture versionized metadata for master_flake_analysis (Closed)
Patch Set: Fixing nits Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
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..63cd971141038f778f6365e78b115c392924474d 100644
--- a/appengine/findit/model/flake/flake_swarming_task.py
+++ b/appengine/findit/model/flake/flake_swarming_task.py
@@ -6,38 +6,46 @@ 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 FlakeSwarmingTaskData(ndb.Model):
+ task_id = ndb.StringProperty(indexed=False)
+ status = ndb.IntegerProperty(indexed=False)
+ error = ndb.JsonProperty(indexed=False)
+ created_time = ndb.DateTimeProperty(indexed=False)
+ started_time = ndb.DateTimeProperty(indexed=False)
+ completed_time = ndb.DateTimeProperty(indexed=False)
+ cache_hit = ndb.IntegerProperty(indexed=False)
+ number_of_iterations = ndb.IntegerProperty(indexed=False)
+ number_of_passes = ndb.IntegerProperty(indexed=False)
+
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 +55,25 @@ 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 GetFlakeSwarmingTaskData(self):
+ flake_swarming_task_data = FlakeSwarmingTaskData()
+ flake_swarming_task_data.task_id = self.task_id
+ flake_swarming_task_data.created_time = self.created_time
+ flake_swarming_task_data.started_time = self.started_time
+ flake_swarming_task_data.completed_time = self.completed_time
+ flake_swarming_task_data.error = self.error
+ flake_swarming_task_data.number_of_iterations = self.tries
+ flake_swarming_task_data.number_of_passes = self.successes
+ flake_swarming_task_data.status = self.status
+ # TODO(lijeffrey): Determine cache_hit.
+ return flake_swarming_task_data
+
# Number of runs the test passed.
successes = ndb.IntegerProperty(default=0, indexed=False)
# How many times the test was rerun.
« no previous file with comments | « appengine/findit/handlers/flake/test/check_flake_test.py ('k') | appengine/findit/model/flake/master_flake_analysis.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698