diff options
Diffstat (limited to 'catapult/devil/devil/utils/cmd_helper_test.py')
-rwxr-xr-x | catapult/devil/devil/utils/cmd_helper_test.py | 91 |
1 files changed, 42 insertions, 49 deletions
diff --git a/catapult/devil/devil/utils/cmd_helper_test.py b/catapult/devil/devil/utils/cmd_helper_test.py index 6a8e8813..57abceb4 100755 --- a/catapult/devil/devil/utils/cmd_helper_test.py +++ b/catapult/devil/devil/utils/cmd_helper_test.py @@ -2,7 +2,6 @@ # Copyright 2013 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. - """Tests for the cmd_helper module.""" import unittest @@ -18,14 +17,11 @@ with devil_env.SysPath(devil_env.PYMOCK_PATH): class CmdHelperSingleQuoteTest(unittest.TestCase): - def testSingleQuote_basic(self): - self.assertEquals('hello', - cmd_helper.SingleQuote('hello')) + self.assertEquals('hello', cmd_helper.SingleQuote('hello')) def testSingleQuote_withSpaces(self): - self.assertEquals("'hello world'", - cmd_helper.SingleQuote('hello world')) + self.assertEquals("'hello world'", cmd_helper.SingleQuote('hello world')) def testSingleQuote_withUnsafeChars(self): self.assertEquals("""'hello'"'"'; rm -rf /'""", @@ -39,14 +35,11 @@ class CmdHelperSingleQuoteTest(unittest.TestCase): class CmdHelperDoubleQuoteTest(unittest.TestCase): - def testDoubleQuote_basic(self): - self.assertEquals('hello', - cmd_helper.DoubleQuote('hello')) + self.assertEquals('hello', cmd_helper.DoubleQuote('hello')) def testDoubleQuote_withSpaces(self): - self.assertEquals('"hello world"', - cmd_helper.DoubleQuote('hello world')) + self.assertEquals('"hello world"', cmd_helper.DoubleQuote('hello world')) def testDoubleQuote_withUnsafeChars(self): self.assertEquals('''"hello\\"; rm -rf /"''', @@ -60,33 +53,34 @@ class CmdHelperDoubleQuoteTest(unittest.TestCase): class CmdHelperShinkToSnippetTest(unittest.TestCase): - def testShrinkToSnippet_noArgs(self): - self.assertEquals('foo', - cmd_helper.ShrinkToSnippet(['foo'], 'a', 'bar')) + self.assertEquals('foo', cmd_helper.ShrinkToSnippet(['foo'], 'a', 'bar')) self.assertEquals("'foo foo'", - cmd_helper.ShrinkToSnippet(['foo foo'], 'a', 'bar')) + cmd_helper.ShrinkToSnippet(['foo foo'], 'a', 'bar')) self.assertEquals('"$a"\' bar\'', - cmd_helper.ShrinkToSnippet(['foo bar'], 'a', 'foo')) + cmd_helper.ShrinkToSnippet(['foo bar'], 'a', 'foo')) self.assertEquals('\'foo \'"$a"', - cmd_helper.ShrinkToSnippet(['foo bar'], 'a', 'bar')) + cmd_helper.ShrinkToSnippet(['foo bar'], 'a', 'bar')) self.assertEquals('foo"$a"', - cmd_helper.ShrinkToSnippet(['foobar'], 'a', 'bar')) + cmd_helper.ShrinkToSnippet(['foobar'], 'a', 'bar')) def testShrinkToSnippet_singleArg(self): self.assertEquals("foo ''", - cmd_helper.ShrinkToSnippet(['foo', ''], 'a', 'bar')) + cmd_helper.ShrinkToSnippet(['foo', ''], 'a', 'bar')) self.assertEquals("foo foo", - cmd_helper.ShrinkToSnippet(['foo', 'foo'], 'a', 'bar')) + cmd_helper.ShrinkToSnippet(['foo', 'foo'], 'a', 'bar')) self.assertEquals('"$a" "$a"', - cmd_helper.ShrinkToSnippet(['foo', 'foo'], 'a', 'foo')) + cmd_helper.ShrinkToSnippet(['foo', 'foo'], 'a', 'foo')) self.assertEquals('foo "$a""$a"', - cmd_helper.ShrinkToSnippet(['foo', 'barbar'], 'a', 'bar')) - self.assertEquals('foo "$a"\' \'"$a"', + cmd_helper.ShrinkToSnippet(['foo', 'barbar'], 'a', 'bar')) + self.assertEquals( + 'foo "$a"\' \'"$a"', cmd_helper.ShrinkToSnippet(['foo', 'bar bar'], 'a', 'bar')) - self.assertEquals('foo "$a""$a"\' \'', + self.assertEquals( + 'foo "$a""$a"\' \'', cmd_helper.ShrinkToSnippet(['foo', 'barbar '], 'a', 'bar')) - self.assertEquals('foo \' \'"$a""$a"\' \'', + self.assertEquals( + 'foo \' \'"$a""$a"\' \'', cmd_helper.ShrinkToSnippet(['foo', ' barbar '], 'a', 'bar')) @@ -94,7 +88,6 @@ _DEFAULT = 'DEFAULT' class _ProcessOutputEvent(object): - def __init__(self, select_fds=_DEFAULT, read_contents=None, ts=_DEFAULT): self.select_fds = select_fds self.read_contents = read_contents @@ -102,7 +95,6 @@ class _ProcessOutputEvent(object): class _MockProcess(object): - def __init__(self, output_sequence=None, return_value=0): # Arbitrary. @@ -130,8 +122,7 @@ class _MockProcess(object): # Use an leading element to make the iteration logic work. initial_seq_element = _ProcessOutputEvent( - _DEFAULT, '', - output_sequence[0].ts if output_sequence else _DEFAULT) + _DEFAULT, '', output_sequence[0].ts if output_sequence else _DEFAULT) output_sequence.insert(0, initial_seq_element) for o in output_sequence: @@ -159,10 +150,10 @@ class _MockProcess(object): else: self._output_seq_index += 1 if self._output_seq_index < len(self._output_sequence): - return (self._output_sequence[self._output_seq_index].select_fds, - None, None) + return (self._output_sequence[self._output_seq_index].select_fds, None, + None) else: - return([], None, None) + return ([], None, None) def time_side_effect(*_args, **_kwargs): return self._output_sequence[self._output_seq_index].ts @@ -179,9 +170,9 @@ class _MockProcess(object): # Set up but *do not start* the mocks. self._mocks = [ - mock.patch('os.read', new=mock_read), - mock.patch('select.select', new=mock_select), - mock.patch('time.time', new=mock_time), + mock.patch('os.read', new=mock_read), + mock.patch('select.select', new=mock_select), + mock.patch('time.time', new=mock_time), ] if sys.platform != 'win32': self._mocks.append(mock.patch('fcntl.fcntl')) @@ -204,7 +195,7 @@ class CmdHelperIterCmdOutputLinesTest(unittest.TestCase): # pylint: disable=protected-access _SIMPLE_OUTPUT_SEQUENCE = [ - _ProcessOutputEvent(read_contents='1\n2\n'), + _ProcessOutputEvent(read_contents='1\n2\n'), ] def testIterCmdOutputLines_success(self): @@ -216,25 +207,27 @@ class CmdHelperIterCmdOutputLinesTest(unittest.TestCase): def testIterCmdOutputLines_exitStatusFail(self): with self.assertRaises(subprocess.CalledProcessError): - with _MockProcess(output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, - return_value=1) as mock_proc: + with _MockProcess( + output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, + return_value=1) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc'), 1): self.assertEquals(num, int(line)) # after reading all the output we get an exit status of 1 def testIterCmdOutputLines_exitStatusIgnored(self): - with _MockProcess(output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, - return_value=1) as mock_proc: + with _MockProcess( + output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, + return_value=1) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines( - mock_proc, 'mock_proc', check_status=False), - 1): + mock_proc, 'mock_proc', check_status=False), 1): self.assertEquals(num, int(line)) def testIterCmdOutputLines_exitStatusSkipped(self): - with _MockProcess(output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, - return_value=1) as mock_proc: + with _MockProcess( + output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, + return_value=1) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc'), 1): self.assertEquals(num, int(line)) @@ -245,14 +238,14 @@ class CmdHelperIterCmdOutputLinesTest(unittest.TestCase): def testIterCmdOutputLines_delay(self): output_sequence = [ - _ProcessOutputEvent(read_contents='1\n2\n', ts=1), - _ProcessOutputEvent(read_contents=None, ts=2), - _ProcessOutputEvent(read_contents='Awake', ts=10), + _ProcessOutputEvent(read_contents='1\n2\n', ts=1), + _ProcessOutputEvent(read_contents=None, ts=2), + _ProcessOutputEvent(read_contents='Awake', ts=10), ] with _MockProcess(output_sequence=output_sequence) as mock_proc: for num, line in enumerate( - cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc', - iter_timeout=5), 1): + cmd_helper._IterCmdOutputLines( + mock_proc, 'mock_proc', iter_timeout=5), 1): if num <= 2: self.assertEquals(num, int(line)) elif num == 3: |