Index: buildbot/cbuildbot_commands_unittest.py |
diff --git a/buildbot/cbuildbot_commands_unittest.py b/buildbot/cbuildbot_commands_unittest.py |
index 5ae8ecc413219b3f3053ae88633a0dff89b8f7f9..f719fb9fe559884825fcc24ae84280f1ad148ab1 100755 |
--- a/buildbot/cbuildbot_commands_unittest.py |
+++ b/buildbot/cbuildbot_commands_unittest.py |
@@ -109,6 +109,54 @@ class CBuildBotTest(mox.MoxTestBase): |
binhosts, 'chrome', 'tot') |
self.mox.VerifyAll() |
+ def testRepoSyncRetriesFail(self): |
+ """Case where we exceed default retry attempts""" |
davidjames
2011/04/01 20:20:27
Please add a trailing period.
rcui1
2011/04/01 20:44:08
Done.
|
+ cros_lib.OldRunCommand(mox.In('sync'), |
+ cwd=self._buildroot).AndRaise(Exception("failed")) |
+ cros_lib.OldRunCommand(mox.In('sync'), |
+ cwd=self._buildroot).AndRaise(Exception("failed")) |
+ cros_lib.OldRunCommand(mox.In('sync'), |
+ cwd=self._buildroot).AndRaise(Exception("failed")) |
+ self.mox.ReplayAll() |
+ self.assertRaises(Exception, lambda : commands._RepoSync(self._buildroot)) |
davidjames
2011/04/01 20:20:27
No need for the space between 'lambda' and ':'.
(
rcui1
2011/04/01 20:44:08
Done.
|
+ self.mox.VerifyAll() |
+ |
+ def testRepoSyncRetriesPass(self): |
+ """Case where we fail twice and pass on the third try.""" |
+ cros_lib.OldRunCommand(mox.In('sync'), |
+ cwd=self._buildroot).AndRaise(Exception("failed")) |
+ cros_lib.OldRunCommand(mox.In('sync'), |
+ cwd=self._buildroot).AndRaise(Exception("failed")) |
+ cros_lib.OldRunCommand(mox.In('sync'), cwd=self._buildroot) |
+ cros_lib.OldRunCommand(mox.In('forall'), cwd=self._buildroot) |
+ cros_lib.OldRunCommand(mox.In('manifest'), cwd=self._buildroot) |
+ self.mox.ReplayAll() |
+ commands._RepoSync(self._buildroot) |
+ self.mox.VerifyAll() |
+ |
+ def testRepoSyncCustomRetriesFail(self): |
+ """Case where _RepoSync is called with a custom retry value of 1. Should |
+ throw exception after first failure.""" |
+ cros_lib.OldRunCommand(mox.In('sync'), |
+ cwd=self._buildroot).AndRaise(Exception("failed")) |
+ self.mox.ReplayAll() |
+ self.assertRaises( |
+ Exception, |
+ lambda : commands._RepoSync(self._buildroot, retries=1)) |
davidjames
2011/04/01 20:20:27
Ditto.
rcui1
2011/04/01 20:44:08
Done.
|
+ self.mox.VerifyAll() |
+ |
+ def testRepoSyncCustomRetriesPass(self): |
+ """Case where _RepoSync is called with a custom retry value of 2 and passes |
+ the second time.""" |
+ cros_lib.OldRunCommand(mox.In('sync'), |
+ cwd=self._buildroot).AndRaise(Exception("failed")) |
+ cros_lib.OldRunCommand(mox.In('sync'), cwd=self._buildroot) |
+ cros_lib.OldRunCommand(mox.In('forall'), cwd=self._buildroot) |
+ cros_lib.OldRunCommand(mox.In('manifest'), cwd=self._buildroot) |
+ self.mox.ReplayAll() |
+ commands._RepoSync(self._buildroot, retries=2) |
+ self.mox.VerifyAll() |
+ |
if __name__ == '__main__': |
unittest.main() |