Chromium Code Reviews| Index: buildbot/cbuildbot_stages_unittest.py |
| diff --git a/buildbot/cbuildbot_stages_unittest.py b/buildbot/cbuildbot_stages_unittest.py |
| index 5a8c2a8f888be08cb80541e24e2c5581a495407b..b0b0fb7efa5362b82f0bc6fecc47d626971bcc52 100755 |
| --- a/buildbot/cbuildbot_stages_unittest.py |
| +++ b/buildbot/cbuildbot_stages_unittest.py |
| @@ -19,6 +19,7 @@ import chromite.buildbot.cbuildbot_config as config |
| import chromite.buildbot.cbuildbot_commands as commands |
| import chromite.buildbot.cbuildbot_stages as stages |
| import chromite.lib.cros_build_lib as cros_lib |
| +import chromite.buildbot.manifest_version as manifest_version |
|
sosa
2011/04/11 19:03:54
alpha
dgarrett
2011/04/11 20:53:13
Done.
|
| class CBuildBotTest(mox.MoxTestBase): |
| @@ -109,15 +110,16 @@ class AbstractStageTest(mox.MoxTestBase): |
| self.bot_id = 'x86-generic-pre-flight-queue' |
| self.build_config = config.config[self.bot_id] |
| self.build_root = '/fake_root' |
| + |
| self.url = 'fake_url' |
| + self.build_config['git_url'] = self.url |
| self.options = self.mox.CreateMockAnything() |
| self.options.buildroot = self.build_root |
| self.options.debug = False |
| self.options.prebuilts = False |
| - self.options.tracking_branch = 'ooga_booga' |
| + self.options.tracking_branch = 'ooga/booga' |
| self.options.clobber = False |
| - self.options.url = self.url |
| self.options.buildnumber = 1234 |
| self.overlay = os.path.join(self.build_root, |
| 'src/third_party/chromiumos-overlay') |
| @@ -180,6 +182,7 @@ class BuilderStageTest(AbstractStageTest): |
| stage = self.ConstructStage() |
| public_overlays = ['public1', 'public2', self.overlay] |
| private_overlays = ['private1', 'private2'] |
| + |
| self.assertEqual(stage._ResolveOverlays('public'), public_overlays) |
| self.assertEqual(stage._ResolveOverlays('private'), private_overlays) |
| self.assertEqual(stage._ResolveOverlays('both'), |
| @@ -229,6 +232,116 @@ class SyncStageTest(AbstractStageTest): |
| self.mox.VerifyAll() |
| +class ManifestVersionedSyncStageTest(BuilderStageTest): |
| + """Tests the two (heavily related) stages ManifestVersionedSync, and |
| + ManifestVersionedSyncCompleted. |
| + """ |
| + |
| + def setUp(self): |
| + mox.MoxTestBase.setUp(self) |
| + BuilderStageTest.setUp(self) |
| + |
| + self.manifest_version_url = 'fake manifest url' |
| + self.build_config['manifest_version'] = self.manifest_version_url |
| + |
| + self.next_version = 'next_version' |
| + |
| + |
| + def testManifestVersionedSync(self): |
| + """Tests basic ManifestVersionedSyncStage""" |
|
sosa
2011/04/11 19:03:54
The following three docstrings are copies. Can yo
dgarrett
2011/04/11 20:53:13
Done.
|
| + |
| + branch = self.options.tracking_branch.split('/') |
| + |
| + self.mox.StubOutWithMock(manifest_version, 'GenerateWorkload') |
| + self.mox.StubOutWithMock(commands, 'ManifestCheckout') |
| + |
| + os.path.isdir(self.build_root + '/.repo').AndReturn(False) |
| + manifest_version.GenerateWorkload( |
| + tmp_dir='/tmp/git.root', |
| + source_repo=self.url, |
| + manifest_repo=self.manifest_version_url, |
| + branch=branch[1], |
| + version_file='src/third_party/chromiumos-overlay/chromeos/config' |
| + '/chromeos_version.sh', |
| + board=self.build_config['board'], |
| + incr_type= 'patch').AndReturn(self.next_version) |
| + |
| + commands.ManifestCheckout(self.build_root, |
| + self.options.tracking_branch, |
| + self.next_version, |
| + url=self.manifest_version_url) |
| + |
| + os.path.isdir('/fake_root/src/' |
| + 'third_party/chromiumos-overlay').AndReturn(True) |
| + |
| + self.mox.ReplayAll() |
| + stage = stages.ManifestVersionedSyncStage(self.bot_id, |
| + self.options, |
| + self.build_config) |
| + stage.Run() |
| + self.mox.VerifyAll() |
| + |
| + def testManifestVersionedSyncCompletedSuccess(self): |
| + """Tests basic ManifestVersionedSyncStageCompleted""" |
| + |
| + stages.ManifestVersionedSyncStage.build_version = self.next_version |
| + |
| + self.mox.StubOutWithMock(manifest_version, 'UpdateStatus') |
| + |
| + os.path.isdir(self.build_root + '/.repo').AndReturn(False) |
| + manifest_version.UpdateStatus( |
| + tmp_dir='/tmp/git.root', |
| + manifest_repo=self.manifest_version_url, |
| + board=self.build_config['board'], |
| + build_version=self.next_version, |
| + success=True) |
| + |
| + self.mox.ReplayAll() |
| + stage = stages.ManifestVersionedSyncCompletionStage(self.bot_id, |
| + self.options, |
| + self.build_config, |
| + success=True) |
| + stage.Run() |
| + self.mox.VerifyAll() |
| + |
| + def testManifestVersionedSyncCompletedFailure(self): |
| + """Tests basic ManifestVersionedSyncStageCompleted""" |
| + |
| + stages.ManifestVersionedSyncStage.build_version = self.next_version |
| + |
| + self.mox.StubOutWithMock(manifest_version, 'UpdateStatus') |
| + |
| + os.path.isdir(self.build_root + '/.repo').AndReturn(False) |
| + manifest_version.UpdateStatus( |
| + tmp_dir='/tmp/git.root', |
| + manifest_repo=self.manifest_version_url, |
| + board=self.build_config['board'], |
| + build_version=self.next_version, |
| + success=False) |
| + |
| + self.mox.ReplayAll() |
| + stage = stages.ManifestVersionedSyncCompletionStage(self.bot_id, |
| + self.options, |
| + self.build_config, |
| + success=False) |
| + stage.Run() |
| + self.mox.VerifyAll() |
| + |
| + def testManifestVersionedSyncCompletedIncomplete(self): |
| + """Tests basic ManifestVersionedSyncStageCompleted""" |
| + |
| + stages.ManifestVersionedSyncStage.build_version = None |
| + |
| + os.path.isdir(self.build_root + '/.repo').AndReturn(False) |
| + |
| + self.mox.ReplayAll() |
| + stage = stages.ManifestVersionedSyncCompletionStage(self.bot_id, |
| + self.options, |
| + self.build_config, |
| + success=True) |
| + stage.Run() |
| + self.mox.VerifyAll() |
| + |
| class BuildBoardTest(AbstractStageTest): |
| def setUp(self): |