| Index: tests/gclient_test.py
|
| ===================================================================
|
| --- tests/gclient_test.py (revision 25297)
|
| +++ tests/gclient_test.py (working copy)
|
| @@ -20,6 +20,7 @@
|
|
|
| import __builtin__
|
| import os
|
| +import re
|
| import StringIO
|
| import unittest
|
|
|
| @@ -110,7 +111,7 @@
|
| known_commands = [gclient.DoCleanup, gclient.DoConfig, gclient.DoDiff,
|
| gclient.DoExport, gclient.DoHelp, gclient.DoStatus,
|
| gclient.DoUpdate, gclient.DoRevert, gclient.DoRunHooks,
|
| - gclient.DoRevInfo]
|
| + gclient.DoRevInfo, gclient.DoPack]
|
| for (k,v) in gclient.gclient_command_map.iteritems():
|
| # If it fails, you need to add a test case for the new command.
|
| self.assert_(v in known_commands)
|
| @@ -302,6 +303,18 @@
|
| self.BadClient(gclient.DoExport)
|
|
|
|
|
| +class TestDoPack(GenericCommandTestCase):
|
| + def Options(self, *args, **kwargs):
|
| + return self.OptionsObject(self, *args, **kwargs)
|
| +
|
| + def testBasic(self):
|
| + self.ReturnValue('pack', gclient.DoPack, 0)
|
| + def testError(self):
|
| + self.ReturnValue('pack', gclient.DoPack, 42)
|
| + def testBadClient(self):
|
| + self.BadClient(gclient.DoPack)
|
| +
|
| +
|
| class TestDoRevert(GenericCommandTestCase):
|
| def testBasic(self):
|
| self.ReturnValue('revert', gclient.DoRevert, 0)
|
| @@ -1020,7 +1033,7 @@
|
| def testDir(self):
|
| members = [
|
| 'FullUrlForRelativeUrl', 'RunCommand', 'cleanup', 'diff', 'export',
|
| - 'relpath', 'revert', 'scm_name', 'status', 'update', 'url',
|
| + 'pack', 'relpath', 'revert', 'scm_name', 'status', 'update', 'url',
|
| ]
|
|
|
| # If you add a member, be sure to add the relevant test!
|
| @@ -1260,12 +1273,12 @@
|
| gclient.RunSVN(['foo', 'bar'], param2)
|
|
|
|
|
| -class SubprocessCallAndCaptureTestCase(BaseTestCase):
|
| +class SubprocessCallAndFilterTestCase(BaseTestCase):
|
| def setUp(self):
|
| BaseTestCase.setUp(self)
|
| self.mox.StubOutWithMock(gclient, 'CaptureSVN')
|
|
|
| - def testSubprocessCallAndCapture(self):
|
| + def testSubprocessCallAndFilter(self):
|
| command = ['boo', 'foo', 'bar']
|
| in_directory = 'bleh'
|
| fail_status = None
|
| @@ -1283,9 +1296,18 @@
|
| shell=(gclient.sys.platform == 'win32'),
|
| stdout=gclient.subprocess.PIPE).AndReturn(kid)
|
| self.mox.ReplayAll()
|
| + compiled_pattern = re.compile(pattern)
|
| + line_list = []
|
| capture_list = []
|
| - gclient.SubprocessCallAndCapture(command, in_directory, fail_status,
|
| - pattern, capture_list)
|
| + def FilterLines(line):
|
| + line_list.append(line)
|
| + match = compiled_pattern.search(line)
|
| + if match:
|
| + capture_list.append(match.group(1))
|
| + gclient.SubprocessCallAndFilter(command, in_directory,
|
| + True, True,
|
| + fail_status, FilterLines)
|
| + self.assertEquals(line_list, ['ahah', 'accb', 'allo', 'addb'])
|
| self.assertEquals(capture_list, ['cc', 'dd'])
|
|
|
| def testCaptureSVNStatus(self):
|
|
|