| Index: tests/gcl_unittest.py
|
| diff --git a/tests/gcl_unittest.py b/tests/gcl_unittest.py
|
| index c636b4f5fa6af1a9a92a01ee36b0d91e7c627580..3cae3968ebfeffe72bbac9acfe729cbd781ba03e 100755
|
| --- a/tests/gcl_unittest.py
|
| +++ b/tests/gcl_unittest.py
|
| @@ -5,9 +5,6 @@
|
|
|
| """Unit tests for gcl.py."""
|
|
|
| -import StringIO
|
| -import os
|
| -import sys
|
| import unittest
|
|
|
| # Local imports
|
| @@ -16,23 +13,14 @@ import gcl
|
| mox = __init__.mox
|
|
|
|
|
| -class GclTestsBase(unittest.TestCase):
|
| +class GclTestsBase(mox.MoxTestBase):
|
| """Setups and tear downs the mocks but doesn't test anything as-is."""
|
| def setUp(self):
|
| - self.mox = mox.Mox()
|
| - def RunShellMock(filename):
|
| - return filename
|
| - self._RunShell = gcl.RunShell
|
| - gcl.RunShell = RunShellMock
|
| - self._gcl_gclient_CaptureSVNInfo = gcl.gclient.CaptureSVNInfo
|
| - gcl.gclient.CaptureSVNInfo = self.mox.CreateMockAnything()
|
| - self._gcl_os_getcwd = gcl.os.getcwd
|
| - gcl.os.getcwd = self.mox.CreateMockAnything()
|
| -
|
| - def tearDown(self):
|
| - gcl.RunShell = self._RunShell
|
| - gcl.gclient.CaptureSVNInfo = self._gcl_gclient_CaptureSVNInfo
|
| - gcl.os.getcwd = self._gcl_os_getcwd
|
| + mox.MoxTestBase.setUp(self)
|
| + self.mox.StubOutWithMock(gcl, 'RunShell')
|
| + self.mox.StubOutWithMock(gcl.gclient, 'CaptureSVNInfo')
|
| + self.mox.StubOutWithMock(gcl, 'os')
|
| + self.mox.StubOutWithMock(gcl.os, 'getcwd')
|
|
|
| def compareMembers(self, object, members):
|
| """If you add a member, be sure to add the relevant test!"""
|
| @@ -74,14 +62,11 @@ class GclUnittest(GclTestsBase):
|
|
|
|
|
| def testHelp(self):
|
| - old_stdout = sys.stdout
|
| - try:
|
| - dummy = StringIO.StringIO()
|
| - gcl.sys.stdout = dummy
|
| - gcl.Help()
|
| - self.assertEquals(len(dummy.getvalue()), 1832)
|
| - finally:
|
| - gcl.sys.stdout = old_stdout
|
| + self.mox.StubOutWithMock(gcl.sys, 'stdout')
|
| + gcl.sys.stdout.write(mox.StrContains('GCL is a wrapper for Subversion'))
|
| + gcl.sys.stdout.write('\n')
|
| + self.mox.ReplayAll()
|
| + gcl.Help()
|
|
|
| def testGetRepositoryRootNone(self):
|
| gcl.REPOSITORY_ROOT = None
|
| @@ -93,22 +78,20 @@ class GclUnittest(GclTestsBase):
|
| result)
|
| self.mox.ReplayAll()
|
| self.assertRaises(Exception, gcl.GetRepositoryRoot)
|
| - self.mox.VerifyAll()
|
|
|
| def testGetRepositoryRootGood(self):
|
| gcl.REPOSITORY_ROOT = None
|
| - root_path = os.path.join('bleh', 'prout', 'pouet')
|
| + root_path = gcl.os.path.join('bleh', 'prout', 'pouet')
|
| gcl.os.getcwd().AndReturn(root_path)
|
| result1 = { "Repository Root": "Some root" }
|
| gcl.gclient.CaptureSVNInfo(root_path, print_error=False).AndReturn(result1)
|
| gcl.os.getcwd().AndReturn(root_path)
|
| results2 = { "Repository Root": "A different root" }
|
| gcl.gclient.CaptureSVNInfo(
|
| - os.path.dirname(root_path),
|
| + gcl.os.path.dirname(root_path),
|
| print_error=False).AndReturn(results2)
|
| self.mox.ReplayAll()
|
| self.assertEquals(gcl.GetRepositoryRoot(), root_path)
|
| - self.mox.VerifyAll()
|
|
|
|
|
| class ChangeInfoUnittest(GclTestsBase):
|
| @@ -135,45 +118,18 @@ class ChangeInfoUnittest(GclTestsBase):
|
| class UploadCLUnittest(GclTestsBase):
|
| def setUp(self):
|
| GclTestsBase.setUp(self)
|
| - self._os_chdir = gcl.os.chdir
|
| - gcl.os.chdir = self.mox.CreateMockAnything()
|
| - self._os_close = gcl.os.close
|
| - gcl.os.close = self.mox.CreateMockAnything()
|
| - self._os_remove = gcl.os.remove
|
| - gcl.os.remove = self.mox.CreateMockAnything()
|
| - self._os_write = gcl.os.write
|
| - gcl.os.write = self.mox.CreateMockAnything()
|
| - self._tempfile = gcl.tempfile
|
| - gcl.tempfile = self.mox.CreateMockAnything()
|
| - self._upload_RealMain = gcl.upload.RealMain
|
| - gcl.upload.RealMain = self.mox.CreateMockAnything()
|
| - self._DoPresubmitChecks = gcl.DoPresubmitChecks
|
| - gcl.DoPresubmitChecks = self.mox.CreateMockAnything()
|
| - self._GenerateDiff = gcl.GenerateDiff
|
| - gcl.GenerateDiff = self.mox.CreateMockAnything()
|
| - self._GetCodeReviewSetting = gcl.GetCodeReviewSetting
|
| - gcl.GetCodeReviewSetting = self.mox.CreateMockAnything()
|
| - self._GetRepositoryRoot = gcl.GetRepositoryRoot
|
| - gcl.GetRepositoryRoot = self.mox.CreateMockAnything()
|
| - self._SendToRietveld = gcl.SendToRietveld
|
| - gcl.SendToRietveld = self.mox.CreateMockAnything()
|
| - self._TryChange = gcl.TryChange
|
| - gcl.TryChange = self.mox.CreateMockAnything()
|
| -
|
| - def tearDown(self):
|
| - GclTestsBase.tearDown(self)
|
| - gcl.os.chdir = self._os_chdir
|
| - gcl.os.close = self._os_close
|
| - gcl.os.remove = self._os_remove
|
| - gcl.os.write = self._os_write
|
| - gcl.tempfile = self._tempfile
|
| - gcl.upload.RealMain = self._upload_RealMain
|
| - gcl.DoPresubmitChecks = self._DoPresubmitChecks
|
| - gcl.GenerateDiff = self._GenerateDiff
|
| - gcl.GetCodeReviewSetting = self._GetCodeReviewSetting
|
| - gcl.GetRepositoryRoot = self._GetRepositoryRoot
|
| - gcl.SendToRietveld = self._SendToRietveld
|
| - gcl.TryChange = self._TryChange
|
| + 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')
|
| + self.mox.StubOutWithMock(gcl, 'GetRepositoryRoot')
|
| + self.mox.StubOutWithMock(gcl, 'SendToRietveld')
|
| + self.mox.StubOutWithMock(gcl, 'TryChange')
|
|
|
| def testNew(self):
|
| change_info = gcl.ChangeInfo('naame', 'iissue', 'deescription',
|
| @@ -197,7 +153,6 @@ class UploadCLUnittest(GclTestsBase):
|
| gcl.os.chdir('somewhere')
|
| self.mox.ReplayAll()
|
| gcl.UploadCL(change_info, args)
|
| - self.mox.VerifyAll()
|
|
|
| def testServerOverride(self):
|
| change_info = gcl.ChangeInfo('naame', '', 'deescription',
|
| @@ -219,14 +174,9 @@ class UploadCLUnittest(GclTestsBase):
|
| "--message=deescription"], change_info.patch).AndReturn(("1", "2"))
|
| 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.os.chdir('somewhere')
|
| self.mox.ReplayAll()
|
| gcl.UploadCL(change_info, args)
|
| - self.mox.VerifyAll()
|
|
|
| def testNoTry(self):
|
| change_info = gcl.ChangeInfo('naame', '', 'deescription',
|
| @@ -251,12 +201,11 @@ class UploadCLUnittest(GclTestsBase):
|
| gcl.os.chdir('somewhere')
|
| self.mox.ReplayAll()
|
| gcl.UploadCL(change_info, args)
|
| - self.mox.VerifyAll()
|
|
|
| def testNormal(self):
|
| change_info = gcl.ChangeInfo('naame', '', 'deescription',
|
| ['aa', 'bb'])
|
| - change_info.Save = self.mox.CreateMockAnything()
|
| + self.mox.StubOutWithMock(change_info, 'Save')
|
| args = []
|
| change_info.Save()
|
| gcl.DoPresubmitChecks(change_info, committing=False).AndReturn(True)
|
| @@ -280,7 +229,6 @@ class UploadCLUnittest(GclTestsBase):
|
| gcl.os.chdir('somewhere')
|
| self.mox.ReplayAll()
|
| gcl.UploadCL(change_info, args)
|
| - self.mox.VerifyAll()
|
|
|
|
|
| if __name__ == '__main__':
|
|
|