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
Example #8
0
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)