Allow python_exec kwarg to be None

processutils.execute() is documented to take a python_exec kwarg and
default to using sys.executable if that argument isn't set.  It is
convenient (and more intuitive) for this behavior to also occur if
the argument is present with value None.

Closes-bug: #1962603
Related-bug: #1962581
Change-Id: I2e1f187feaf4bf9fbfaf04fce78efa0cba49fc07
This commit is contained in:
Brian Rosmaita 2022-03-01 12:50:33 -05:00
parent 95b9334cfa
commit a937c5562f

View File

@ -269,8 +269,8 @@ def execute(*cmd, **kwargs):
below for a detailed description.
:type prlimit: :class:`ProcessLimits`
:param python_exec: The python executable to use for enforcing
prlimits. If this is not set it will default to use
sys.executable.
prlimits. If this is not set or is None, it will
default to use sys.executable.
:type python_exec: string
:param timeout: Timeout (in seconds) to wait for the process
termination. If timeout is reached,
@ -329,7 +329,7 @@ def execute(*cmd, **kwargs):
on_completion = kwargs.pop('on_completion', None)
preexec_fn = kwargs.pop('preexec_fn', None)
prlimit = kwargs.pop('prlimit', None)
python_exec = kwargs.pop('python_exec', sys.executable)
python_exec = kwargs.pop('python_exec', None) or sys.executable
timeout = kwargs.pop('timeout', None)
if isinstance(check_exit_code, bool):