| Index: gclient_utils.py
|
| diff --git a/gclient_utils.py b/gclient_utils.py
|
| index cf2cedec5b01284653a96f57061af0dc95dce95a..04767974e1bea980270f3d9a8dffd8a73934a9f6 100644
|
| --- a/gclient_utils.py
|
| +++ b/gclient_utils.py
|
| @@ -43,6 +43,18 @@ class CheckCallError(OSError, Error):
|
| self.stdout = stdout
|
| self.stderr = stderr
|
|
|
| + def __str__(self):
|
| + out = ' '.join(self.command)
|
| + if self.cwd:
|
| + out += ' in ' + self.cwd
|
| + if self.returncode is not None:
|
| + out += ' returned %d' % self.returncode
|
| + if self.stdout is not None:
|
| + out += '\nstdout: %s\n' % self.stdout
|
| + if self.stderr is not None:
|
| + out += '\nstderr: %s\n' % self.stderr
|
| + return out
|
| +
|
|
|
| def Popen(args, **kwargs):
|
| """Calls subprocess.Popen() with hacks to work around certain behaviors.
|
| @@ -330,7 +342,7 @@ def CheckCallAndFilter(args, stdout=None, filter_fn=None,
|
| filter_fn(in_line)
|
| rv = kid.wait()
|
| if rv:
|
| - raise Error('failed to run command: %s' % ' '.join(args))
|
| + raise CheckCallError(args, kwargs.get('cwd', None), rv, None)
|
| return 0
|
|
|
|
|
|
|