summaryrefslogtreecommitdiffstatshomepage
path: root/py/makeqstrdefs.py
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2023-10-23 10:39:39 +1100
committerDamien George <damien@micropython.org>2023-10-23 10:39:39 +1100
commitbb4be837c3d439029c5c73928b0369ace8247525 (patch)
treefcb223d5b3b1da6f9391d9c616a6016e92036b5d /py/makeqstrdefs.py
parent91a3f183916e1514fbb8dc58ca5b77acc59d4346 (diff)
downloadmicropython-bb4be837c3d439029c5c73928b0369ace8247525.tar.gz
micropython-bb4be837c3d439029c5c73928b0369ace8247525.zip
py/makeqstrdefs.py: Print a nicer error when preprocessing stage fails.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/makeqstrdefs.py')
-rw-r--r--py/makeqstrdefs.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/py/makeqstrdefs.py b/py/makeqstrdefs.py
index 64249f76ce..57200e069c 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]