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

Unified Diff: buildbot/cbuildbot_stages_unittest.py

Issue 6691047: Merge MVP script into cbuildbot. (Closed) Base URL: http://git.chromium.org/git/chromite.git@master
Patch Set: Implement Debug option for manifest_version Created 9 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: buildbot/cbuildbot_stages_unittest.py
diff --git a/buildbot/cbuildbot_stages_unittest.py b/buildbot/cbuildbot_stages_unittest.py
index 5a8c2a8f888be08cb80541e24e2c5581a495407b..c7dfe0ca984e11a919bc0ee613ab278ea54e068f 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
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,119 @@ 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"""
+
+ 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',
+ debug=False).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,
+ debug=False)
+
+ 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,
+ debug=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=False)
+ stage.Run()
+ self.mox.VerifyAll()
+
class BuildBoardTest(AbstractStageTest):
def setUp(self):

Powered by Google App Engine
This is Rietveld 408576698