buildman: Change the exit codes

The current exit codes of 128 and 129 are useful in that they do not
conflict with those returned by tools, but they are not actually valid.
It seems better to pick some codes which work with 'bit bisect run'.

Update them to 100 (for errors) and 101 (for warnings).

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2020-04-09 10:49:45 -06:00
parent a38930e227
commit b1e5e6d224
3 changed files with 9 additions and 9 deletions

View File

@ -1114,15 +1114,15 @@ with -E, e.g. the migration warnings:
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 (only if no -W)
100 Errors found
101 Warnings found (only if no -W)
You can use -W to tell Buildman to return 0 (success) instead of 129 when
You can use -W to tell Buildman to return 0 (success) instead of 101 when
warnings are found. Note that it can be useful to combine -E and -W. This means
that all compiler warnings will produce failures (code 128) and all other
warnings will produce success (since 129 is changed to 0).
that all compiler warnings will produce failures (code 100) and all other
warnings will produce success (since 101 is changed to 0).
If there are both warnings and errors, errors win, so buildman returns 128.
If there are both warnings and errors, errors win, so buildman returns 100.
The -y option is provided (for use with -s) to ignore the bountiful device-tree
warnings. Similarly, -Y tells buildman to ignore the migration warnings.

View File

@ -361,7 +361,7 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
fail, warned = builder.BuildBoards(commits, board_selected,
options.keep_outputs, options.verbose)
if fail:
return 128
return 100
elif warned and not options.ignore_warnings:
return 129
return 101
return 0

View File

@ -454,7 +454,7 @@ class TestFunctional(unittest.TestCase):
# Only sandbox should succeed, the others don't have toolchains
self.assertEqual(self._builder.fail,
self._total_builds - self._commits)
self.assertEqual(ret_code, 128)
self.assertEqual(ret_code, 100)
for commit in range(self._commits):
for board in self._boards.GetList():