The code for _run() (called by run()) in server/host/ssh_host.py:
result = utils.run(full_cmd, timeout, True, stdout, stderr,
verbose=False, stdin=stdin,
stderr_is_expected=ignore_status,
ignore_timeout=ignore_timeout)
This confuses me, and may be wrong. From client/common_lib/base_utils.py:
@param stderr_is_expected: if True, stderr will be logged at the same level
as stdout
so that parameter only impacts logging. If ignore_status is True (which cannot happen when called by ssh_host._run()), the call will return the status of the command, otherwise it will throw an exception when the status is non-zero. Ssh_host.run() accepts the keyword parameter ignore_status, but doesn't document it.
Comment 1 by semenzato@chromium.org
, Mar 4 2017