def testGetLatestCandidateOneRetry(self): """Makes sure we can get the latest candidate even on retry.""" self.mox.StubOutWithMock(repository.RepoRepository, 'Sync') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'GetCurrentVersionInfo') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'RefreshManifestCheckout') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'InitializeManifestVariables') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'CheckoutSourceCode') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'PushSpecChanges') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'SetInFlight') my_info = lkgm_manager._LKGMCandidateInfo('1.2.4') most_recent_candidate = lkgm_manager._LKGMCandidateInfo('1.2.4-rc12', CHROME_BRANCH) lkgm_manager.LKGMManager.CheckoutSourceCode() lkgm_manager.LKGMManager.RefreshManifestCheckout() lkgm_manager.LKGMManager.GetCurrentVersionInfo().AndReturn(my_info) lkgm_manager.LKGMManager.InitializeManifestVariables(my_info) lkgm_manager.LKGMManager.SetInFlight(most_recent_candidate.VersionString()) repository.RepoRepository.Sync( self._GetPathToManifest(most_recent_candidate)) self.manager.latest_unprocessed = '1.2.4-rc12' self.mox.ReplayAll() candidate = self.manager.GetLatestCandidate() self.assertEqual(candidate, self._GetPathToManifest(most_recent_candidate)) self.mox.VerifyAll()
def testGetLatestCandidateOneRetry(self): """Makes sure we can get the latest candidate even on retry.""" self.mox.StubOutWithMock(repository.RepoRepository, 'Sync') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'GetCurrentVersionInfo') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'RefreshManifestCheckout') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'InitializeManifestVariables') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'CheckoutSourceCode') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'PushSpecChanges') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'SetInFlight') my_info = lkgm_manager._LKGMCandidateInfo('1.2.4') most_recent_candidate = lkgm_manager._LKGMCandidateInfo( '1.2.4-rc12', CHROME_BRANCH) lkgm_manager.LKGMManager.CheckoutSourceCode() lkgm_manager.LKGMManager.RefreshManifestCheckout() lkgm_manager.LKGMManager.GetCurrentVersionInfo().AndReturn(my_info) lkgm_manager.LKGMManager.InitializeManifestVariables(my_info) lkgm_manager.LKGMManager.SetInFlight( most_recent_candidate.VersionString()) repository.RepoRepository.Sync( self._GetPathToManifest(most_recent_candidate)) self.manager.latest_unprocessed = '1.2.4-rc12' self.mox.ReplayAll() candidate = self.manager.GetLatestCandidate() self.assertEqual(candidate, self._GetPathToManifest(most_recent_candidate)) self.mox.VerifyAll()
def testVersionCompare(self): """Tests whether our comparision method works.""" info1 = lkgm_manager._LKGMCandidateInfo('1.2.3-rc1') info2 = lkgm_manager._LKGMCandidateInfo('1.2.3-rc2') info3 = lkgm_manager._LKGMCandidateInfo('1.2.200-rc1') info4 = lkgm_manager._LKGMCandidateInfo('1.4.3-rc1') self.assertTrue(info2 > info1) self.assertTrue(info3 > info1) self.assertTrue(info3 > info2) self.assertTrue(info4 > info1) self.assertTrue(info4 > info2) self.assertTrue(info4 > info3)
def testCreateNewCandidateReturnNoneIfNoWorkToDo(self): """Tests that we return nothing if there is nothing to create.""" self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'CheckoutSourceCode') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'HasCheckoutBeenBuilt') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'CreateManifest') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'GetCurrentVersionInfo') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'RefreshManifestCheckout') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'InitializeManifestVariables') new_manifest = 'some_manifest' my_info = lkgm_manager._LKGMCandidateInfo('1.2.3') lkgm_manager.LKGMManager.CheckoutSourceCode() lkgm_manager.LKGMManager.CreateManifest().AndReturn(new_manifest) lkgm_manager.LKGMManager.RefreshManifestCheckout() lkgm_manager.LKGMManager.GetCurrentVersionInfo().AndReturn(my_info) lkgm_manager.LKGMManager.InitializeManifestVariables(my_info) lkgm_manager.LKGMManager.HasCheckoutBeenBuilt().AndReturn(True) self.mox.ReplayAll() candidate = self.manager.CreateNewCandidate() self.assertEqual(candidate, None) self.mox.VerifyAll()
def testCreateNewCandidate(self): """Tests that we can create a new candidate and uprev an old rc.""" # Let's stub out other LKGMManager calls cause they're already # unit tested. self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'GetCurrentVersionInfo') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'CheckoutSourceCode') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'RefreshManifestCheckout') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'InitializeManifestVariables') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'HasCheckoutBeenBuilt') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'CreateManifest') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'PublishManifest') my_info = lkgm_manager._LKGMCandidateInfo('1.2.3') most_recent_candidate = lkgm_manager._LKGMCandidateInfo('1.2.3-rc12') self.manager.latest = most_recent_candidate.VersionString() new_candidate = lkgm_manager._LKGMCandidateInfo('1.2.3-rc13') new_manifest = 'some_manifest' lkgm_manager.LKGMManager.CheckoutSourceCode() lkgm_manager.LKGMManager.CreateManifest().AndReturn(new_manifest) lkgm_manager.LKGMManager.HasCheckoutBeenBuilt().AndReturn(False) # Do manifest refresh work. lkgm_manager.LKGMManager.RefreshManifestCheckout() git.CreatePushBranch(mox.IgnoreArg(), mox.IgnoreArg(), sync=False) lkgm_manager.LKGMManager.GetCurrentVersionInfo().AndReturn(my_info) lkgm_manager.LKGMManager.InitializeManifestVariables(my_info) # Publish new candidate. lkgm_manager.LKGMManager.PublishManifest(new_manifest, new_candidate.VersionString()) self.mox.ReplayAll() candidate_path = self.manager.CreateNewCandidate() self.assertEqual(candidate_path, self._GetPathToManifest(new_candidate)) self.mox.VerifyAll()
def testCreateFromManifest(self): """Tests that we can create a new candidate from another manifest.""" # Let's stub out other LKGMManager calls cause they're already # unit tested. self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'GetCurrentVersionInfo') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'RefreshManifestCheckout') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'InitializeManifestVariables') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, '_FilterCrosInternalProjectsFromManifest') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'PublishManifest') version = '2010.0.0-rc7' my_info = lkgm_manager._LKGMCandidateInfo('2010.0.0') new_candidate = lkgm_manager._LKGMCandidateInfo(version) manifest = ('/tmp/manifest-versions-internal/paladin/buildspecs/' '20/%s.xml' % version) new_manifest = '/path/to/tmp/file.xml' lkgm_manager.LKGMManager._FilterCrosInternalProjectsFromManifest( manifest).AndReturn(new_manifest) # Do manifest refresh work. lkgm_manager.LKGMManager.GetCurrentVersionInfo().AndReturn(my_info) lkgm_manager.LKGMManager.RefreshManifestCheckout() lkgm_manager.LKGMManager.InitializeManifestVariables(my_info) git.CreatePushBranch(mox.IgnoreArg(), mox.IgnoreArg(), sync=False) # Publish new candidate. lkgm_manager.LKGMManager.PublishManifest(new_manifest, version) self.mox.ReplayAll() candidate_path = self.manager.CreateFromManifest(manifest) self.assertEqual(candidate_path, self._GetPathToManifest(new_candidate)) self.assertEqual(self.manager.current_version, version) self.mox.VerifyAll()
def testGetLatestCandidateNone(self): """Makes sure we get nothing if there is no work to be done.""" self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'GetCurrentVersionInfo') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'RefreshManifestCheckout') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'InitializeManifestVariables') self.mox.StubOutWithMock(lkgm_manager.LKGMManager, 'CheckoutSourceCode') my_info = lkgm_manager._LKGMCandidateInfo('1.2.4') lkgm_manager.LKGMManager.CheckoutSourceCode() lkgm_manager.LKGMManager.RefreshManifestCheckout() lkgm_manager.LKGMManager.GetCurrentVersionInfo().AndReturn(my_info) lkgm_manager.LKGMManager.InitializeManifestVariables(my_info) self.mox.ReplayAll() self.manager.SLEEP_TIMEOUT = 0.2 self.manager.LONG_MAX_TIMEOUT_SECONDS = 0.1 # Only run once. candidate = self.manager.GetLatestCandidate() self.assertEqual(candidate, None) self.mox.VerifyAll()
def testIncrementVersionPatch(self): """Tests whether we can increment a lkgm info.""" info = lkgm_manager._LKGMCandidateInfo(version_string=FAKE_VERSION_STRING, chrome_branch=CHROME_BRANCH) info.IncrementVersion() self.assertEqual(info.VersionString(), FAKE_VERSION_STRING_NEXT)
def testLoadFromString(self): """Tests whether we can load from a string.""" info = lkgm_manager._LKGMCandidateInfo(version_string=FAKE_VERSION_STRING, chrome_branch=CHROME_BRANCH) self.assertEqual(info.VersionString(), FAKE_VERSION_STRING)
def testIncrementVersionPatch(self): """Tests whether we can increment a lkgm info.""" info = lkgm_manager._LKGMCandidateInfo( version_string=FAKE_VERSION_STRING, chrome_branch=CHROME_BRANCH) info.IncrementVersion() self.assertEqual(info.VersionString(), FAKE_VERSION_STRING_NEXT)
def testLoadFromString(self): """Tests whether we can load from a string.""" info = lkgm_manager._LKGMCandidateInfo( version_string=FAKE_VERSION_STRING, chrome_branch=CHROME_BRANCH) self.assertEqual(info.VersionString(), FAKE_VERSION_STRING)