Chromium Code Reviews| Index: pending_manager.py |
| diff --git a/pending_manager.py b/pending_manager.py |
| index b8b176b1d8d0a05bae89ad1e4a0787487b65c1b3..57133937b024443871a8c1a0a486383ea6585cd2 100644 |
| --- a/pending_manager.py |
| +++ b/pending_manager.py |
| @@ -197,13 +197,8 @@ class PendingManager(object): |
| # are str due to json support. |
| if pending.issue not in new_issues: |
| logging.info('Flushing issue %d' % pending.issue) |
| - self.context.status.send( |
| - pending, |
| - { 'verification': 'abort', |
| - 'payload': { |
| - 'output': 'CQ bit was unchecked on CL. Ignoring.' }}) |
| pending.get_state = lambda: base.IGNORED |
| - self._discard_pending(pending, None) |
| + self._discard_pending(pending, 'CQ bit was unchecked on CL. Ignoring.') |
| # Find new issues. |
| for issue_id in new_issues: |
| @@ -271,7 +266,8 @@ class PendingManager(object): |
| pending.issue, missing, pending.get_state())) |
| self._verify_pending(pending) |
| except base.DiscardPending as e: |
| - self._discard_pending(e.pending, e.status) |
| + self._discard_pending(e.pending, e.status or |
|
Paweł Hajdan Jr.
2014/01/28 01:13:46
nit: Indentation in these "or" expressions might b
|
| + 'process_new_pending_commit: ' + self.FAILED_NO_MESSAGE) |
| def update_status(self): |
| """Updates the status for each pending commit verifier.""" |
| @@ -283,7 +279,8 @@ class PendingManager(object): |
| except base.DiscardPending as e: |
| # It's not efficient since it takes a full loop for each pending |
| # commit to discard. |
| - self._discard_pending(e.pending, e.status) |
| + self._discard_pending(e.pending, e.status or |
| + 'update_status: ' + self.FAILED_NO_MESSAGE) |
| for pending in self.queue.iterate(): |
| why_not = pending.why_not() |
| @@ -300,7 +297,8 @@ class PendingManager(object): |
| state = pending.get_state() |
| if state == base.FAILED: |
| self._discard_pending( |
| - pending, pending.error_message() or self.FAILED_NO_MESSAGE) |
| + pending, pending.error_message() or |
| + 'scan_results(FAILED): ' + self.FAILED_NO_MESSAGE) |
| elif state == base.SUCCEEDED: |
| if self._throttle(pending): |
| continue |
| @@ -316,7 +314,8 @@ class PendingManager(object): |
| self._commit_patch(pending) |
| except base.DiscardPending as e: |
| - self._discard_pending(e.pending, e.status) |
| + self._discard_pending(e.pending, e.status or |
| + 'scan_results(commit): ' + self.FAILED_NO_MESSAGE) |
| except Exception as e: |
| self._discard_pending(pending, self.INTERNAL_EXCEPTION) |
| raise |
| @@ -423,6 +422,7 @@ class PendingManager(object): |
| def _discard_pending(self, pending, message): |
| """Discards a pending commit. Attach an optional message to the review.""" |
| logging.debug('_discard_pending(%s, %s)', pending.issue, message) |
| + msg = message or self.FAILED_NO_MESSAGE |
| try: |
| try: |
| if pending.get_state() != base.IGNORED: |
| @@ -431,24 +431,23 @@ class PendingManager(object): |
| except urllib2.HTTPError as e: |
| logging.error( |
| 'Failed to set the flag to False for %s with message %s' % ( |
| - pending.pending_name(), message)) |
| + pending.pending_name(), msg)) |
| traceback.print_stack() |
| logging.error(str(e)) |
| errors.send_stack(e) |
| - if message: |
| - try: |
| - self.context.rietveld.add_comment(pending.issue, message) |
| - except urllib2.HTTPError as e: |
| - logging.error( |
| - 'Failed to add comment for %s with message %s' % ( |
| - pending.pending_name(), message)) |
| - traceback.print_stack() |
| - errors.send_stack(e) |
| - self.context.status.send( |
| - pending, |
| - { 'verification': 'abort', |
| - 'payload': { |
| - 'output': message }}) |
| + try: |
| + self.context.rietveld.add_comment(pending.issue, msg) |
| + except urllib2.HTTPError as e: |
| + logging.error( |
| + 'Failed to add comment for %s with message %s' % ( |
| + pending.pending_name(), msg)) |
| + traceback.print_stack() |
| + errors.send_stack(e) |
| + self.context.status.send( |
| + pending, |
| + { 'verification': 'abort', |
| + 'payload': { |
| + 'output': msg }}) |
| finally: |
| # Most importantly, remove the PendingCommit from the queue. |
| self.queue.remove(pending.issue) |
| @@ -526,8 +525,10 @@ class PendingManager(object): |
| if stdout: |
| out += '\n%s' % stdout |
| raise base.DiscardPending(pending, out) |
| + # Apply default message here |
|
Paweł Hajdan Jr.
2014/01/28 01:13:46
nit: This comment line seems to be out of place -
|
| except base.DiscardPending as e: |
| - self._discard_pending(e.pending, e.status) |
| + self._discard_pending(e.pending, e.status or |
| + '_commit_patch: ' + self.FAILED_NO_MESSAGE) |
| def _throttle(self, pending): |
| """Returns True if a commit should be delayed.""" |