mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Use a marker instead of a string so it can be distingished when used as stdin.
R=dpranke@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/6840053 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81941 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
@@ -21,7 +21,7 @@ import threading
|
||||
PIPE = subprocess.PIPE
|
||||
STDOUT = subprocess.STDOUT
|
||||
# Sends stdout or stderr to os.devnull.
|
||||
VOID = '/dev/null'
|
||||
VOID = object()
|
||||
# Error code when a process was killed because it timed out.
|
||||
TIMED_OUT = -2001
|
||||
|
||||
@@ -203,10 +203,14 @@ def call(args, timeout=None, **kwargs):
|
||||
"""
|
||||
stdin = kwargs.pop('stdin', None)
|
||||
if stdin is not None:
|
||||
assert stdin != PIPE
|
||||
# When stdin is passed as an argument, use it as the actual input data and
|
||||
# set the Popen() parameter accordingly.
|
||||
kwargs['stdin'] = PIPE
|
||||
if stdin is VOID:
|
||||
kwargs['stdin'] = open(os.devnull, 'r')
|
||||
stdin = None
|
||||
else:
|
||||
assert isinstance(stdin, str)
|
||||
# When stdin is passed as an argument, use it as the actual input data and
|
||||
# set the Popen() parameter accordingly.
|
||||
kwargs['stdin'] = PIPE
|
||||
|
||||
if not timeout:
|
||||
# Normal workflow.
|
||||
|
||||
Reference in New Issue
Block a user