summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.m@jp.panasonic.com>2014-08-16 00:59:26 +0900
committerTom Rini <trini@ti.com>2014-08-21 12:01:11 -0400
commit31e2141d5ad76b55e4e34ee7241adc1c3d9ef099 (patch)
tree59661ae5e29aea1057b1a669d54d70f88edb6615
parent6933b5c9f3b6844b5fc3b81b3c8157cb17eaea3e (diff)
downloadtalos-obmc-uboot-31e2141d5ad76b55e4e34ee7241adc1c3d9ef099.tar.gz
talos-obmc-uboot-31e2141d5ad76b55e4e34ee7241adc1c3d9ef099.zip
tools, scripts: refactor error-out statements of Python scripts
In Python, sys.exit() function can also take an object other than an integer. If an integer is given to the argument, Python exits with the return code of it. If a non-integer argument is given, Python outputs it to stderr and exits with the return code of 1. That means, print >> sys.stderr, "Blah Blah" sys.exit(1) is equivalent to sys.exit("Blah Blah") The latter is a useful shorthand. Note: Some error messages in Buildman and Patman were output to stdout. But they should go to stderr. They are also fixed by this commit. This is a nice side effect. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
-rwxr-xr-xscripts/mailmapper3
-rwxr-xr-xscripts/multiconfig.py7
-rw-r--r--tools/buildman/control.py15
-rwxr-xr-xtools/genboardscfg.py16
-rw-r--r--tools/patman/checkpatch.py5
-rwxr-xr-xtools/patman/patman.py3
6 files changed, 15 insertions, 34 deletions
diff --git a/scripts/mailmapper b/scripts/mailmapper
index dd1ddf6a71..922ada6f5f 100755
--- a/scripts/mailmapper
+++ b/scripts/mailmapper
@@ -59,8 +59,7 @@ MIN_COMMITS = 50
try:
toplevel = subprocess.check_output(['git', 'rev-parse', '--show-toplevel'])
except subprocess.CalledProcessError:
- print >> sys.stderr, 'Please run in a git repository.'
- sys.exit(1)
+ sys.exit('Please run in a git repository.')
# strip '\n'
toplevel = toplevel.rstrip()
diff --git a/scripts/multiconfig.py b/scripts/multiconfig.py
index 749abcb7a5..69a470e51f 100755
--- a/scripts/multiconfig.py
+++ b/scripts/multiconfig.py
@@ -194,11 +194,6 @@ def rmdirs(*dirs):
exception.errno != errno.ENOTEMPTY:
raise
-def error(msg):
- """Output the given argument to stderr and exit with return code 1."""
- print >> sys.stderr, msg
- sys.exit(1)
-
def run_command(command, callback_on_error=None):
"""Run the given command in a sub-shell (and exit if it fails).
@@ -211,7 +206,7 @@ def run_command(command, callback_on_error=None):
if retcode:
if callback_on_error:
callback_on_error()
- error("'%s' Failed" % command)
+ sys.exit("'%s' Failed" % command)
def run_make_config(cmd, objdir, callback_on_error=None):
"""Run the make command in a sub-shell (and exit if it fails).
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index 98a07a29e7..d98e50ac1f 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -110,15 +110,13 @@ def DoBuildman(options, args):
if count is None:
str = ("Branch '%s' not found or has no upstream" %
options.branch)
- print col.Color(col.RED, str)
- sys.exit(1)
+ sys.exit(col.Color(col.RED, str))
count += 1 # Build upstream commit also
if not count:
str = ("No commits found to process in branch '%s': "
"set branch's upstream or use -c flag" % options.branch)
- print col.Color(col.RED, str)
- sys.exit(1)
+ sys.exit(col.Color(col.RED, str))
# Work out what subset of the boards we are building
board_file = os.path.join(options.git, 'boards.cfg')
@@ -127,16 +125,14 @@ def DoBuildman(options, args):
status = subprocess.call([os.path.join(options.git,
'tools/genboardscfg.py')])
if status != 0:
- print >> sys.stderr, "Failed to generate boards.cfg"
- sys.exit(1)
+ sys.exit("Failed to generate boards.cfg")
boards = board.Boards()
boards.ReadBoards(os.path.join(options.git, 'boards.cfg'))
why_selected = boards.SelectBoards(args)
selected = boards.GetSelected()
if not len(selected):
- print col.Color(col.RED, 'No matching boards found')
- sys.exit(1)
+ sys.exit(col.Color(col.RED, 'No matching boards found'))
# Read the metadata from the commits. First look at the upstream commit,
# then the ones in the branch. We would like to do something like
@@ -182,8 +178,7 @@ def DoBuildman(options, args):
gnu_make = command.Output(os.path.join(options.git,
'scripts/show-gnu-make')).rstrip()
if not gnu_make:
- print >> sys.stderr, 'GNU Make not found'
- sys.exit(1)
+ sys.exit('GNU Make not found')
# Create a new builder with the selected options
if options.branch:
diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py
index 734d90b5e5..99e4e872fc 100755
--- a/tools/genboardscfg.py
+++ b/tools/genboardscfg.py
@@ -77,16 +77,14 @@ def check_top_directory():
"""Exit if we are not at the top of source directory."""
for f in ('README', 'Licenses'):
if not os.path.exists(f):
- print >> sys.stderr, 'Please run at the top of source directory.'
- sys.exit(1)
+ sys.exit('Please run at the top of source directory.')
def get_make_cmd():
"""Get the command name of GNU Make."""
process = subprocess.Popen([SHOW_GNU_MAKE], stdout=subprocess.PIPE)
ret = process.communicate()
if process.returncode:
- print >> sys.stderr, 'GNU Make not found'
- sys.exit(1)
+ sys.exit('GNU Make not found')
return ret[0].rstrip()
### classes ###
@@ -209,9 +207,7 @@ class DotConfigParser:
# sanity check of '.config' file
for field in self.must_fields:
if not field in fields:
- print >> sys.stderr, 'Error: %s is not defined in %s' % \
- (field, defconfig)
- sys.exit(1)
+ sys.exit('Error: %s is not defined in %s' % (field, defconfig))
# fix-up for aarch64 and tegra
if fields['arch'] == 'arm' and 'cpu' in fields:
@@ -455,8 +451,7 @@ def __gen_boards_cfg(jobs):
# wait until the reformat tool finishes
reformat_process.communicate()
if reformat_process.returncode != 0:
- print >> sys.stderr, '"%s" failed' % REFORMAT_CMD[0]
- sys.exit(1)
+ sys.exit('"%s" failed' % REFORMAT_CMD[0])
def gen_boards_cfg(jobs):
"""Generate boards.cfg file.
@@ -489,8 +484,7 @@ def main():
try:
jobs = int(options.jobs)
except ValueError:
- print >> sys.stderr, 'Option -j (--jobs) takes a number'
- sys.exit(1)
+ sys.exit('Option -j (--jobs) takes a number')
else:
try:
jobs = int(subprocess.Popen(['getconf', '_NPROCESSORS_ONLN'],
diff --git a/tools/patman/checkpatch.py b/tools/patman/checkpatch.py
index 0d4e935244..34a3bd22b0 100644
--- a/tools/patman/checkpatch.py
+++ b/tools/patman/checkpatch.py
@@ -34,9 +34,8 @@ def FindCheckPatch():
return fname
path = os.path.dirname(path)
- print >> sys.stderr, ('Cannot find checkpatch.pl - please put it in your ' +
- '~/bin directory or use --no-check')
- sys.exit(1)
+ sys.exit('Cannot find checkpatch.pl - please put it in your ' +
+ '~/bin directory or use --no-check')
def CheckPatch(fname, verbose=False):
"""Run checkpatch.pl on a file.
diff --git a/tools/patman/patman.py b/tools/patman/patman.py
index c60aa5a1c4..ba5dc91315 100755
--- a/tools/patman/patman.py
+++ b/tools/patman/patman.py
@@ -122,8 +122,7 @@ else:
col = terminal.Color()
if not options.count:
str = 'No commits found to process - please use -c flag'
- print col.Color(col.RED, str)
- sys.exit(1)
+ sys.exit(col.Color(col.RED, str))
# Read the metadata from the commits
if options.count:
OpenPOWER on IntegriCloud