forked from Mirror/pmbootstrap
pmb.helpers.run_core: move error to extra func (MR 1996)
Extract the error check to a separate function so that it can be reused.
This commit is contained in:
parent
45dbeca587
commit
705b71d89e
1 changed files with 19 additions and 5 deletions
|
@ -203,6 +203,23 @@ def foreground_tui(cmd, working_dir=None):
|
||||||
return process.wait()
|
return process.wait()
|
||||||
|
|
||||||
|
|
||||||
|
def check_return_code(args, code, log_message):
|
||||||
|
"""
|
||||||
|
Check the return code of a command.
|
||||||
|
|
||||||
|
:param code: exit code to check
|
||||||
|
:param log_message: simplified and more readable form of the command, e.g.
|
||||||
|
"(native) % echo test" instead of the full command with
|
||||||
|
entering the chroot and more escaping
|
||||||
|
:raises RuntimeError: when the code indicates that the command failed
|
||||||
|
"""
|
||||||
|
if code:
|
||||||
|
logging.debug("^" * 70)
|
||||||
|
logging.info("NOTE: The failed command's output is above the ^^^ line"
|
||||||
|
" in the log file: " + args.log)
|
||||||
|
raise RuntimeError("Command failed: " + log_message)
|
||||||
|
|
||||||
|
|
||||||
def core(args, log_message, cmd, working_dir=None, output="log",
|
def core(args, log_message, cmd, working_dir=None, output="log",
|
||||||
output_return=False, check=None, kill_as_root=False, disable_timeout=False):
|
output_return=False, check=None, kill_as_root=False, disable_timeout=False):
|
||||||
"""
|
"""
|
||||||
|
@ -295,11 +312,8 @@ def core(args, log_message, cmd, working_dir=None, output="log",
|
||||||
kill_as_root)
|
kill_as_root)
|
||||||
|
|
||||||
# Check the return code
|
# Check the return code
|
||||||
if code and check is not False:
|
if check is not False:
|
||||||
logging.debug("^" * 70)
|
check_return_code(args, code, log_message)
|
||||||
logging.info("NOTE: The failed command's output is above the ^^^ line"
|
|
||||||
" in the log file: " + args.log)
|
|
||||||
raise RuntimeError("Command failed: " + log_message)
|
|
||||||
|
|
||||||
# Return (code or output string)
|
# Return (code or output string)
|
||||||
return output_after_run if output_return else code
|
return output_after_run if output_return else code
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue