From bb4be837c3d439029c5c73928b0369ace8247525 Mon Sep 17 00:00:00 2001 From: Damien George Date: Mon, 23 Oct 2023 10:39:39 +1100 Subject: [PATCH] py/makeqstrdefs.py: Print a nicer error when preprocessing stage fails. Signed-off-by: Damien George --- py/makeqstrdefs.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/py/makeqstrdefs.py b/py/makeqstrdefs.py index 64249f76c..57200e069 100644 --- a/py/makeqstrdefs.py +++ b/py/makeqstrdefs.py @@ -28,6 +28,10 @@ _MODE_MODULE = "module" _MODE_ROOT_POINTER = "root_pointer" +class PreprocessorError(Exception): + pass + + def is_c_source(fname): return os.path.splitext(fname)[1] in [".c"] @@ -57,7 +61,10 @@ def preprocess(): def pp(flags): def run(files): - return subprocess.check_output(args.pp + flags + files) + try: + return subprocess.check_output(args.pp + flags + files) + except subprocess.CalledProcessError as er: + raise PreprocessorError(str(er)) return run @@ -208,7 +215,12 @@ if __name__ == "__main__": for k, v in named_args.items(): setattr(args, k, v) - preprocess() + try: + preprocess() + except PreprocessorError as er: + print(er) + sys.exit(1) + sys.exit(0) args.mode = sys.argv[2]