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

Unified Diff: tests/gcl_unittest.py

Issue 113218: Starts reusing functions in gclient.py from gcl.py. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools/
Patch Set: Created 11 years, 7 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 | « gcl.py ('k') | tests/trychange_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/gcl_unittest.py
===================================================================
--- tests/gcl_unittest.py (revision 15777)
+++ tests/gcl_unittest.py (working copy)
@@ -5,7 +5,9 @@
"""Unit tests for gcl.py."""
+import StringIO
import os
+import sys
import unittest
# Local imports
@@ -46,15 +48,14 @@
'ErrorExit', 'GenerateChangeName', 'GenerateDiff', 'GetCLs',
'GetChangelistInfoFile', 'GetCodeReviewSetting', 'GetEditor',
'GetFilesNotInCL', 'GetInfoDir', 'GetIssueDescription',
- 'GetModifiedFiles', 'GetNamedNodeText', 'GetNodeNamedAttributeText',
- 'GetRepositoryRoot', 'GetSVNFileInfo', 'GetSVNStatus',
+ 'GetModifiedFiles', 'GetRepositoryRoot', 'GetSVNStatus',
'GetSVNFileProperty', 'Help', 'IGNORE_PATHS', 'IsSVNMoved', 'IsTreeOpen',
'Lint', 'LoadChangelistInfo', 'LoadChangelistInfoForMultiple',
- 'MISSING_TEST_MSG', 'Opened', 'ParseXML', 'PresubmitCL', 'ReadFile',
+ 'MISSING_TEST_MSG', 'Opened', 'PresubmitCL', 'ReadFile',
'RunShell',
'RunShellWithReturnCode', 'SEPARATOR', 'SendToRietveld', 'TryChange',
- 'UnknownFiles', 'UploadCL', 'Warn', 'WriteFile', 'gcl_info_dir',
- 'getpass', 'main', 'os', 'random', 're', 'read_gcl_info',
+ 'UnknownFiles', 'UploadCL', 'Warn', 'WriteFile', 'gclient',
+ 'gcl_info_dir', 'getpass', 'main', 'os', 'random', 're', 'read_gcl_info',
'repository_root', 'string', 'subprocess', 'sys', 'tempfile', 'upload',
'urllib2', 'use_shell', 'xml',
@@ -62,37 +63,6 @@
# 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"?>
@@ -156,6 +126,41 @@
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()
« no previous file with comments | « gcl.py ('k') | tests/trychange_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698