Merge lp:~mwhudson/launchpad/incremental-oops into lp:launchpad

Proposed by Michael Hudson-Doyle
Status: Merged
Approved by: Tim Penhey
Approved revision: not available
Merged at revision: not available
Proposed branch: lp:~mwhudson/launchpad/incremental-oops
Merge into: lp:launchpad
Diff against target: 64 lines (+15/-5)
4 files modified
lib/lp/code/browser/branch.py (+3/-3)
lib/lp/code/enums.py (+1/-1)
lib/lp/code/model/tests/test_codeimport.py (+9/-0)
lib/lp/code/model/tests/test_codeimportjob.py (+2/-1)
To merge this branch: bzr merge lp:~mwhudson/launchpad/incremental-oops
Reviewer Review Type Date Requested Status
Tim Penhey (community) Approve
Review via email: mp+19931@code.launchpad.net

Commit message

SUCCESS_PARTIAL needs to count as a success wrt code_import.consecutive_failure_count

To post a comment you must log in.
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Hi Tim,

A problem with the incremental import stuff: a partial success wasn't counted as a success when it comes to disabling imports that fail repeatedly. That's not what we want :-)

Cheers,
mwh

Revision history for this message
Tim Penhey (thumper) wrote :

Good catch.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'lib/lp/code/browser/branch.py'
--- lib/lp/code/browser/branch.py 2010-02-22 20:12:10 +0000
+++ lib/lp/code/browser/branch.py 2010-02-23 20:05:34 +0000
@@ -514,10 +514,10 @@
514514
515 def iconForCodeImportResultStatus(self, status):515 def iconForCodeImportResultStatus(self, status):
516 """The icon to represent the `CodeImportResultStatus` `status`."""516 """The icon to represent the `CodeImportResultStatus` `status`."""
517 if status in CodeImportResultStatus.successes:517 if status == CodeImportResultStatus.SUCCESS_PARTIAL:
518 return "/@@/yes-gray"
519 elif status in CodeImportResultStatus.successes:
518 return "/@@/yes"520 return "/@@/yes"
519 elif status == CodeImportResultStatus.SUCCESS_PARTIAL:
520 return "/@@/yes-gray"
521 else:521 else:
522 return "/@@/no"522 return "/@@/no"
523523
524524
=== modified file 'lib/lp/code/enums.py'
--- lib/lp/code/enums.py 2010-02-17 04:28:48 +0000
+++ lib/lp/code/enums.py 2010-02-23 20:05:34 +0000
@@ -871,7 +871,7 @@
871 job, or the deletion of a CodeImport which had a running job.871 job, or the deletion of a CodeImport which had a running job.
872 """)872 """)
873873
874 successes = [SUCCESS, SUCCESS_NOCHANGE]874 successes = [SUCCESS, SUCCESS_NOCHANGE, SUCCESS_PARTIAL]
875875
876876
877class CodeReviewVote(DBEnumeratedType):877class CodeReviewVote(DBEnumeratedType):
878878
=== modified file 'lib/lp/code/model/tests/test_codeimport.py'
--- lib/lp/code/model/tests/test_codeimport.py 2010-02-22 10:31:50 +0000
+++ lib/lp/code/model/tests/test_codeimport.py 2010-02-23 20:05:34 +0000
@@ -432,6 +432,15 @@
432 code_import, CodeImportResultStatus.SUCCESS_NOCHANGE)432 code_import, CodeImportResultStatus.SUCCESS_NOCHANGE)
433 self.assertEqual(0, code_import.consecutive_failure_count)433 self.assertEqual(0, code_import.consecutive_failure_count)
434434
435 def test_consecutive_failure_count_succeed_succeed_partial(self):
436 # A code import that has succeeded then succeeded with no changes has
437 # a consecutive_failure_count of 0.
438 code_import = self.factory.makeCodeImport()
439 self.succeedImport(code_import)
440 self.succeedImport(
441 code_import, CodeImportResultStatus.SUCCESS_NOCHANGE)
442 self.assertEqual(0, code_import.consecutive_failure_count)
443
435 def test_consecutive_failure_count_fail_fail(self):444 def test_consecutive_failure_count_fail_fail(self):
436 # A code import that has failed twice has a consecutive_failure_count445 # A code import that has failed twice has a consecutive_failure_count
437 # of 2.446 # of 2.
438447
=== modified file 'lib/lp/code/model/tests/test_codeimportjob.py'
--- lib/lp/code/model/tests/test_codeimportjob.py 2010-02-23 00:26:31 +0000
+++ lib/lp/code/model/tests/test_codeimportjob.py 2010-02-23 20:05:34 +0000
@@ -946,7 +946,8 @@
946 code_import = job.code_import946 code_import = job.code_import
947 self.assertTrue(code_import.date_last_successful is None)947 self.assertTrue(code_import.date_last_successful is None)
948 getUtility(ICodeImportJobWorkflow).finishJob(job, status, None)948 getUtility(ICodeImportJobWorkflow).finishJob(job, status, None)
949 if status in CodeImportResultStatus.successes:949 if status in [CodeImportResultStatus.SUCCESS,
950 CodeImportResultStatus.SUCCESS_NOCHANGE]:
950 self.assertTrue(code_import.date_last_successful is not None)951 self.assertTrue(code_import.date_last_successful is not None)
951 else:952 else:
952 self.assertTrue(code_import.date_last_successful is None)953 self.assertTrue(code_import.date_last_successful is None)