Index: tools/push-to-trunk/test_scripts.py |
diff --git a/tools/push-to-trunk/test_scripts.py b/tools/push-to-trunk/test_scripts.py |
index 657a086a1a656729b045a52820dd0fa3fd7d4aed..9c93ee54f3782d8de205d889e5d4d3d978e9caa7 100644 |
--- a/tools/push-to-trunk/test_scripts.py |
+++ b/tools/push-to-trunk/test_scripts.py |
@@ -32,7 +32,6 @@ import traceback |
import unittest |
import auto_roll |
-from auto_roll import AutoRollOptions |
from auto_roll import CheckLastPush |
from auto_roll import FetchLatestRevision |
from auto_roll import SETTINGS_LOCATION |
@@ -72,25 +71,6 @@ AUTO_ROLL_ARGS = [ |
] |
-def MakeOptions(s=0, l=None, f=False, m=True, r=None, c=None, a=None, |
- status_password=None, revert_bleeding_edge=None, p=None): |
- """Convenience wrapper.""" |
- class Options(object): |
- pass |
- options = Options() |
- options.step = s |
- options.last_push = l |
- options.force = f |
- options.manual = m |
- options.reviewer = r |
- options.chromium = c |
- options.author = a |
- options.push = p |
- options.status_password = status_password |
- options.revert_bleeding_edge = revert_bleeding_edge |
- return options |
- |
- |
class ToplevelTest(unittest.TestCase): |
def testMakeComment(self): |
self.assertEquals("# Line 1\n# Line 2\n#", |
@@ -302,13 +282,17 @@ class ScriptTest(unittest.TestCase): |
f.write("#define IS_CANDIDATE_VERSION 0\n") |
return name |
- def MakeStep(self, step_class=Step, state=None, options=None): |
+ def MakeStep(self): |
+ """Convenience wrapper.""" |
+ options = ScriptsBase(TEST_CONFIG, self, self._state).MakeOptions([]) |
+ return MakeStep(step_class=Step, state=self._state, |
+ config=TEST_CONFIG, side_effect_handler=self, |
+ options=options) |
+ |
+ def RunStep(self, script=PushToTrunk, step_class=Step, args=None): |
"""Convenience wrapper.""" |
- options = options or CommonOptions(MakeOptions()) |
- state = state if state is not None else self._state |
- return MakeStep(step_class=step_class, number=0, state=state, |
- config=TEST_CONFIG, options=options, |
- side_effect_handler=self) |
+ args = args or ["-m"] |
+ return script(TEST_CONFIG, self, self._state).RunSteps([step_class], args) |
def GitMock(self, cmd, args="", pipe=True): |
print "%s %s" % (cmd, args) |
@@ -490,7 +474,7 @@ class ScriptTest(unittest.TestCase): |
]) |
self._state["last_push_bleeding_edge"] = "1234" |
- self.MakeStep(PrepareChangeLog).Run() |
+ self.RunStep(PushToTrunk, PrepareChangeLog) |
actual_cl = FileToText(TEST_CONFIG[CHANGELOG_ENTRY_FILE]) |
@@ -537,7 +521,7 @@ class ScriptTest(unittest.TestCase): |
"", # Open editor. |
]) |
- self.MakeStep(EditChangeLog).Run() |
+ self.RunStep(PushToTrunk, EditChangeLog) |
self.assertEquals("New\n Lines\n\n\n Original CL", |
FileToText(TEST_CONFIG[CHANGELOG_FILE])) |
@@ -550,7 +534,7 @@ class ScriptTest(unittest.TestCase): |
"Y", # Increment build number. |
]) |
- self.MakeStep(IncrementVersion).Run() |
+ self.RunStep(PushToTrunk, IncrementVersion) |
self.assertEquals("3", self._state["new_major"]) |
self.assertEquals("22", self._state["new_minor"]) |
@@ -586,7 +570,7 @@ class ScriptTest(unittest.TestCase): |
self._state["prepare_commit_hash"] = "hash1" |
self._state["date"] = "1999-11-11" |
- self.MakeStep(SquashCommits).Run() |
+ self.RunStep(PushToTrunk, SquashCommits) |
self.assertEquals(FileToText(TEST_CONFIG[COMMITMSG_FILE]), expected_msg) |
patch = FileToText(TEST_CONFIG[ PATCH_FILE]) |
@@ -751,8 +735,7 @@ Performance and stability improvements on all platforms.""", commit) |
if force: args.append("-f") |
if manual: args.append("-m") |
else: args += ["-r", "reviewer@chromium.org"] |
- options = push_to_trunk.BuildOptions().parse_args(args) |
- RunPushToTrunk(TEST_CONFIG, PushToTrunkOptions(options), self) |
+ PushToTrunk(TEST_CONFIG, self).Run(args) |
deps = FileToText(TEST_CONFIG[DEPS_FILE]) |
self.assertTrue(re.search("\"v8_revision\": \"123456\"", deps)) |
@@ -781,9 +764,10 @@ Performance and stability improvements on all platforms.""", commit) |
["svn log -1 --oneline ChangeLog", "r99 | Prepare push to trunk..."], |
]) |
- state = {} |
- self.MakeStep(FetchLatestRevision, state=state).Run() |
- self.assertRaises(Exception, self.MakeStep(CheckLastPush, state=state).Run) |
+ self.RunStep(auto_roll.AutoRoll, FetchLatestRevision, AUTO_ROLL_ARGS) |
+ self.assertRaises(Exception, lambda: self.RunStep(auto_roll.AutoRoll, |
+ CheckLastPush, |
+ AUTO_ROLL_ARGS)) |
def testAutoRoll(self): |
password = self.MakeEmptyTempFile() |
@@ -816,9 +800,8 @@ Performance and stability improvements on all platforms.""", commit) |
["svn find-rev push_hash", "65"], |
]) |
- options = auto_roll.BuildOptions().parse_args( |
+ auto_roll.AutoRoll(TEST_CONFIG, self).Run( |
AUTO_ROLL_ARGS + ["--status-password", password]) |
- auto_roll.RunAutoRoll(TEST_CONFIG, AutoRollOptions(options), self) |
state = json.loads(FileToText("%s-state.json" |
% TEST_CONFIG[PERSISTFILE_BASENAME])) |
@@ -839,9 +822,8 @@ Performance and stability improvements on all platforms.""", commit) |
["svn fetch", ""], |
]) |
- options = auto_roll.BuildOptions().parse_args(AUTO_ROLL_ARGS) |
def RunAutoRoll(): |
- auto_roll.RunAutoRoll(TEST_CONFIG, AutoRollOptions(options), self) |
+ auto_roll.AutoRoll(TEST_CONFIG, self).Run(AUTO_ROLL_ARGS) |
self.assertRaises(Exception, RunAutoRoll) |
def testAutoRollStoppedByTreeStatus(self): |
@@ -859,9 +841,8 @@ Performance and stability improvements on all platforms.""", commit) |
["svn fetch", ""], |
]) |
- options = auto_roll.BuildOptions().parse_args(AUTO_ROLL_ARGS) |
def RunAutoRoll(): |
- auto_roll.RunAutoRoll(TEST_CONFIG, AutoRollOptions(options), self) |
+ auto_roll.AutoRoll(TEST_CONFIG, self).Run(AUTO_ROLL_ARGS) |
self.assertRaises(Exception, RunAutoRoll) |
def testMergeToBranch(self): |
@@ -982,24 +963,19 @@ LOG=N |
# ports of r12345. r56789 is the MIPS port of r34567. |
args = ["-f", "-p", extra_patch, "--branch", "trunk", "12345", "23456", |
"34567"] |
- options = merge_to_branch.BuildOptions().parse_args(args) |
- self.assertTrue(merge_to_branch.ProcessOptions(options)) |
# The first run of the script stops because of the svn being down. |
self.assertRaises(GitFailedException, |
- lambda: RunMergeToBranch(TEST_CONFIG, |
- MergeToBranchOptions(options), |
- self)) |
+ lambda: MergeToBranch(TEST_CONFIG, self).Run(args)) |
# Test that state recovery after restarting the script works. |
- options.step = 3 |
- RunMergeToBranch(TEST_CONFIG, MergeToBranchOptions(options), self) |
+ args += ["-s", "3"] |
+ MergeToBranch(TEST_CONFIG, self).Run(args) |
class SystemTest(unittest.TestCase): |
def testReload(self): |
step = MakeStep(step_class=PrepareChangeLog, number=0, state={}, config={}, |
- options=CommonOptions(MakeOptions()), |
side_effect_handler=DEFAULT_SIDE_EFFECT_HANDLER) |
body = step.Reload( |
"""------------------------------------------------------------------------ |