Ament uncrustify crashes on certain failure conditions with messy output and the eventual error message TypeError: 'int' object is not iterable
This is due to expecting invoke_uncrustify to return a list of files, though sometimes it returns an integer return code.
Further, the stack trace is omitted and the error message is duplicated in main.py (so you can't tell which subprocess call failed) and if there is any output from the failed subprocess, it is unclear what that output is.
Ament uncrustify crashes on certain failure conditions with messy output and the eventual error message
TypeError: 'int' object is not iterable
This is due to expecting
invoke_uncrustify
to return a list of files, though sometimes it returns an integer return code.Further, the stack trace is omitted and the error message is duplicated in main.py (so you can't tell which subprocess call failed) and if there is any output from the failed subprocess, it is unclear what that output is.
https://github.com/ament/ament_lint/blob/b8b66ca0bb91fea492b202efa2d761de07569763/ament_uncrustify/ament_uncrustify/main.py#L128-L130