diff options
author | Simon Glass <sjg@chromium.org> | 2014-08-28 09:43:39 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2014-09-05 13:40:42 -0600 |
commit | 2c3deb9758c5be1c590bebdd25d8a36d486ea5e9 (patch) | |
tree | 2b844a37225fe82ff992eedcee8c5d21f2395d4b /tools | |
parent | d0c5719d92c85addcd38e1dcc21cbc4cbc0fc6a5 (diff) |
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: York Sun <yorksun@freescale.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/buildman/README | 6 | ||||
-rw-r--r-- | tools/buildman/builder.py | 5 | ||||
-rwxr-xr-x | tools/buildman/buildman.py | 3 | ||||
-rw-r--r-- | tools/buildman/control.py | 9 |
4 files changed, 20 insertions, 3 deletions
diff --git a/tools/buildman/README b/tools/buildman/README index d4e840480a..d20508f089 100644 --- a/tools/buildman/README +++ b/tools/buildman/README @@ -690,6 +690,12 @@ Other options 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 ========================== diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py index a555bd81fc..106fde0a32 100644 --- a/tools/buildman/builder.py +++ b/tools/buildman/builder.py @@ -1031,6 +1031,10 @@ class Builder: value is Board object keep_outputs: True to save build output files 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.commits = commits @@ -1060,3 +1064,4 @@ class Builder: self.out_queue.join() print self.ClearLine(0) + return (self.fail, self.warned) diff --git a/tools/buildman/buildman.py b/tools/buildman/buildman.py index e18859b3d7..fbd31259bf 100755 --- a/tools/buildman/buildman.py +++ b/tools/buildman/buildman.py @@ -136,4 +136,5 @@ elif options.full_help: # Build selected commits for selected boards else: - control.DoBuildman(options, args) + ret_code = control.DoBuildman(options, args) + sys.exit(ret_code) diff --git a/tools/buildman/control.py b/tools/buildman/control.py index 68ea961876..b8a6cbfe2f 100644 --- a/tools/buildman/control.py +++ b/tools/buildman/control.py @@ -94,7 +94,7 @@ def DoBuildman(options, args): if options.list_tool_chains: toolchains.List() print - return + return 0 # 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 @@ -217,5 +217,10 @@ def DoBuildman(options, args): options.show_detail = True builder.ShowSummary(commits, board_selected) else: - builder.BuildBoards(commits, board_selected, + fail, warned = builder.BuildBoards(commits, board_selected, options.keep_outputs, options.verbose) + if fail: + return 128 + elif warned: + return 129 + return 0 |