diff options
author | Jeremy Bettis <jbettis@google.com> | 2021-04-08 17:33:17 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-04-09 00:31:01 +0000 |
commit | f1d171c416ce1c1dcc009e412ff6d453813e3962 (patch) | |
tree | 568f888f9189f3f75727af53af2555910a31fa73 | |
parent | d72a916c069d72e4804e7cc04f462727f6497ed5 (diff) | |
download | chrome-ec-f1d171c416ce1c1dcc009e412ff6d453813e3962.tar.gz |
zephyr: Wait for zmake logging even on error
When zmake fails, some of the logging of subprocesses can be lost. Call
multiproc.wait_for_log_end() even if the subcommand raises an error.
BUG=b:184298184
TEST=Wrote a test that doesn't compile, then
cros workon --host start chromeos-base/zephyr-build-tools
sudo emerge chromeos-base/zephyr-build-tools
zmake -j 1 configure --test zephyr/test/drivers
BRANCH=none
Change-Id: If7799c1cc6f50a0d4602f7bc931d51abf95d00f2
Signed-off-by: Jeremy Bettis <jbettis@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2815244
Tested-by: Jeremy Bettis <jbettis@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
-rw-r--r-- | zephyr/zmake/zmake/__main__.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/zephyr/zmake/zmake/__main__.py b/zephyr/zmake/zmake/__main__.py index 3eb599c921..8dfc57eede 100644 --- a/zephyr/zmake/zmake/__main__.py +++ b/zephyr/zmake/zmake/__main__.py @@ -134,11 +134,13 @@ def main(argv=None): if not opts.debug: sys.tracebacklimit = 0 - zmake = call_with_namespace(zm.Zmake, opts) - subcommand_method = getattr(zmake, opts.subcommand.replace('-', '_')) - result = call_with_namespace(subcommand_method, opts) - multiproc.wait_for_log_end() - return result + try: + zmake = call_with_namespace(zm.Zmake, opts) + subcommand_method = getattr(zmake, opts.subcommand.replace('-', '_')) + result = call_with_namespace(subcommand_method, opts) + return result + finally: + multiproc.wait_for_log_end() if __name__ == '__main__': |