Update FBInfer for new tool support and improved parsing.
Review Request #11773 — Created Aug. 10, 2021 and submitted — Latest diff uploaded
FBInferToolto subclass the newer
BaseTool, and to use
the newer features it offers (dependencies, improved file extension
handling, centralized base command building, and new comment options).
A lot of the code is now better organized, leveraging these new tool
features. Report parsing is a bit more consistent now, with results
being sorted by filename, line number, and then column number.
Most of FBInfer is straight-forward, but when using the CMake build
type, there is an extra "compile" step that generates a Makefile and
switches the build type to "make".
If working with a multi-file build type, the command will be run in
handle_files(), and the resulting report loaded.
If working with a single-file build type,
over, generating reports for each file, and combining all reports into a
In either case, the result is a report.
that, adding comments to the report.
Unit tests were added for single and multi-file builds and for the
special CMake compilation step.
All unit tests pass on Python 2 and 3.