| Index: tests/gcl_unittest.py
|
| ===================================================================
|
| --- tests/gcl_unittest.py (revision 15824)
|
| +++ tests/gcl_unittest.py (working copy)
|
| @@ -5,9 +5,7 @@
|
|
|
| """Unit tests for gcl.py."""
|
|
|
| -import StringIO
|
| import os
|
| -import sys
|
| import unittest
|
|
|
| # Local imports
|
| @@ -48,14 +46,15 @@
|
| 'ErrorExit', 'GenerateChangeName', 'GenerateDiff', 'GetCLs',
|
| 'GetChangelistInfoFile', 'GetCodeReviewSetting', 'GetEditor',
|
| 'GetFilesNotInCL', 'GetInfoDir', 'GetIssueDescription',
|
| - 'GetModifiedFiles', 'GetRepositoryRoot', 'GetSVNStatus',
|
| + 'GetModifiedFiles', 'GetNamedNodeText', 'GetNodeNamedAttributeText',
|
| + 'GetRepositoryRoot', 'GetSVNFileInfo', 'GetSVNStatus',
|
| 'GetSVNFileProperty', 'Help', 'IGNORE_PATHS', 'IsSVNMoved', 'IsTreeOpen',
|
| 'Lint', 'LoadChangelistInfo', 'LoadChangelistInfoForMultiple',
|
| - 'MISSING_TEST_MSG', 'Opened', 'PresubmitCL', 'ReadFile',
|
| + 'MISSING_TEST_MSG', 'Opened', 'ParseXML', 'PresubmitCL', 'ReadFile',
|
| 'RunShell',
|
| 'RunShellWithReturnCode', 'SEPARATOR', 'SendToRietveld', 'TryChange',
|
| - 'UnknownFiles', 'UploadCL', 'Warn', 'WriteFile', 'gclient',
|
| - 'gcl_info_dir', 'getpass', 'main', 'os', 'random', 're', 'read_gcl_info',
|
| + 'UnknownFiles', 'UploadCL', 'Warn', 'WriteFile', 'gcl_info_dir',
|
| + 'getpass', 'main', 'os', 'random', 're', 'read_gcl_info',
|
| 'repository_root', 'string', 'subprocess', 'sys', 'tempfile', 'upload',
|
| 'urllib2', 'use_shell', 'xml',
|
|
|
| @@ -63,6 +62,37 @@
|
| # If this test fails, you should add the relevant test.
|
| self.compareMembers(gcl, members)
|
|
|
| + def testGetSVNFileInfo(self):
|
| + def RunShellMock(command):
|
| + return r"""<?xml version="1.0"?>
|
| +<info>
|
| +<entry kind="file" path="%s" revision="14628">
|
| +<url>http://src.chromium.org/svn/trunk/src/chrome/app/d</url>
|
| +<repository><root>http://src.chromium.org/svn</root></repository>
|
| +<wc-info>
|
| +<schedule>add</schedule>
|
| +<depth>infinity</depth>
|
| +<copy-from-url>http://src.chromium.org/svn/trunk/src/chrome/app/DEPS</copy-from-url>
|
| +<copy-from-rev>14628</copy-from-rev>
|
| +<checksum>369f59057ba0e6d9017e28f8bdfb1f43</checksum>
|
| +</wc-info>
|
| +</entry>
|
| +</info>
|
| +""" % command[3]
|
| + gcl.RunShell = RunShellMock
|
| + filename = os.path.join('app', 'd')
|
| + info = gcl.GetSVNFileInfo(filename)
|
| + expected = {
|
| + 'URL': 'http://src.chromium.org/svn/trunk/src/chrome/app/d',
|
| + 'Repository Root': 'http://src.chromium.org/svn',
|
| + 'Schedule': 'add',
|
| + 'Copied From URL': 'http://src.chromium.org/svn/trunk/src/chrome/app/DEPS',
|
| + 'Copied From Rev': '14628',
|
| + 'Path': filename,
|
| + 'Node Kind': 'file',
|
| + }
|
| + self.assertEquals(sorted(info.items()), sorted(expected.items()))
|
| +
|
| def testGetSVNStatus(self):
|
| def RunShellMock(command):
|
| return r"""<?xml version="1.0"?>
|
| @@ -126,41 +156,6 @@
|
| info = gcl.GetSVNStatus(None)
|
| self.assertEquals(info, [])
|
|
|
| - def testHelp(self):
|
| - stdout = sys.stdout
|
| - dummy = StringIO.StringIO()
|
| - sys.stdout = dummy
|
| - gcl.Help()
|
| - sys.stdout = stdout
|
| - self.assertEquals(len(dummy.getvalue()), 1718)
|
|
|
| - def testGetRepositoryRoot(self):
|
| - try:
|
| - gcl.GetRepositoryRoot()
|
| - except Exception,e:
|
| - self.assertEquals(e.args[0], "gcl run outside of repository")
|
| -
|
| -
|
| -class ChangeInfoUnittest(GclTestsBase):
|
| - def testChangeInfoMembers(self):
|
| - members = [
|
| - 'CloseIssue', 'Delete', 'FileList', 'MissingTests', 'Save',
|
| - 'UpdateRietveldDescription', 'description', 'files', 'issue', 'name',
|
| - 'patch'
|
| - ]
|
| - # If this test fails, you should add the relevant test.
|
| - self.compareMembers(gcl.ChangeInfo(), members)
|
| -
|
| - def testChangeInfoBase(self):
|
| - files = [('M', 'foo'), ('A', 'bar')]
|
| - o = gcl.ChangeInfo('name2', 'issue2', 'description2', files)
|
| - self.assertEquals(o.name, 'name2')
|
| - self.assertEquals(o.issue, 'issue2')
|
| - self.assertEquals(o.description, 'description2')
|
| - self.assertEquals(o.files, files)
|
| - self.assertEquals(o.patch, None)
|
| - self.assertEquals(o.FileList(), ['foo', 'bar'])
|
| -
|
| -
|
| if __name__ == '__main__':
|
| unittest.main()
|
|
|