diff options
Diffstat (limited to 'catapult/devil/devil/utils/cmd_helper.py')
-rw-r--r-- | catapult/devil/devil/utils/cmd_helper.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/catapult/devil/devil/utils/cmd_helper.py b/catapult/devil/devil/utils/cmd_helper.py index b7b2f0dc..3c4a06ed 100644 --- a/catapult/devil/devil/utils/cmd_helper.py +++ b/catapult/devil/devil/utils/cmd_helper.py @@ -4,6 +4,7 @@ """A wrapper for subprocess to make calling shell commands easier.""" +import codecs import logging import os import pipes @@ -15,11 +16,16 @@ import subprocess import sys import time +from devil import base_error logger = logging.getLogger(__name__) _SafeShellChars = frozenset(string.ascii_letters + string.digits + '@%_-+=:,./') +# Cache the string-escape codec to ensure subprocess can find it +# later. Return value doesn't matter. +codecs.lookup('string-escape') + def SingleQuote(s): """Return an shell-escaped version of the string using single quotes. @@ -231,11 +237,11 @@ def GetCmdStatusOutputAndError(args, cwd=None, shell=False, env=None): return (pipe.returncode, stdout, stderr) -class TimeoutError(Exception): +class TimeoutError(base_error.BaseError): """Module-specific timeout exception.""" def __init__(self, output=None): - super(TimeoutError, self).__init__() + super(TimeoutError, self).__init__('Timeout') self._output = output @property |