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

Side by Side Diff: appengine/findit/model/wf_swarming_task.py

Issue 2508603002: [Findit] Refactoring trigger swarming task pipelines (Closed)
Patch Set: Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from collections import defaultdict 5 from collections import defaultdict
6 6
7 from google.appengine.ext import ndb 7 from google.appengine.ext import ndb
8 8
9 from model.base_build_model import BaseBuildModel 9 from model.base_build_model import BaseBuildModel
10 from model.base_swarming_task import BaseSwarmingTask 10 from model.base_swarming_task import BaseSwarmingTask
(...skipping 27 matching lines...) Expand all
38 # If the test is 'SKIPPED', there should be failure in its dependency, 38 # If the test is 'SKIPPED', there should be failure in its dependency,
39 # consider it to be failed as well. 39 # consider it to be failed as well.
40 # TODO(chanli): Check more test statuses. 40 # TODO(chanli): Check more test statuses.
41 classified_tests['reliable_tests'].append(test_name) 41 classified_tests['reliable_tests'].append(test_name)
42 return classified_tests 42 return classified_tests
43 43
44 @property 44 @property
45 def reliable_tests(self): 45 def reliable_tests(self):
46 return self.classified_tests.get('reliable_tests', []) 46 return self.classified_tests.get('reliable_tests', [])
47 47
48 @ndb.ComputedProperty
49 def step_name(self):
50 return self.key.pairs()[1][1]
51
48 @staticmethod 52 @staticmethod
49 def _CreateKey( 53 def _CreateKey(
50 master_name, builder_name, build_number, step_name): # pragma: no cover 54 master_name, builder_name, build_number, step_name): # pragma: no cover
51 build_id = BaseBuildModel.CreateBuildId( 55 build_id = BaseBuildModel.CreateBuildId(
52 master_name, builder_name, build_number) 56 master_name, builder_name, build_number)
53 return ndb.Key('WfBuild', build_id, 'WfSwarmingTask', step_name) 57 return ndb.Key('WfBuild', build_id, 'WfSwarmingTask', step_name)
54 58
55 @staticmethod 59 @staticmethod
56 def Create( 60 def Create(
57 master_name, builder_name, build_number, step_name): # pragma: no cover 61 master_name, builder_name, build_number, step_name): # pragma: no cover
58 task = WfSwarmingTask( 62 task = WfSwarmingTask(
59 key=WfSwarmingTask._CreateKey( 63 key=WfSwarmingTask._CreateKey(
60 master_name, builder_name, build_number, step_name)) 64 master_name, builder_name, build_number, step_name))
61 task.parameters = task.parameters or {} 65 task.parameters = task.parameters or {}
62 task.tests_statuses = task.tests_statuses or {} 66 task.tests_statuses = task.tests_statuses or {}
63 return task 67 return task
64 68
65 @staticmethod 69 @staticmethod
66 def Get( 70 def Get(
67 master_name, builder_name, build_number, step_name): # pragma: no cover 71 master_name, builder_name, build_number, step_name): # pragma: no cover
68 return WfSwarmingTask._CreateKey( 72 return WfSwarmingTask._CreateKey(
69 master_name, builder_name, build_number, step_name).get() 73 master_name, builder_name, build_number, step_name).get()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698