| Index: tests/gclient_utils_test.py
|
| diff --git a/tests/gclient_utils_test.py b/tests/gclient_utils_test.py
|
| index 01b22210714b9e689827c6d07b63ff891637b919..2779f8160f46a65c32a44377ce4fdde0964e6aed 100755
|
| --- a/tests/gclient_utils_test.py
|
| +++ b/tests/gclient_utils_test.py
|
| @@ -78,30 +78,30 @@ class CheckCallTestCase(GclientUtilBase):
|
|
|
|
|
| class SubprocessCallAndFilterTestCase(GclientUtilBase):
|
| - def testSubprocessCallAndFilter(self):
|
| - command = ['boo', 'foo', 'bar']
|
| + class ProcessIdMock(object):
|
| + def __init__(self, test_string):
|
| + self.stdout = StringIO.StringIO(test_string)
|
| + def wait(self):
|
| + pass
|
| +
|
| + def _inner(self, command, test_string):
|
| in_directory = 'bleh'
|
| - fail_status = None
|
| - pattern = 'a(.*)b'
|
| - test_string = 'ahah\naccb\nallo\naddb\n'
|
| env = gclient_utils.os.environ.copy()
|
| env['LANGUAGE'] = 'en'
|
| - class Mock(object):
|
| - stdout = StringIO.StringIO(test_string)
|
| - def wait(self):
|
| - pass
|
| - kid = Mock()
|
| print("\n________ running 'boo foo bar' in 'bleh'")
|
| for i in test_string:
|
| gclient_utils.sys.stdout.write(i)
|
| gclient_utils.subprocess.Popen(
|
| - command, bufsize=0, cwd=in_directory,
|
| + command,
|
| + cwd=in_directory,
|
| shell=(gclient_utils.sys.platform == 'win32'),
|
| env=env,
|
| stdout=gclient_utils.subprocess.PIPE,
|
| - stderr=gclient_utils.subprocess.STDOUT).AndReturn(kid)
|
| + stderr=gclient_utils.subprocess.STDOUT,
|
| + bufsize=0).AndReturn(self.ProcessIdMock(test_string))
|
| +
|
| self.mox.ReplayAll()
|
| - compiled_pattern = gclient_utils.re.compile(pattern)
|
| + compiled_pattern = gclient_utils.re.compile(r'a(.*)b')
|
| line_list = []
|
| capture_list = []
|
| def FilterLines(line):
|
| @@ -110,12 +110,21 @@ class SubprocessCallAndFilterTestCase(GclientUtilBase):
|
| if match:
|
| capture_list.append(match.group(1))
|
| gclient_utils.SubprocessCallAndFilter(
|
| - command, in_directory,
|
| - True, True,
|
| - fail_status, FilterLines)
|
| + command, in_directory, True, True, None, FilterLines)
|
| self.assertEquals(line_list, ['ahah', 'accb', 'allo', 'addb'])
|
| self.assertEquals(capture_list, ['cc', 'dd'])
|
|
|
| + def testSubprocessCallAndFilter(self):
|
| + command = ['boo', 'foo', 'bar']
|
| + test_string = 'ahah\naccb\nallo\naddb\n'
|
| + self._inner(command, test_string)
|
| +
|
| + def testNoLF(self):
|
| + # Exactly as testSubprocessCallAndFilter without trailing \n
|
| + command = ['boo', 'foo', 'bar']
|
| + test_string = 'ahah\naccb\nallo\naddb'
|
| + self._inner(command, test_string)
|
| +
|
|
|
| class SplitUrlRevisionTestCase(GclientUtilBase):
|
| def testSSHUrl(self):
|
|
|