Update FBInfer for new tool support and improved parsing.
Review Request #11773 — Created Aug. 10, 2021 and submitted
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.