[v2,28/28] buildman: Change the exit codes

Message ID 20200409150841.v2.28.I0537c150284b8c2f8dae5bb03de8f5be2c8cb1d3@changeid
State New
Headers show
Series
  • buildman: Improve summary output
Related show

Commit Message

Simon Glass April 9, 2020, 9:08 p.m.
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 at chromium.org>
---

Changes in v2:
- Add new patch to change the exit codes

 tools/buildman/README     | 12 ++++++------
 tools/buildman/control.py |  4 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)

Comments

sjg at google.com April 17, 2020, 11:29 p.m. | #1
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 at chromium.org>
---

Changes in v2:
- Add new patch to change the exit codes

 tools/buildman/README     | 12 ++++++------
 tools/buildman/control.py |  4 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)

Applied to u-boot-dm, thanks!

Patch

diff --git a/tools/buildman/README b/tools/buildman/README
index cb565b551f8..f3a0dc7288d 100644
--- a/tools/buildman/README
+++ b/tools/buildman/README
@@ -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.
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index 07f47a54454..30c030fd16e 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -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