Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Unified Diff: tests/gcl_unittest.py

Issue 118355: Added patchset persistence in gcl, this is necessary to implement a presubmit queue. (Closed)
Patch Set: Take 2 Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « presubmit_support.py ('k') | tests/presubmit_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/gcl_unittest.py
diff --git a/tests/gcl_unittest.py b/tests/gcl_unittest.py
index dd499e4cc77947710a6d84db64470b6ba49bbfe0..2e9b3bea0efe67019c86eeb5341c21807d750e46 100755
--- a/tests/gcl_unittest.py
+++ b/tests/gcl_unittest.py
@@ -48,10 +48,10 @@ class GclUnittest(GclTestsBase):
'GetFilesNotInCL', 'GetInfoDir', 'GetIssueDescription',
'GetModifiedFiles', 'GetRepositoryRoot',
'GetSVNFileProperty', 'Help', 'IGNORE_PATHS', 'IsSVNMoved',
- 'Lint', 'LoadChangelistInfo', 'LoadChangelistInfoForMultiple',
+ 'Lint', 'LoadChangelistInfoForMultiple',
'MISSING_TEST_MSG', 'Opened', 'PresubmitCL', 'ReadFile',
'REPOSITORY_ROOT', 'RunShell',
- 'RunShellWithReturnCode', 'SEPARATOR', 'SendToRietveld', 'TryChange',
+ 'RunShellWithReturnCode', 'SendToRietveld', 'TryChange',
'UnknownFiles', 'UploadCL', 'Warn', 'WriteFile',
'gclient', 'getpass', 'main', 'os', 'random', 're',
'shutil', 'string', 'subprocess', 'sys', 'tempfile',
@@ -95,25 +95,71 @@ class GclUnittest(GclTestsBase):
class ChangeInfoUnittest(GclTestsBase):
+ def setUp(self):
+ GclTestsBase.setUp(self)
+ self.mox.StubOutWithMock(gcl, 'GetChangelistInfoFile')
+ self.mox.StubOutWithMock(gcl.os.path, 'exists')
+ self.mox.StubOutWithMock(gcl, 'ReadFile')
+ self.mox.StubOutWithMock(gcl, 'WriteFile')
+
def testChangeInfoMembers(self):
members = [
- 'CloseIssue', 'Delete', 'FileList', 'MissingTests', 'Save',
+ 'CloseIssue', 'Delete', 'FileList', 'Load', 'MissingTests', 'Save',
'UpdateRietveldDescription', 'description', 'files', 'issue', 'name',
- 'patch'
+ 'patch', 'patchset',
]
# If this test fails, you should add the relevant test.
- self.compareMembers(gcl.ChangeInfo(), members)
+ self.compareMembers(gcl.ChangeInfo('', 0, 0, '', None), members)
def testChangeInfoBase(self):
files = [('M', 'foo'), ('A', 'bar')]
- o = gcl.ChangeInfo('name2', 'issue2', 'description2', files)
+ self.mox.ReplayAll()
+ o = gcl.ChangeInfo('name2', '42', '53', 'description2', files)
self.assertEquals(o.name, 'name2')
- self.assertEquals(o.issue, 'issue2')
+ self.assertEquals(o.issue, 42)
+ self.assertEquals(o.patchset, 53)
self.assertEquals(o.description, 'description2')
self.assertEquals(o.files, files)
self.assertEquals(o.patch, None)
self.assertEquals(o.FileList(), ['foo', 'bar'])
+ def testLoadWithIssue(self):
+ description = ["This is some description.", "force an extra separator."]
+ gcl.GetChangelistInfoFile('bleh').AndReturn('bleeeh')
+ gcl.os.path.exists('bleeeh').AndReturn(True)
+ gcl.ReadFile('bleeeh').AndReturn(
+ gcl.ChangeInfo._SEPARATOR.join(["42,53", "G b.cc"] + description))
+ self.mox.ReplayAll()
+
+ change_info = gcl.ChangeInfo.Load('bleh', True, False)
+ self.assertEquals(change_info.name, 'bleh')
+ self.assertEquals(change_info.issue, 42)
+ self.assertEquals(change_info.patchset, 53)
+ self.assertEquals(change_info.description,
+ gcl.ChangeInfo._SEPARATOR.join(description))
+ self.assertEquals(change_info.files, [('G ', 'b.cc')])
+
+ def testLoadEmpty(self):
+ gcl.GetChangelistInfoFile('bleh').AndReturn('bleeeh')
+ gcl.os.path.exists('bleeeh').AndReturn(True)
+ gcl.ReadFile('bleeeh').AndReturn(
+ gcl.ChangeInfo._SEPARATOR.join(["", "", ""]))
+ self.mox.ReplayAll()
+
+ change_info = gcl.ChangeInfo.Load('bleh', True, False)
+ self.assertEquals(change_info.name, 'bleh')
+ self.assertEquals(change_info.issue, 0)
+ self.assertEquals(change_info.patchset, 0)
+ self.assertEquals(change_info.description, "")
+ self.assertEquals(change_info.files, [])
+
+ def testSaveEmpty(self):
+ gcl.GetChangelistInfoFile('').AndReturn('foo')
+ gcl.WriteFile('foo', gcl.ChangeInfo._SEPARATOR.join(['0, 0', '', '']))
+ self.mox.ReplayAll()
+ change_info = gcl.ChangeInfo('', 0, 0, '', None)
+ change_info.Save()
+
class UploadCLUnittest(GclTestsBase):
def setUp(self):
@@ -132,9 +178,9 @@ class UploadCLUnittest(GclTestsBase):
self.mox.StubOutWithMock(gcl, 'TryChange')
def testNew(self):
- change_info = gcl.ChangeInfo('naame', 'iissue', 'deescription',
+ change_info = gcl.ChangeInfo('naame', 1, 0, 'deescription',
['aa', 'bb'])
- change_info.Save = self.mox.CreateMockAnything()
+ self.mox.StubOutWithMock(change_info, 'Save')
args = ['--foo=bar']
change_info.Save()
gcl.DoPresubmitChecks(change_info, committing=False).AndReturn(True)
@@ -143,19 +189,17 @@ class UploadCLUnittest(GclTestsBase):
gcl.os.chdir(gcl.GetRepositoryRoot().AndReturn(None))
gcl.GenerateDiff(change_info.FileList())
gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', '--foo=bar',
- "--message=''", '--issue=iissue'], change_info.patch).AndReturn(("1",
- "2"))
+ "--message=''", '--issue=1'], change_info.patch).AndReturn(("1",
+ "2"))
gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5)
gcl.GetCodeReviewSetting('TRY_ON_UPLOAD').AndReturn('True')
- gcl.TryChange(change_info,
- ['--issue', '1', '--patchset', '2'],
- swallow_exception=True)
+ gcl.TryChange(change_info, [], swallow_exception=True)
gcl.os.chdir('somewhere')
self.mox.ReplayAll()
gcl.UploadCL(change_info, args)
def testServerOverride(self):
- change_info = gcl.ChangeInfo('naame', '', 'deescription',
+ change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription',
['aa', 'bb'])
change_info.Save = self.mox.CreateMockAnything()
args = ['--server=a']
@@ -179,7 +223,7 @@ class UploadCLUnittest(GclTestsBase):
gcl.UploadCL(change_info, args)
def testNoTry(self):
- change_info = gcl.ChangeInfo('naame', '', 'deescription',
+ change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription',
['aa', 'bb'])
change_info.Save = self.mox.CreateMockAnything()
args = ['--no-try']
@@ -203,7 +247,7 @@ class UploadCLUnittest(GclTestsBase):
gcl.UploadCL(change_info, args)
def testNormal(self):
- change_info = gcl.ChangeInfo('naame', '', 'deescription',
+ change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription',
['aa', 'bb'])
self.mox.StubOutWithMock(change_info, 'Save')
args = []
@@ -223,12 +267,13 @@ class UploadCLUnittest(GclTestsBase):
gcl.os.remove('descfile')
gcl.SendToRietveld("/lint/issue%s_%s" % ('1', '2'), timeout=0.5)
gcl.GetCodeReviewSetting('TRY_ON_UPLOAD').AndReturn('True')
- gcl.TryChange(change_info,
- ['--issue', '1', '--patchset', '2'],
- swallow_exception=True)
+ gcl.TryChange(change_info, [], swallow_exception=True)
gcl.os.chdir('somewhere')
self.mox.ReplayAll()
+
gcl.UploadCL(change_info, args)
+ self.assertEquals(change_info.issue, 1)
+ self.assertEquals(change_info.patchset, 2)
if __name__ == '__main__':
« no previous file with comments | « presubmit_support.py ('k') | tests/presubmit_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698