Refactoring: Use fake cwd in release script tests.

TEST=script_test.py
R=tandrii@chromium.org
TBR=jarin@chromium.org

Review URL: https://codereview.chromium.org/585893002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 9c52d0e4
...@@ -40,7 +40,6 @@ SETTINGS_LOCATION = "SETTINGS_LOCATION" ...@@ -40,7 +40,6 @@ SETTINGS_LOCATION = "SETTINGS_LOCATION"
CONFIG = { CONFIG = {
PERSISTFILE_BASENAME: "/tmp/v8-auto-push-tempfile", PERSISTFILE_BASENAME: "/tmp/v8-auto-push-tempfile",
DOT_GIT_LOCATION: ".git",
SETTINGS_LOCATION: "~/.auto-roll", SETTINGS_LOCATION: "~/.auto-roll",
} }
...@@ -51,7 +50,7 @@ class Preparation(Step): ...@@ -51,7 +50,7 @@ class Preparation(Step):
MESSAGE = "Preparation." MESSAGE = "Preparation."
def RunStep(self): def RunStep(self):
self.InitialEnvironmentChecks() self.InitialEnvironmentChecks(self.default_cwd)
self.CommonPrepare() self.CommonPrepare()
......
...@@ -11,7 +11,6 @@ from common_includes import * ...@@ -11,7 +11,6 @@ from common_includes import *
CONFIG = { CONFIG = {
BRANCHNAME: "auto-tag-v8", BRANCHNAME: "auto-tag-v8",
PERSISTFILE_BASENAME: "/tmp/v8-auto-tag-tempfile", PERSISTFILE_BASENAME: "/tmp/v8-auto-tag-tempfile",
DOT_GIT_LOCATION: ".git",
VERSION_FILE: "src/version.cc", VERSION_FILE: "src/version.cc",
} }
......
...@@ -13,7 +13,6 @@ CHROMIUM = "CHROMIUM" ...@@ -13,7 +13,6 @@ CHROMIUM = "CHROMIUM"
CONFIG = { CONFIG = {
PERSISTFILE_BASENAME: "/tmp/v8-chromium-roll-tempfile", PERSISTFILE_BASENAME: "/tmp/v8-chromium-roll-tempfile",
DOT_GIT_LOCATION: ".git",
} }
...@@ -43,7 +42,7 @@ class SwitchChromium(Step): ...@@ -43,7 +42,7 @@ class SwitchChromium(Step):
self["v8_path"] = os.getcwd() self["v8_path"] = os.getcwd()
cwd = self._options.chromium cwd = self._options.chromium
os.chdir(cwd) os.chdir(cwd)
self.InitialEnvironmentChecks() self.InitialEnvironmentChecks(cwd)
# Check for a clean workdir. # Check for a clean workdir.
if not self.GitIsWorkdirClean(cwd=cwd): # pragma: no cover if not self.GitIsWorkdirClean(cwd=cwd): # pragma: no cover
self.Die("Workspace is not clean. Please commit or undo your changes.") self.Die("Workspace is not clean. Please commit or undo your changes.")
......
...@@ -47,7 +47,6 @@ from git_recipes import GitFailedException ...@@ -47,7 +47,6 @@ from git_recipes import GitFailedException
PERSISTFILE_BASENAME = "PERSISTFILE_BASENAME" PERSISTFILE_BASENAME = "PERSISTFILE_BASENAME"
BRANCHNAME = "BRANCHNAME" BRANCHNAME = "BRANCHNAME"
DOT_GIT_LOCATION = "DOT_GIT_LOCATION"
VERSION_FILE = "VERSION_FILE" VERSION_FILE = "VERSION_FILE"
CHANGELOG_FILE = "CHANGELOG_FILE" CHANGELOG_FILE = "CHANGELOG_FILE"
CHANGELOG_ENTRY_FILE = "CHANGELOG_ENTRY_FILE" CHANGELOG_ENTRY_FILE = "CHANGELOG_ENTRY_FILE"
...@@ -414,9 +413,9 @@ class Step(GitRecipesMixin): ...@@ -414,9 +413,9 @@ class Step(GitRecipesMixin):
msg = "Can't continue. Please delete branch %s and try again." % name msg = "Can't continue. Please delete branch %s and try again." % name
self.Die(msg) self.Die(msg)
def InitialEnvironmentChecks(self): def InitialEnvironmentChecks(self, cwd):
# Cancel if this is not a git checkout. # Cancel if this is not a git checkout.
if not os.path.exists(self._config[DOT_GIT_LOCATION]): # pragma: no cover if not os.path.exists(os.path.join(cwd, ".git")): # pragma: no cover
self.Die("This is not a git checkout, this script won't work for you.") self.Die("This is not a git checkout, this script won't work for you.")
# Cancel if EDITOR is unset or not executable. # Cancel if EDITOR is unset or not executable.
......
...@@ -41,7 +41,6 @@ CONFIG = { ...@@ -41,7 +41,6 @@ CONFIG = {
PERSISTFILE_BASENAME: "/tmp/v8-merge-to-branch-tempfile", PERSISTFILE_BASENAME: "/tmp/v8-merge-to-branch-tempfile",
ALREADY_MERGING_SENTINEL_FILE: ALREADY_MERGING_SENTINEL_FILE:
"/tmp/v8-merge-to-branch-tempfile-already-merging", "/tmp/v8-merge-to-branch-tempfile-already-merging",
DOT_GIT_LOCATION: ".git",
VERSION_FILE: "src/version.cc", VERSION_FILE: "src/version.cc",
TEMPORARY_PATCH_FILE: "/tmp/v8-prepare-merge-tempfile-temporary-patch", TEMPORARY_PATCH_FILE: "/tmp/v8-prepare-merge-tempfile-temporary-patch",
COMMITMSG_FILE: "/tmp/v8-prepare-merge-tempfile-commitmsg", COMMITMSG_FILE: "/tmp/v8-prepare-merge-tempfile-commitmsg",
...@@ -60,7 +59,7 @@ class Preparation(Step): ...@@ -60,7 +59,7 @@ class Preparation(Step):
self.Die("A merge is already in progress") self.Die("A merge is already in progress")
open(self.Config(ALREADY_MERGING_SENTINEL_FILE), "a").close() open(self.Config(ALREADY_MERGING_SENTINEL_FILE), "a").close()
self.InitialEnvironmentChecks() self.InitialEnvironmentChecks(self.default_cwd)
if self._options.revert_bleeding_edge: if self._options.revert_bleeding_edge:
self["merge_to_branch"] = "bleeding_edge" self["merge_to_branch"] = "bleeding_edge"
elif self._options.branch: elif self._options.branch:
......
...@@ -40,7 +40,6 @@ CONFIG = { ...@@ -40,7 +40,6 @@ CONFIG = {
BRANCHNAME: "prepare-push", BRANCHNAME: "prepare-push",
TRUNKBRANCH: "trunk-push", TRUNKBRANCH: "trunk-push",
PERSISTFILE_BASENAME: "/tmp/v8-push-to-trunk-tempfile", PERSISTFILE_BASENAME: "/tmp/v8-push-to-trunk-tempfile",
DOT_GIT_LOCATION: ".git",
VERSION_FILE: "src/version.cc", VERSION_FILE: "src/version.cc",
CHANGELOG_FILE: "ChangeLog", CHANGELOG_FILE: "ChangeLog",
CHANGELOG_ENTRY_FILE: "/tmp/v8-push-to-trunk-tempfile-changelog-entry", CHANGELOG_ENTRY_FILE: "/tmp/v8-push-to-trunk-tempfile-changelog-entry",
...@@ -56,7 +55,7 @@ class Preparation(Step): ...@@ -56,7 +55,7 @@ class Preparation(Step):
MESSAGE = "Preparation." MESSAGE = "Preparation."
def RunStep(self): def RunStep(self):
self.InitialEnvironmentChecks() self.InitialEnvironmentChecks(self.default_cwd)
self.CommonPrepare() self.CommonPrepare()
if(self["current_branch"] == self.Config(TRUNKBRANCH) if(self["current_branch"] == self.Config(TRUNKBRANCH)
......
...@@ -25,7 +25,6 @@ CHROMIUM = "CHROMIUM" ...@@ -25,7 +25,6 @@ CHROMIUM = "CHROMIUM"
CONFIG = { CONFIG = {
BRANCHNAME: "retrieve-v8-releases", BRANCHNAME: "retrieve-v8-releases",
PERSISTFILE_BASENAME: "/tmp/v8-releases-tempfile", PERSISTFILE_BASENAME: "/tmp/v8-releases-tempfile",
DOT_GIT_LOCATION: ".git",
VERSION_FILE: "src/version.cc", VERSION_FILE: "src/version.cc",
} }
......
...@@ -56,11 +56,10 @@ from auto_tag import AutoTag ...@@ -56,11 +56,10 @@ from auto_tag import AutoTag
TEST_CONFIG = { TEST_CONFIG = {
"DEFAULT_CWD": "[DEFAULT_CWD]", "DEFAULT_CWD": None,
BRANCHNAME: "test-prepare-push", BRANCHNAME: "test-prepare-push",
TRUNKBRANCH: "test-trunk-push", TRUNKBRANCH: "test-trunk-push",
PERSISTFILE_BASENAME: "/tmp/test-v8-push-to-trunk-tempfile", PERSISTFILE_BASENAME: "/tmp/test-v8-push-to-trunk-tempfile",
DOT_GIT_LOCATION: None,
VERSION_FILE: None, VERSION_FILE: None,
CHANGELOG_FILE: None, CHANGELOG_FILE: None,
CHANGELOG_ENTRY_FILE: "/tmp/test-v8-push-to-trunk-tempfile-changelog-entry", CHANGELOG_ENTRY_FILE: "/tmp/test-v8-push-to-trunk-tempfile-changelog-entry",
...@@ -259,7 +258,7 @@ def Cmd(*args, **kwargs): ...@@ -259,7 +258,7 @@ def Cmd(*args, **kwargs):
"args": args, "args": args,
"ret": args[-1], "ret": args[-1],
"cb": kwargs.get("cb"), "cb": kwargs.get("cb"),
"cwd": kwargs.get("cwd", "[DEFAULT_CWD]"), "cwd": kwargs.get("cwd", TEST_CONFIG["DEFAULT_CWD"]),
} }
...@@ -424,6 +423,7 @@ class ScriptTest(unittest.TestCase): ...@@ -424,6 +423,7 @@ class ScriptTest(unittest.TestCase):
self._mock = SimpleMock() self._mock = SimpleMock()
self._tmp_files = [] self._tmp_files = []
self._state = {} self._state = {}
TEST_CONFIG["DEFAULT_CWD"] = self.MakeEmptyTempDirectory()
def tearDown(self): def tearDown(self):
if os.path.exists(TEST_CONFIG[PERSISTFILE_BASENAME]): if os.path.exists(TEST_CONFIG[PERSISTFILE_BASENAME]):
...@@ -483,12 +483,12 @@ class ScriptTest(unittest.TestCase): ...@@ -483,12 +483,12 @@ class ScriptTest(unittest.TestCase):
self.assertEquals("some_branch", self._state["current_branch"]) self.assertEquals("some_branch", self._state["current_branch"])
def testInitialEnvironmentChecks(self): def testInitialEnvironmentChecks(self):
TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile() TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git"))
os.environ["EDITOR"] = "vi" os.environ["EDITOR"] = "vi"
self.Expect([ self.Expect([
Cmd("which vi", "/usr/bin/vi"), Cmd("which vi", "/usr/bin/vi"),
]) ])
self.MakeStep().InitialEnvironmentChecks() self.MakeStep().InitialEnvironmentChecks(TEST_CONFIG["DEFAULT_CWD"])
def testReadAndPersistVersion(self): def testReadAndPersistVersion(self):
TEST_CONFIG[VERSION_FILE] = self.MakeEmptyTempFile() TEST_CONFIG[VERSION_FILE] = self.MakeEmptyTempFile()
...@@ -681,7 +681,7 @@ Performance and stability improvements on all platforms.""" ...@@ -681,7 +681,7 @@ Performance and stability improvements on all platforms."""
self._TestSquashCommits(change_log, commit_msg) self._TestSquashCommits(change_log, commit_msg)
def _PushToTrunk(self, force=False, manual=False): def _PushToTrunk(self, force=False, manual=False):
TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile() TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git"))
# The version file on bleeding edge has build level 5, while the version # The version file on bleeding edge has build level 5, while the version
# file from trunk has build level 4. # file from trunk has build level 4.
...@@ -857,8 +857,8 @@ def get_list(): ...@@ -857,8 +857,8 @@ def get_list():
pass""") pass""")
# Setup fake directory structures. # Setup fake directory structures.
TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile()
TEST_CONFIG[CHROMIUM] = self.MakeEmptyTempDirectory() TEST_CONFIG[CHROMIUM] = self.MakeEmptyTempDirectory()
TextToFile("", os.path.join(TEST_CONFIG[CHROMIUM], ".git"))
chrome_dir = TEST_CONFIG[CHROMIUM] chrome_dir = TEST_CONFIG[CHROMIUM]
os.makedirs(os.path.join(chrome_dir, "v8")) os.makedirs(os.path.join(chrome_dir, "v8"))
...@@ -921,7 +921,7 @@ def get_list(): ...@@ -921,7 +921,7 @@ def get_list():
AUTO_PUSH_ARGS)) AUTO_PUSH_ARGS))
def testAutoPush(self): def testAutoPush(self):
TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile() TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git"))
TEST_CONFIG[SETTINGS_LOCATION] = "~/.doesnotexist" TEST_CONFIG[SETTINGS_LOCATION] = "~/.doesnotexist"
self.Expect([ self.Expect([
...@@ -947,7 +947,7 @@ def get_list(): ...@@ -947,7 +947,7 @@ def get_list():
self.assertEquals("100", state["lkgr"]) self.assertEquals("100", state["lkgr"])
def testAutoPushStoppedBySettings(self): def testAutoPushStoppedBySettings(self):
TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile() TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git"))
TEST_CONFIG[SETTINGS_LOCATION] = self.MakeEmptyTempFile() TEST_CONFIG[SETTINGS_LOCATION] = self.MakeEmptyTempFile()
TextToFile("{\"enable_auto_push\": false}", TEST_CONFIG[SETTINGS_LOCATION]) TextToFile("{\"enable_auto_push\": false}", TEST_CONFIG[SETTINGS_LOCATION])
...@@ -962,7 +962,7 @@ def get_list(): ...@@ -962,7 +962,7 @@ def get_list():
self.assertRaises(Exception, RunAutoPush) self.assertRaises(Exception, RunAutoPush)
def testAutoPushStoppedByTreeStatus(self): def testAutoPushStoppedByTreeStatus(self):
TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile() TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git"))
TEST_CONFIG[SETTINGS_LOCATION] = "~/.doesnotexist" TEST_CONFIG[SETTINGS_LOCATION] = "~/.doesnotexist"
self.Expect([ self.Expect([
...@@ -1042,7 +1042,7 @@ deps = { ...@@ -1042,7 +1042,7 @@ deps = {
def testMergeToBranch(self): def testMergeToBranch(self):
TEST_CONFIG[ALREADY_MERGING_SENTINEL_FILE] = self.MakeEmptyTempFile() TEST_CONFIG[ALREADY_MERGING_SENTINEL_FILE] = self.MakeEmptyTempFile()
TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile() TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git"))
TEST_CONFIG[VERSION_FILE] = self.MakeEmptyTempFile() TEST_CONFIG[VERSION_FILE] = self.MakeEmptyTempFile()
self.WriteFakeVersionFile(build=5) self.WriteFakeVersionFile(build=5)
os.environ["EDITOR"] = "vi" os.environ["EDITOR"] = "vi"
...@@ -1226,7 +1226,6 @@ git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3456 0039-1c4b ...@@ -1226,7 +1226,6 @@ git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3456 0039-1c4b
TEST_CONFIG[VERSION_FILE] = self.MakeEmptyTempFile() TEST_CONFIG[VERSION_FILE] = self.MakeEmptyTempFile()
self.WriteFakeVersionFile() self.WriteFakeVersionFile()
TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile()
TEST_CONFIG[CHROMIUM] = self.MakeEmptyTempDirectory() TEST_CONFIG[CHROMIUM] = self.MakeEmptyTempDirectory()
chrome_dir = TEST_CONFIG[CHROMIUM] chrome_dir = TEST_CONFIG[CHROMIUM]
chrome_v8_dir = os.path.join(chrome_dir, "v8") chrome_v8_dir = os.path.join(chrome_dir, "v8")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment