提交 2c3deb97 编写于 作者: S Simon Glass

buildman: Set the return code to indicate build result

When buildman finds errors/warnings when building, set the return code to
indicate this.
Suggested-by: NYork Sun <yorksun@freescale.com>
Signed-off-by: NSimon Glass <sjg@chromium.org>
上级 d0c5719d
...@@ -690,6 +690,12 @@ Other options ...@@ -690,6 +690,12 @@ Other options
Buildman has various other command line options. Try --help to see them. Buildman has various other command line options. Try --help to see them.
When doing builds, Buildman's return code will reflect the overall result:
0 (success) No errors or warnings found
128 Errors found
129 Warnings found
How to change from MAKEALL How to change from MAKEALL
========================== ==========================
......
...@@ -1031,6 +1031,10 @@ class Builder: ...@@ -1031,6 +1031,10 @@ class Builder:
value is Board object value is Board object
keep_outputs: True to save build output files keep_outputs: True to save build output files
verbose: Display build results as they are completed verbose: Display build results as they are completed
Returns:
Tuple containing:
- number of boards that failed to build
- number of boards that issued warnings
""" """
self.commit_count = len(commits) if commits else 1 self.commit_count = len(commits) if commits else 1
self.commits = commits self.commits = commits
...@@ -1060,3 +1064,4 @@ class Builder: ...@@ -1060,3 +1064,4 @@ class Builder:
self.out_queue.join() self.out_queue.join()
print print
self.ClearLine(0) self.ClearLine(0)
return (self.fail, self.warned)
...@@ -136,4 +136,5 @@ elif options.full_help: ...@@ -136,4 +136,5 @@ elif options.full_help:
# Build selected commits for selected boards # Build selected commits for selected boards
else: else:
control.DoBuildman(options, args) ret_code = control.DoBuildman(options, args)
sys.exit(ret_code)
...@@ -94,7 +94,7 @@ def DoBuildman(options, args): ...@@ -94,7 +94,7 @@ def DoBuildman(options, args):
if options.list_tool_chains: if options.list_tool_chains:
toolchains.List() toolchains.List()
print print
return return 0
# Work out how many commits to build. We want to build everything on the # Work out how many commits to build. We want to build everything on the
# branch. We also build the upstream commit as a control so we can see # branch. We also build the upstream commit as a control so we can see
...@@ -217,5 +217,10 @@ def DoBuildman(options, args): ...@@ -217,5 +217,10 @@ def DoBuildman(options, args):
options.show_detail = True options.show_detail = True
builder.ShowSummary(commits, board_selected) builder.ShowSummary(commits, board_selected)
else: else:
builder.BuildBoards(commits, board_selected, fail, warned = builder.BuildBoards(commits, board_selected,
options.keep_outputs, options.verbose) options.keep_outputs, options.verbose)
if fail:
return 128
elif warned:
return 129
return 0
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册