| Index: tools/release/test_scripts.py
|
| diff --git a/tools/release/test_scripts.py b/tools/release/test_scripts.py
|
| index 21364d329efe3f8dae3615474cc8316381ff8e0c..1ea69a8df8b76f73c211d88973258dae2a6a7540 100644
|
| --- a/tools/release/test_scripts.py
|
| +++ b/tools/release/test_scripts.py
|
| @@ -37,6 +37,8 @@ from auto_push import LastReleaseBailout
|
| import auto_roll
|
| import common_includes
|
| from common_includes import *
|
| +import create_release
|
| +from create_release import CreateRelease
|
| import merge_to_branch
|
| from merge_to_branch import *
|
| import push_to_candidates
|
| @@ -860,6 +862,115 @@ Performance and stability improvements on all platforms."""
|
| def testPushToCandidatesForced(self):
|
| self._PushToCandidates(force=True)
|
|
|
| + def testCreateRelease(self):
|
| + TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git"))
|
| +
|
| + # The version file on master has build level 5.
|
| + self.WriteFakeVersionFile(build=5)
|
| +
|
| + master_change_log = "2014-03-17: Sentinel\n"
|
| + TextToFile(master_change_log,
|
| + os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE))
|
| +
|
| + commit_msg = """Version 3.22.5
|
| +
|
| +Log text 1 (issue 321).
|
| +
|
| +Performance and stability improvements on all platforms."""
|
| +
|
| + def ResetChangeLog():
|
| + last_change_log = """1999-04-05: Version 3.22.4
|
| +
|
| + Performance and stability improvements on all platforms.\n"""
|
| + TextToFile(last_change_log,
|
| + os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE))
|
| +
|
| +
|
| + def CheckVersionCommit():
|
| + commit = FileToText(TEST_CONFIG["COMMITMSG_FILE"])
|
| + self.assertEquals(commit_msg, commit)
|
| + version = FileToText(
|
| + os.path.join(TEST_CONFIG["DEFAULT_CWD"], VERSION_FILE))
|
| + self.assertTrue(re.search(r"#define MINOR_VERSION\s+22", version))
|
| + self.assertTrue(re.search(r"#define BUILD_NUMBER\s+5", version))
|
| + self.assertFalse(re.search(r"#define BUILD_NUMBER\s+6", version))
|
| + self.assertTrue(re.search(r"#define PATCH_LEVEL\s+0", version))
|
| + self.assertTrue(re.search(r"#define IS_CANDIDATE_VERSION\s+0", version))
|
| +
|
| + # Check that the change log on the candidates branch got correctly
|
| + # modified.
|
| + change_log = FileToText(
|
| + os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE))
|
| + self.assertEquals(
|
| +"""1999-07-31: Version 3.22.5
|
| +
|
| + Log text 1 (issue 321).
|
| +
|
| + Performance and stability improvements on all platforms.
|
| +
|
| +
|
| +1999-04-05: Version 3.22.4
|
| +
|
| + Performance and stability improvements on all platforms.\n""",
|
| + change_log)
|
| +
|
| + expectations = [
|
| + Cmd("git fetch origin +refs/heads/*:refs/heads/*", ""),
|
| + Cmd("git fetch origin +refs/branch-heads/*:refs/branch-heads/*", ""),
|
| + Cmd("git fetch origin +refs/pending/*:refs/pending/*", ""),
|
| + Cmd("git fetch origin +refs/pending-tags/*:refs/pending-tags/*", ""),
|
| + Cmd("git checkout -f origin/master", ""),
|
| + Cmd("git branch", ""),
|
| + Cmd("git log -1 --format=\"%H %T\" push_hash", "push_hash tree_hash"),
|
| + Cmd("git log -200 --format=\"%H %T\" refs/pending/heads/master",
|
| + "not_right wrong\npending_hash tree_hash\nsome other\n"),
|
| + Cmd("git fetch origin +refs/tags/*:refs/tags/*", ""),
|
| + Cmd("git tag", self.TAGS),
|
| + Cmd("git checkout -f origin/master -- src/version.cc",
|
| + "", cb=self.WriteFakeVersionFile),
|
| + Cmd("git log -1 --format=%H 3.22.4", "release_hash\n"),
|
| + Cmd("git log -1 --format=%s release_hash",
|
| + "Version 3.22.4 (based on abc3)\n"),
|
| + Cmd("git log --format=%H abc3..push_hash", "rev1\n"),
|
| + Cmd("git log -1 --format=%s rev1", "Log text 1.\n"),
|
| + Cmd("git log -1 --format=%B rev1", "Text\nLOG=YES\nBUG=v8:321\nText\n"),
|
| + Cmd("git log -1 --format=%an rev1", "author1@chromium.org\n"),
|
| + Cmd("git reset --hard origin/master", ""),
|
| + Cmd("git checkout -b work-branch pending_hash", ""),
|
| + Cmd("git checkout -f 3.22.4 -- ChangeLog", "", cb=ResetChangeLog),
|
| + Cmd("git checkout -f 3.22.4 -- src/version.cc", "",
|
| + cb=self.WriteFakeVersionFile),
|
| + Cmd("git commit -aF \"%s\"" % TEST_CONFIG["COMMITMSG_FILE"], "",
|
| + cb=CheckVersionCommit),
|
| + Cmd("git push origin "
|
| + "refs/heads/work-branch:refs/pending/branch-heads/3.22.5 "
|
| + "pending_hash:refs/pending-tags/branch-heads/3.22.5 "
|
| + "push_hash:refs/branch-heads/3.22.5", ""),
|
| + Cmd("git fetch", ""),
|
| + Cmd("git log -1 --format=%H --grep="
|
| + "\"Version 3.22.5\" branch-heads/3.22.5", "hsh_to_tag"),
|
| + Cmd("git tag 3.22.5 hsh_to_tag", ""),
|
| + Cmd("git push origin 3.22.5", ""),
|
| + Cmd("git checkout -f origin/master", ""),
|
| + Cmd("git branch", "* master\n work-branch\n"),
|
| + Cmd("git branch -D work-branch", ""),
|
| + Cmd("git gc", ""),
|
| + ]
|
| + self.Expect(expectations)
|
| +
|
| + args = ["-a", "author@chromium.org",
|
| + "-r", "reviewer@chromium.org",
|
| + "--revision", "push_hash"]
|
| + CreateRelease(TEST_CONFIG, self).Run(args)
|
| +
|
| + cl = FileToText(os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE))
|
| + self.assertTrue(re.search(r"^\d\d\d\d\-\d+\-\d+: Version 3\.22\.5", cl))
|
| + self.assertTrue(re.search(r" Log text 1 \(issue 321\).", cl))
|
| + self.assertTrue(re.search(r"1999\-04\-05: Version 3\.22\.4", cl))
|
| +
|
| + # Note: The version file is on build number 5 again in the end of this test
|
| + # since the git command that merges to master is mocked out.
|
| +
|
| C_V8_22624_LOG = """V8 CL.
|
|
|
| git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22624 123
|
|
|