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

Unified Diff: tests/gcl_unittest.py

Issue 119442: A step closer to make presubmit SCM independent. (Closed)
Patch Set: oops 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 4c8382f535c651a2d536e2eea41ad1090723b682..f731bd596044e13d29d4243fdc966be14461c85c 100755
--- a/tests/gcl_unittest.py
+++ b/tests/gcl_unittest.py
@@ -19,13 +19,25 @@ class GclTestsBase(super_mox.SuperMoxTestBase):
super_mox.SuperMoxTestBase.setUp(self)
self.mox.StubOutWithMock(gcl, 'RunShell')
self.mox.StubOutWithMock(gcl.gclient, 'CaptureSVNInfo')
- self.mox.StubOutWithMock(gcl, 'os')
self.mox.StubOutWithMock(gcl.os, 'getcwd')
+ self.mox.StubOutWithMock(gcl.os, 'chdir')
+ self.mox.StubOutWithMock(gcl.os, 'close')
+ self.mox.StubOutWithMock(gcl.os, 'remove')
+ self.mox.StubOutWithMock(gcl.os, 'write')
+ self.mox.StubOutWithMock(gcl.os.path, 'exists')
+ self.mox.StubOutWithMock(gcl.os.path, 'isdir')
+ self.mox.StubOutWithMock(gcl.os.path, 'isfile')
+ self.mox.StubOutWithMock(gcl, 'tempfile')
+ self.mox.StubOutWithMock(gcl.upload, 'RealMain')
+ # These are not tested.
+ self.mox.StubOutWithMock(gcl, 'ReadFile')
+ self.mox.StubOutWithMock(gcl, 'WriteFile')
class GclUnittest(GclTestsBase):
"""General gcl.py tests."""
def testMembersChanged(self):
+ self.mox.ReplayAll()
members = [
'CODEREVIEW_SETTINGS', 'CODEREVIEW_SETTINGS_FILE', 'CPP_EXTENSIONS',
'Change', 'ChangeInfo', 'Changes', 'Commit', 'DoPresubmitChecks',
@@ -86,14 +98,15 @@ 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')
+ self.mox.StubOutWithMock(gcl, 'GetRepositoryRoot')
def testChangeInfoMembers(self):
+ gcl.GetRepositoryRoot().AndReturn('prout')
+ self.mox.ReplayAll()
members = [
- 'CloseIssue', 'Delete', 'FileList', 'Load', 'MissingTests', 'Save',
- 'UpdateRietveldDescription', 'description', 'files', 'issue', 'name',
+ 'CloseIssue', 'Delete', 'GetFiles', 'GetFileNames', 'GetLocalRoot',
+ 'Load', 'MissingTests', 'Save', 'UpdateRietveldDescription',
+ 'description', 'issue', 'name',
'patch', 'patchset',
]
# If this test fails, you should add the relevant test.
@@ -101,15 +114,17 @@ class ChangeInfoUnittest(GclTestsBase):
def testChangeInfoBase(self):
files = [('M', 'foo'), ('A', 'bar')]
+ gcl.GetRepositoryRoot().AndReturn('prout')
self.mox.ReplayAll()
o = gcl.ChangeInfo('name2', '42', '53', 'description2', files)
self.assertEquals(o.name, 'name2')
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'])
+ self.assertEquals(o.GetFileNames(), ['foo', 'bar'])
+ self.assertEquals(o.GetFiles(), files)
+ self.assertEquals(o.GetLocalRoot(), 'prout')
def testLoadWithIssue(self):
description = ["This is some description.", "force an extra separator."]
@@ -117,6 +132,7 @@ class ChangeInfoUnittest(GclTestsBase):
gcl.os.path.exists('bleeeh').AndReturn(True)
gcl.ReadFile('bleeeh').AndReturn(
gcl.ChangeInfo._SEPARATOR.join(["42,53", "G b.cc"] + description))
+ gcl.GetRepositoryRoot().AndReturn('prout')
self.mox.ReplayAll()
change_info = gcl.ChangeInfo.Load('bleh', True, False)
@@ -125,13 +141,14 @@ class ChangeInfoUnittest(GclTestsBase):
self.assertEquals(change_info.patchset, 53)
self.assertEquals(change_info.description,
gcl.ChangeInfo._SEPARATOR.join(description))
- self.assertEquals(change_info.files, [('G ', 'b.cc')])
+ self.assertEquals(change_info.GetFiles(), [('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(["", "", ""]))
+ gcl.GetRepositoryRoot().AndReturn('prout')
self.mox.ReplayAll()
change_info = gcl.ChangeInfo.Load('bleh', True, False)
@@ -139,11 +156,12 @@ class ChangeInfoUnittest(GclTestsBase):
self.assertEquals(change_info.issue, 0)
self.assertEquals(change_info.patchset, 0)
self.assertEquals(change_info.description, "")
- self.assertEquals(change_info.files, [])
+ self.assertEquals(change_info.GetFiles(), [])
def testSaveEmpty(self):
gcl.GetChangelistInfoFile('').AndReturn('foo')
gcl.WriteFile('foo', gcl.ChangeInfo._SEPARATOR.join(['0, 0', '', '']))
+ gcl.GetRepositoryRoot().AndReturn('prout')
self.mox.ReplayAll()
change_info = gcl.ChangeInfo('', 0, 0, '', None)
change_info.Save()
@@ -152,12 +170,6 @@ class ChangeInfoUnittest(GclTestsBase):
class UploadCLUnittest(GclTestsBase):
def setUp(self):
GclTestsBase.setUp(self)
- self.mox.StubOutWithMock(gcl.os, 'chdir')
- self.mox.StubOutWithMock(gcl.os, 'close')
- self.mox.StubOutWithMock(gcl.os, 'remove')
- self.mox.StubOutWithMock(gcl.os, 'write')
- self.mox.StubOutWithMock(gcl, 'tempfile')
- self.mox.StubOutWithMock(gcl.upload, 'RealMain')
self.mox.StubOutWithMock(gcl, 'DoPresubmitChecks')
self.mox.StubOutWithMock(gcl, 'GenerateDiff')
self.mox.StubOutWithMock(gcl, 'GetCodeReviewSetting')
@@ -166,16 +178,23 @@ class UploadCLUnittest(GclTestsBase):
self.mox.StubOutWithMock(gcl, 'TryChange')
def testNew(self):
- change_info = gcl.ChangeInfo('naame', 1, 0, 'deescription',
- ['aa', 'bb'])
- self.mox.StubOutWithMock(change_info, 'Save')
+ change_info = self.mox.CreateMock(gcl.ChangeInfo)
+ change_info.name = 'naame'
+ change_info.issue = 1
+ change_info.patchset = 0
+ change_info.description = 'deescription',
+ change_info.files = [('A', 'aa'), ('M', 'bb')]
+ change_info.patch = None
+ files = [item[1] for item in change_info.files]
args = ['--foo=bar']
- change_info.Save()
gcl.DoPresubmitChecks(change_info, False, True).AndReturn(True)
gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server')
gcl.os.getcwd().AndReturn('somewhere')
- gcl.os.chdir(gcl.GetRepositoryRoot().AndReturn(None))
- gcl.GenerateDiff(change_info.FileList())
+ change_info.GetFiles().AndReturn(change_info.files)
+ change_info.GetLocalRoot().AndReturn('proout')
+ gcl.os.chdir('proout')
+ change_info.GetFileNames().AndReturn(files)
+ gcl.GenerateDiff(files)
gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', '--foo=bar',
"--message=''", '--issue=1'], change_info.patch).AndReturn(("1",
"2"))
@@ -183,13 +202,15 @@ class UploadCLUnittest(GclTestsBase):
gcl.GetCodeReviewSetting('TRY_ON_UPLOAD').AndReturn('True')
gcl.TryChange(change_info, [], swallow_exception=True)
gcl.os.chdir('somewhere')
+ change_info.Save()
self.mox.ReplayAll()
+
gcl.UploadCL(change_info, args)
def testServerOverride(self):
change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription',
- ['aa', 'bb'])
- change_info.Save = self.mox.CreateMockAnything()
+ [('A', 'aa'), ('M', 'bb')])
+ self.mox.StubOutWithMock(change_info, 'Save')
args = ['--server=a', '--no_watchlists']
change_info.Save()
gcl.DoPresubmitChecks(change_info, False, True).AndReturn(True)
@@ -199,8 +220,8 @@ class UploadCLUnittest(GclTestsBase):
gcl.os.close(42)
gcl.GetCodeReviewSetting('CC_LIST')
gcl.os.getcwd().AndReturn('somewhere')
- gcl.os.chdir(gcl.GetRepositoryRoot().AndReturn(None))
- gcl.GenerateDiff(change_info.FileList())
+ gcl.os.chdir(change_info.GetLocalRoot())
+ gcl.GenerateDiff(change_info.GetFileNames())
gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', '--server=a',
"--description_file=descfile",
"--message=deescription"], change_info.patch).AndReturn(("1", "2"))
@@ -209,11 +230,13 @@ class UploadCLUnittest(GclTestsBase):
gcl.os.chdir('somewhere')
self.mox.ReplayAll()
+ # To balance out the call in gcl.ChangeInfo.__init__().
+ gcl.GetRepositoryRoot()
gcl.UploadCL(change_info, args)
def testNoTry(self):
change_info = gcl.ChangeInfo('naame', 0, 0, 'deescription',
- ['aa', 'bb'])
+ [('A', 'aa'), ('M', 'bb')])
change_info.Save = self.mox.CreateMockAnything()
args = ['--no-try', '--no_watchlists']
change_info.Save()
@@ -224,8 +247,8 @@ class UploadCLUnittest(GclTestsBase):
gcl.os.close(42)
gcl.GetCodeReviewSetting('CC_LIST')
gcl.os.getcwd().AndReturn('somewhere')
- gcl.os.chdir(gcl.GetRepositoryRoot().AndReturn(None))
- gcl.GenerateDiff(change_info.FileList())
+ gcl.os.chdir(change_info.GetLocalRoot())
+ gcl.GenerateDiff(change_info.GetFileNames())
gcl.upload.RealMain(['upload.py', '-y', '--server=my_server',
"--description_file=descfile",
"--message=deescription"], change_info.patch).AndReturn(("1", "2"))
@@ -234,6 +257,8 @@ class UploadCLUnittest(GclTestsBase):
gcl.os.chdir('somewhere')
self.mox.ReplayAll()
+ # To balance out the call in gcl.ChangeInfo.__init__().
+ gcl.GetRepositoryRoot()
gcl.UploadCL(change_info, args)
def testNormal(self):
@@ -249,8 +274,8 @@ class UploadCLUnittest(GclTestsBase):
gcl.os.close(42)
gcl.GetCodeReviewSetting('CC_LIST')
gcl.os.getcwd().AndReturn('somewhere')
- gcl.os.chdir(gcl.GetRepositoryRoot().AndReturn(None))
- gcl.GenerateDiff(change_info.FileList())
+ gcl.os.chdir(change_info.GetLocalRoot())
+ gcl.GenerateDiff(change_info.GetFileNames())
gcl.upload.RealMain(['upload.py', '-y', '--server=my_server',
"--description_file=descfile",
"--message=deescription"], change_info.patch).AndReturn(("1", "2"))
@@ -261,6 +286,8 @@ class UploadCLUnittest(GclTestsBase):
gcl.os.chdir('somewhere')
self.mox.ReplayAll()
+ # To balance out the call in gcl.ChangeInfo.__init__().
+ gcl.GetRepositoryRoot()
gcl.UploadCL(change_info, args)
self.assertEquals(change_info.issue, 1)
self.assertEquals(change_info.patchset, 2)
« 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