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

Side by Side Diff: verification/try_server.py

Issue 6049007: Create IVerifierStatus and add IVerifierStatus.ignored(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/commit-queue
Patch Set: fix diff Created 9 years, 11 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 unified diff | Download patch | Annotate | Revision Log
« pending_manager.py ('K') | « verification/base.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # coding=utf8 1 # coding=utf8
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 """Sends patches to the Try server and reads back results. 5 """Sends patches to the Try server and reads back results.
6 """ 6 """
7 7
8 import datetime 8 import datetime
9 import json 9 import json
10 import logging 10 import logging
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 def build_status_url(self): 56 def build_status_url(self):
57 return '%sbuildstatus?builder=%s&number=%s' % ( 57 return '%sbuildstatus?builder=%s&number=%s' % (
58 self.base_url, self.builder, self.build) 58 self.base_url, self.builder, self.build)
59 59
60 def json_url(self): 60 def json_url(self):
61 return '%sjson/builders/%s/builds/%s' % ( 61 return '%sjson/builders/%s/builds/%s' % (
62 self.base_url, self.builder, self.build) 62 self.base_url, self.builder, self.build)
63 63
64 64
65 class TryJobs(model.PersistentMixIn): 65 class TryJobs(base.IVerifierStatus):
66 """A set of try jobs that were sent for a specific patch.""" 66 """A set of try jobs that were sent for a specific patch."""
67 persistent = [ 67 persistent = [
68 'try_jobs', 68 'try_jobs',
69 ] 69 ]
70 70
71 def __init__(self): 71 def __init__(self):
72 super(TryJobs, self).__init__() 72 super(TryJobs, self).__init__()
73 # An array of TryJob objects. 73 # An array of TryJob objects.
74 self.try_jobs = [] 74 self.try_jobs = []
75 75
(...skipping 10 matching lines...) Expand all
86 def failed(self): 86 def failed(self):
87 """At least one try job failed.""" 87 """At least one try job failed."""
88 if not self.try_jobs: 88 if not self.try_jobs:
89 return False 89 return False
90 for job in self.try_jobs: 90 for job in self.try_jobs:
91 if job.result in (FAILURE, EXCEPTION): 91 if job.result in (FAILURE, EXCEPTION):
92 assert job.build 92 assert job.build
93 return True 93 return True
94 return False 94 return False
95 95
96 def ignored(self):
97 return False
98
96 99
97 class TryRunner(base.Verifier): 100 class TryRunner(base.Verifier):
98 """Stateless communication with a try server. 101 """Stateless communication with a try server.
99 102
100 Sends try jobs and reads try job status. 103 Sends try jobs and reads try job status.
101 """ 104 """
102 name = 'try server' 105 name = 'try server'
103 106
104 def __init__(self, try_server_url, commit_user, builders, tests, extra_flags): 107 def __init__(self, try_server_url, commit_user, builders, tests, extra_flags):
105 super(TryRunner, self).__init__() 108 super(TryRunner, self).__init__()
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 else: 208 else:
206 build_status = alljobs[job.builder].get(str(job.build), None) 209 build_status = alljobs[job.builder].get(str(job.build), None)
207 if build_status: 210 if build_status:
208 self._handle_try_job(pending, job, build_status) 211 self._handle_try_job(pending, job, build_status)
209 212
210 def _handle_try_job(self, pending, job, build_status): 213 def _handle_try_job(self, pending, job, build_status):
211 """Determines if the try job is a good signal to commit the patch.""" 214 """Determines if the try job is a good signal to commit the patch."""
212 job.result = build_status.get(u'results', None) 215 job.result = build_status.get(u'results', None)
213 logging.info(u'Try job status for %s on %s: %s' % 216 logging.info(u'Try job status for %s on %s: %s' %
214 (pending.pending_name(), job.builder, job.result)) 217 (pending.pending_name(), job.builder, job.result))
OLDNEW
« pending_manager.py ('K') | « verification/base.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698