def testLatestSpecFromDir(self): """Tests whether we can get sorted specs correctly from a directory.""" self.mox.StubOutWithMock(manifest_version, '_RemoveDirs') self.mox.StubOutWithMock(repository, 'CloneGitRepo') info = manifest_version.VersionInfo('99.1.2', CHROME_BRANCH, incr_type='branch') specs_dir = os.path.join(self.manager.manifest_dir, 'buildspecs', CHROME_BRANCH) m1, m2, m3, m4 = [ os.path.join(specs_dir, x) for x in ['100.0.0.xml', '99.3.3.xml', '99.1.10.xml', '99.1.5.xml'] ] # Create fake buildspecs. osutils.SafeMakedirs(specs_dir) for m in [m1, m2, m3, m4]: osutils.Touch(m) self.mox.ReplayAll() spec = self.manager._LatestSpecFromDir(info, specs_dir) self.mox.VerifyAll() # Should be the latest on the 99.1 branch. self.assertEqual(spec, '99.1.10')
def testIncrementVersionChrome(self): """Tests whether we can increment the chrome version.""" version_file = self.CommonTestIncrementVersion( 'chrome_branch', version='1.0.0', chrome_branch='29') new_info = manifest_version.VersionInfo(version_file=version_file) self.assertEqual(new_info.VersionString(), '2.0.0') self.assertEqual(new_info.chrome_branch, '30')
def testLoadSpecs(self): """Tests whether we can load specs correctly.""" info = manifest_version.VersionInfo(FAKE_VERSION_STRING, CHROME_BRANCH, incr_type='branch') mpath = os.path.join(self.manager.manifest_dir, 'buildspecs', CHROME_BRANCH) m1, m2, m3, m4 = [ os.path.join(mpath, '1.2.%d.xml' % x) for x in [2, 3, 4, 5] ] for_build = os.path.join(self.manager.manifest_dir, 'build-name', self.build_name) # Create fake buildspecs. osutils.SafeMakedirs(os.path.join(mpath)) for m in [m1, m2, m3, m4]: osutils.Touch(m) # Fail 1, pass 2, leave 3,4 unprocessed. manifest_version.CreateSymlink( m1, os.path.join(for_build, 'fail', CHROME_BRANCH, os.path.basename(m1))) manifest_version.CreateSymlink( m1, os.path.join(for_build, 'pass', CHROME_BRANCH, os.path.basename(m2))) self.mox.ReplayAll() self.manager.InitializeManifestVariables(info) self.mox.VerifyAll() self.assertEqual(self.manager.latest_unprocessed, '1.2.5')
def WriteFakeVersionFile(cls, version_file, version=None, chrome_branch=None): """Helper method to write a version file from specified version number.""" if version is None: version = FAKE_VERSION_STRING if chrome_branch is None: chrome_branch = CHROME_BRANCH osutils.SafeMakedirs(os.path.split(version_file)[0]) info = manifest_version.VersionInfo(version, chrome_branch) osutils.WriteFile(version_file, FAKE_VERSION % info.__dict__)
def testGetNextVersionNoIncrement(self): """Tests whether we can get the next version to be built correctly. Tests without pre-existing version in manifest dir. """ info = manifest_version.VersionInfo( FAKE_VERSION_STRING, CHROME_BRANCH, incr_type='branch') self.manager.latest = None self.mox.ReplayAll() version = self.manager.GetNextVersion(info) self.mox.VerifyAll() self.assertEqual(FAKE_VERSION_STRING, version)
def testGetNextVersionIncrement(self): """Tests that we create a new version if a previous one exists.""" self.mox.StubOutWithMock(manifest_version.VersionInfo, 'IncrementVersion') version_file = VersionInfoTest.CreateFakeVersionFile(self.tempdir) info = manifest_version.VersionInfo(version_file=version_file, incr_type='branch') info.IncrementVersion( 'Automatic: %s - Updating to a new version number from %s' % ( self.build_name, FAKE_VERSION_STRING), dry_run=True).AndReturn(FAKE_VERSION_STRING_NEXT) self.manager.latest = FAKE_VERSION_STRING self.mox.ReplayAll() version = self.manager.GetNextVersion(info) self.mox.VerifyAll() self.assertEqual(FAKE_VERSION_STRING_NEXT, version)
def CommonTestIncrementVersion(self, incr_type, version): """Common test increment. Returns path to new incremented file.""" message = 'Incrementing cuz I sed so' self.mox.StubOutWithMock(git, 'CreatePushBranch') self.mox.StubOutWithMock(manifest_version, '_PushGitChanges') self.mox.StubOutWithMock(git, 'CleanAndCheckoutUpstream') git.CreatePushBranch(manifest_version.PUSH_BRANCH, self.tempdir) version_file = self.CreateFakeVersionFile(self.tempdir, version) manifest_version._PushGitChanges(self.tempdir, message, dry_run=False) git.CleanAndCheckoutUpstream(self.tempdir) self.mox.ReplayAll() info = manifest_version.VersionInfo(version_file=version_file, incr_type=incr_type) info.IncrementVersion(message, dry_run=False) self.mox.VerifyAll() return version_file
def _GetChromeBranch(): """Get the current Chrome branch.""" version_file = os.path.join(constants.SOURCE_ROOT, constants.VERSION_FILE) version_info = manifest_version.VersionInfo(version_file=version_file) return version_info.chrome_branch
def testLoadFromFile(self): """Tests whether we can load from a version file.""" version_file = self.CreateFakeVersionFile(self.tempdir) info = manifest_version.VersionInfo(version_file=version_file) self.assertEqual(info.VersionString(), FAKE_VERSION_STRING)
def WriteFakeVersionFile(cls, version_file, version=FAKE_VERSION_STRING): """Helper method to write a version file from specified version number.""" osutils.SafeMakedirs(os.path.split(version_file)[0]) info = manifest_version.VersionInfo(version, CHROME_BRANCH) osutils.WriteFile(version_file, FAKE_VERSION % info.__dict__)
def testIncrementVersionBuild(self): """Tests whether we can increment a version file by build number.""" version_file = self.CommonTestIncrementVersion('build', '1.0.0') new_info = manifest_version.VersionInfo(version_file=version_file, incr_type='build') self.assertEqual(new_info.VersionString(), '2.0.0')
def testIncrementVersionPatch(self): """Tests whether we can increment a version file by patch number.""" version_file = self.CommonTestIncrementVersion('branch', '1.2.3') new_info = manifest_version.VersionInfo(version_file=version_file, incr_type='branch') self.assertEqual(new_info.VersionString(), '1.2.4')
def testLoadFromString(self): """Tests whether we can load from a string.""" info = manifest_version.VersionInfo(FAKE_VERSION_STRING, CHROME_BRANCH) self.assertEqual(info.VersionString(), FAKE_VERSION_STRING)