diff options
Diffstat (limited to 'tools/buildman')
-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 d4e8404..d20508f 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 a555bd8..106fde0 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 e18859b..fbd3125 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 68ea961..b8a6cbf 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 |