aboutsummaryrefslogtreecommitdiff
path: root/catapult/devil/devil/utils/cmd_helper_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/devil/devil/utils/cmd_helper_test.py')
-rwxr-xr-xcatapult/devil/devil/utils/cmd_helper_test.py91
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: