summaryrefslogtreecommitdiff
path: root/zephyr/zmake/zmake/zmake.py
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-04-20 17:51:48 +0000
committerCommit Bot <commit-bot@chromium.org>2021-05-07 19:20:14 +0000
commitde4cd0ce0cd056e3efd55376594bb16f5760daef (patch)
tree9dc81d2c902fc2e87efa6959523e10ed380d0a15 /zephyr/zmake/zmake/zmake.py
parente981b032ff108202832fd60ee09e29d5b97c4375 (diff)
downloadchrome-ec-de4cd0ce0cd056e3efd55376594bb16f5760daef.tar.gz
Reland "zephyr: zmake: Ensure all output is produced"
This partially reverts commit 5bc4134337bdabd601159bce047306c73f13e8f8. Reason for revert: Seeing if this can be landed now I removed test_filter_debug() from this CL, since it has already been submitted with a full check of the output. Original change's description: > Revert "zephyr: zmake: Ensure all output is produced" > > This reverts commit ee4257735632f5453b9377f9f60f5c68f6917537. > > Reason for revert: depends on CL:2807486, which is responsible for CQ > failures (crbug.com/1198472). > > BUG=chromium:1198472 > BRANCH=none > TEST=pytest zephyr/zmake/test > > Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> > Change-Id: I5face75f3e59858b68a0b6e77d5c5b1a9881008a > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2823547 > Reviewed-by: Sonny Rao <sonnyrao@chromium.org> BUG=b:184298184, chromium:1198472 BRANCH=none TEST=(cd zephyr/zmake/; python3 -m pytest tests/*.py -v -k test_filter) Change-Id: I0a02d32234d871ba45833eaaab0e979b28257ca8 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2841023 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
Diffstat (limited to 'zephyr/zmake/zmake/zmake.py')
-rw-r--r--zephyr/zmake/zmake/zmake.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/zephyr/zmake/zmake/zmake.py b/zephyr/zmake/zmake/zmake.py
index a5141da99d..c65c5df90b 100644
--- a/zephyr/zmake/zmake/zmake.py
+++ b/zephyr/zmake/zmake/zmake.py
@@ -299,9 +299,18 @@ class Zmake:
True if all if OK
False if an error was found (so that zmake should exit)
"""
+ # Let all output be produced before exiting
+ bad = None
for proc in procs:
- if proc.wait():
- raise OSError(get_process_failure_msg(proc))
+ if proc.wait() and not bad:
+ bad = proc
+ if bad:
+ # Just show the first bad process for now. Both builds likely
+ # produce the same error anyway. If they don't, the user can
+ # still take action on the errors/warnings provided. Showing
+ # multiple 'Execution failed' messages is not very friendly
+ # since it exposes the fragmented nature of the build.
+ raise OSError(get_process_failure_msg(bad))
if (fail_on_warnings and
any(w.has_written(logging.WARNING) or