diff options
author | RĂ©mi Lapeyre <remi.lapeyre@henki.fr> | 2019-06-08 14:56:24 (GMT) |
---|---|---|
committer | Gregory P. Smith <greg@krypto.org> | 2019-06-08 14:56:24 (GMT) |
commit | 8cc605acdda5aff250ab4c9b524a7560f90ca9f3 (patch) | |
tree | 289a9ad54d3c8005f3149eab5e373c45c8500577 /Lib/subprocess.py | |
parent | a15a7bcaea54e1845ab2abe27e6f583294cd715b (diff) | |
download | cpython-8cc605acdda5aff250ab4c9b524a7560f90ca9f3.zip cpython-8cc605acdda5aff250ab4c9b524a7560f90ca9f3.tar.gz cpython-8cc605acdda5aff250ab4c9b524a7560f90ca9f3.tar.bz2 |
bpo-34886: Fix subprocess.run handling of exclusive arguments (GH-11727)
Fix an unintended ValueError from :func:`subprocess.run` when checking for
conflicting `input` and `stdin` or `capture_output` and `stdout` or `stderr` args
when they were explicitly provided but with `None` values within a passed in
`**kwargs` dict rather than as passed directly by name.
Diffstat (limited to 'Lib/subprocess.py')
-rw-r--r-- | Lib/subprocess.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Lib/subprocess.py b/Lib/subprocess.py index 9e36b9d..d34c578 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -459,12 +459,12 @@ def run(*popenargs, The other arguments are the same as for the Popen constructor. """ if input is not None: - if 'stdin' in kwargs: + if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: - if ('stdout' in kwargs) or ('stderr' in kwargs): + if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE |