mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-01-31 10:11:17 +00:00
Better error reporting for subprocess.CalledProcessError
This commit is contained in:
parent
1d67dd3b99
commit
85eba9c37a
@ -17,6 +17,7 @@
|
|||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
|
import subprocess
|
||||||
|
|
||||||
from wlauto.core.bootstrap import settings
|
from wlauto.core.bootstrap import settings
|
||||||
from wlauto.core.extension_loader import ExtensionLoader
|
from wlauto.core.extension_loader import ExtensionLoader
|
||||||
@ -64,15 +65,24 @@ def main():
|
|||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
logging.info('Got CTRL-C. Aborting.')
|
logging.info('Got CTRL-C. Aborting.')
|
||||||
sys.exit(3)
|
sys.exit(3)
|
||||||
except WAError, e:
|
except WAError as e:
|
||||||
logging.critical(e)
|
logging.critical(e)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
tb = get_traceback()
|
||||||
|
logging.critical(tb)
|
||||||
|
command = e.cmd
|
||||||
|
if e.args:
|
||||||
|
command = '{} {}'.format(command, ' '.join(e.args))
|
||||||
|
message = 'Command \'{}\' returned non-zero exit status {}\nOUTPUT:\n{}\n'
|
||||||
|
logging.critical(message.format(command, e.returncode, e.output))
|
||||||
|
sys.exit(2)
|
||||||
except SyntaxError as e:
|
except SyntaxError as e:
|
||||||
|
tb = get_traceback()
|
||||||
|
logging.critical(tb)
|
||||||
message = 'Syntax Error in {}, line {}, offset {}:'
|
message = 'Syntax Error in {}, line {}, offset {}:'
|
||||||
logging.critical(message.format(e.filename, e.lineno, e.offset))
|
logging.critical(message.format(e.filename, e.lineno, e.offset))
|
||||||
logging.critical('\t{}'.format(e.msg))
|
logging.critical('\t{}'.format(e.msg))
|
||||||
tb = get_traceback()
|
|
||||||
logging.critical(tb)
|
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
except Exception as e: # pylint: disable=broad-except
|
except Exception as e: # pylint: disable=broad-except
|
||||||
tb = get_traceback()
|
tb = get_traceback()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user