Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Side by Side Diff: subprocess2.py

Issue 582933002: Make check_output of subprocess2 compatible with Python's subprocess. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: compatibility typo Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # coding=utf8 1 # coding=utf8
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 """Collection of subprocess wrapper functions. 5 """Collection of subprocess wrapper functions.
6 6
7 In theory you shouldn't need anything else in subprocess, or this module failed. 7 In theory you shouldn't need anything else in subprocess, or this module failed.
8 """ 8 """
9 9
10 import cStringIO 10 import cStringIO
(...skipping 16 matching lines...) Expand all
27 TIMED_OUT = -2001 27 TIMED_OUT = -2001
28 28
29 # Globals. 29 # Globals.
30 # Set to True if you somehow need to disable this hack. 30 # Set to True if you somehow need to disable this hack.
31 SUBPROCESS_CLEANUP_HACKED = False 31 SUBPROCESS_CLEANUP_HACKED = False
32 32
33 33
34 class CalledProcessError(subprocess.CalledProcessError): 34 class CalledProcessError(subprocess.CalledProcessError):
35 """Augment the standard exception with more data.""" 35 """Augment the standard exception with more data."""
36 def __init__(self, returncode, cmd, cwd, stdout, stderr): 36 def __init__(self, returncode, cmd, cwd, stdout, stderr):
37 super(CalledProcessError, self).__init__(returncode, cmd) 37 super(CalledProcessError, self).__init__(returncode, cmd, output=stdout)
38 self.stdout = stdout 38 self.stdout = self.output # for backward compatibility.
39 self.stderr = stderr 39 self.stderr = stderr
40 self.cwd = cwd 40 self.cwd = cwd
41 41
42 def __str__(self): 42 def __str__(self):
43 out = 'Command %s returned non-zero exit status %s' % ( 43 out = 'Command %s returned non-zero exit status %s' % (
44 ' '.join(self.cmd), self.returncode) 44 ' '.join(self.cmd), self.returncode)
45 if self.cwd: 45 if self.cwd:
46 out += ' in ' + self.cwd 46 out += ' in ' + self.cwd
47 return '\n'.join(filter(None, (out, self.stdout, self.stderr))) 47 return '\n'.join(filter(None, (out, self.stdout, self.stderr)))
48 48
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 506
507 - Throws if return code is not 0. 507 - Throws if return code is not 0.
508 - Works even prior to python 2.7. 508 - Works even prior to python 2.7.
509 - Blocks stdin by default if not specified since no output will be visible. 509 - Blocks stdin by default if not specified since no output will be visible.
510 - As per doc, "The stdout argument is not allowed as it is used internally." 510 - As per doc, "The stdout argument is not allowed as it is used internally."
511 """ 511 """
512 kwargs.setdefault('stdin', VOID) 512 kwargs.setdefault('stdin', VOID)
513 if 'stdout' in kwargs: 513 if 'stdout' in kwargs:
514 raise ValueError('stdout argument not allowed, it would be overridden.') 514 raise ValueError('stdout argument not allowed, it would be overridden.')
515 return check_call_out(args, stdout=PIPE, **kwargs)[0] 515 return check_call_out(args, stdout=PIPE, **kwargs)[0]
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698