From eb2c26b2c2f3662f489d403ef038944efdd77a85 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Mon, 16 Nov 2020 12:51:49 +0100 Subject: Collect and return clang-format's return code There is no reason why meson should swallow any non-zero exit(/return) code of clang-format. --- mesonbuild/scripts/clangformat.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'mesonbuild') diff --git a/mesonbuild/scripts/clangformat.py b/mesonbuild/scripts/clangformat.py index e7a3ff8..062cb43 100644 --- a/mesonbuild/scripts/clangformat.py +++ b/mesonbuild/scripts/clangformat.py @@ -25,6 +25,7 @@ def clangformat(exelist: T.List[str], srcdir_name: str, builddir_name: str) -> i suffixes = set(lang_suffixes['c']).union(set(lang_suffixes['cpp'])) suffixes.add('h') futures = [] + returncode = 0 with ThreadPoolExecutor() as e: for f in (x for suff in suffixes for x in srcdir.glob('**/*.' + suff)): if f.is_dir(): @@ -32,9 +33,9 @@ def clangformat(exelist: T.List[str], srcdir_name: str, builddir_name: str) -> i strf = str(f) if strf.startswith(builddir_name): continue - futures.append(e.submit(subprocess.check_call, exelist + ['-style=file', '-i', strf])) - [x.result() for x in futures] - return 0 + futures.append(e.submit(subprocess.run, exelist + ['-style=file', '-i', strf])) + returncode = max([x.result().returncode for x in futures]) + return returncode def run(args: T.List[str]) -> int: srcdir_name = args[0] -- cgit v1.1