aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorFlorian Schmaus <flo@geekplace.eu>2020-11-16 12:51:49 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2020-11-17 17:51:07 +0200
commiteb2c26b2c2f3662f489d403ef038944efdd77a85 (patch)
treee5ba6b871f7fea3fb2a117eaf42d76f6d9f4b34d /mesonbuild
parent8bc656cccb2df30ab463699ebb8ad0a5c759ad17 (diff)
downloadmeson-eb2c26b2c2f3662f489d403ef038944efdd77a85.zip
meson-eb2c26b2c2f3662f489d403ef038944efdd77a85.tar.gz
meson-eb2c26b2c2f3662f489d403ef038944efdd77a85.tar.bz2
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.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/scripts/clangformat.py7
1 files changed, 4 insertions, 3 deletions
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]