diff mbox series

[14/20] buildman: Allow ignoring warnings in the return code

Message ID 20200307030734.237401-10-sjg@chromium.org
State Superseded
Headers show
Series gitlab: Simplify the test script | expand

Commit Message

Simon Glass March 7, 2020, 3:07 a.m. UTC
Sometimes we don't want to get an error with warnings. Add a -W option to
support this. If buildman detects warnings (and no error) it will return
an exit code of 0 (success).

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 tools/buildman/README     | 2 +-
 tools/buildman/cmdline.py | 2 ++
 tools/buildman/control.py | 2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/tools/buildman/README b/tools/buildman/README
index abbbbea9f2..87bd8ee9d7 100644
--- a/tools/buildman/README
+++ b/tools/buildman/README
@@ -1079,7 +1079,7 @@  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
+    129             Warnings found (use -W to return 0 in this case)
 
 
 How to change from MAKEALL
diff --git a/tools/buildman/cmdline.py b/tools/buildman/cmdline.py
index 74b410010d..f387aeb1cf 100644
--- a/tools/buildman/cmdline.py
+++ b/tools/buildman/cmdline.py
@@ -108,6 +108,8 @@  def ParseArgs():
           default=False, help='Run make with V=1, logging all output')
     parser.add_option('-w', '--work-in-output', action='store_true',
           default=False, help='Use the output directory as the work directory')
+    parser.add_option('-W', '--ignore-warnings', action='store_true',
+          default=False, help='Return success even if there are warnings')
     parser.add_option('-x', '--exclude', dest='exclude',
           type='string', action='append',
           help='Specify a list of boards to exclude, separated by comma')
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index 5d80400f7a..ded4360250 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -386,6 +386,6 @@  def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
                                 options.keep_outputs, options.verbose)
             if fail:
                 return 128
-            elif warned:
+            elif warned and not options.ignore_warnings:
                 return 129
     return 0