|
|
|
NAME
|
|
|
|
infer-reportdiff - compute the differences between two infer reports
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
infer reportdiff --report-current file --report-previous file [options]
|
|
|
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
Given two infer reports previous and current, compute the following
|
|
|
|
three reports and store them inside the "differential/" subdirectory
|
|
|
|
of the results directory:
|
|
|
|
- introduced.json contains the issues found in current but not
|
|
|
|
previous;
|
|
|
|
- fixed.json contains the issues found in previous but not current;
|
|
|
|
- preexisting.json contains the issues found in both previous and
|
|
|
|
current.
|
|
|
|
|
|
|
|
All three files follow the same format as normal infer reports.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
--config-impact-current path
|
|
|
|
Config impact report of the latest revision
|
|
|
|
|
|
|
|
--config-impact-max-callees-to-print int
|
|
|
|
Specify the maximum number of unchecked callees to print in the
|
|
|
|
config impact checker
|
|
|
|
|
|
|
|
--config-impact-previous path
|
|
|
|
Config impact report of the base revision to use for comparison
|
|
|
|
|
|
|
|
--cost-tests-only-autoreleasepool
|
|
|
|
Activates: [EXPERIMENTAL] Report only autoreleasepool size results
|
|
|
|
in cost tests (Conversely: --no-cost-tests-only-autoreleasepool)
|
|
|
|
|
|
|
|
--costs-current path
|
|
|
|
Costs report of the latest revision
|
|
|
|
|
|
|
|
--costs-previous path
|
|
|
|
Costs report of the base revision to use for comparison
|
|
|
|
|
|
|
|
--debug,-g
|
|
|
|
Activates: Debug mode (also sets --debug-level 2,
|
make --debug option side-effect free
Summary:
I found it very confusing that running infer with --debug makes the
report to be different.
Intuitively, I expect (and I think majority of users would expect) that
`--debug` makes things more verbose (and potentially more slow / consuming
more memory and disk space), but does not change anything apart from it.
One pro of preserving existing behavior, pointed by jvillard:
- Suppose some check is experimental or disabled in the config. The
users expect the issue to be found, but it does not show up. They run
`infer --debug` to understand the behavior, and suddenly the issue shows
up.
I, hovewer, find this pro not important enough and potentially confusing
the users even more.
(If they want to investigate seriously, they can always use
--no-filtering, and there are a lot of cases when the issue does not
show up for others, much hard to undertand reasons, than the fact that
it is disabled).
Reviewed By: jvillard
Differential Revision: D17113750
fbshipit-source-id: 46cc93503
5 years ago
|
|
|
--developer-mode, --print-buckets, --print-types,
|
|
|
|
--reports-include-ml-loc, --no-only-cheap-debug, --trace-error,
|
|
|
|
--write-html) (Conversely: --no-debug | -G)
|
|
|
|
|
|
|
|
--debug-level level
|
|
|
|
Debug level (sets --bo-debug level, --debug-level-analysis level,
|
|
|
|
--debug-level-capture level, --debug-level-linters level):
|
|
|
|
- 0: only basic debugging enabled
|
|
|
|
- 1: verbose debugging enabled
|
|
|
|
- 2: very verbose debugging enabled
|
|
|
|
|
|
|
|
--debug-level-analysis int
|
|
|
|
Debug level for the analysis. See --debug-level for accepted
|
|
|
|
values.
|
|
|
|
|
|
|
|
--debug-level-capture int
|
|
|
|
Debug level for the capture. See --debug-level for accepted
|
|
|
|
values.
|
|
|
|
|
|
|
|
--debug-level-linters int
|
|
|
|
Debug level for the linters. See --debug-level for accepted
|
|
|
|
values.
|
|
|
|
|
|
|
|
--no-deduplicate
|
|
|
|
Deactivates: Apply issue-specific deduplication during analysis
|
|
|
|
and/or reporting. (Conversely: --deduplicate)
|
|
|
|
|
|
|
|
--file-renamings path
|
|
|
|
JSON with a list of file renamings to use while computing
|
|
|
|
differential reports
|
|
|
|
|
|
|
|
--help
|
|
|
|
Show this manual
|
|
|
|
|
|
|
|
--help-format { auto | groff | pager | plain }
|
|
|
|
Show this help in the specified format. auto sets the format to
|
|
|
|
plain if the environment variable TERM is "dumb" or undefined, and
|
|
|
|
to pager otherwise.
|
|
|
|
|
|
|
|
--help-full
|
|
|
|
Show this manual with all internal options in the INTERNAL OPTIONS
|
|
|
|
section
|
|
|
|
|
|
|
|
--report-current path
|
|
|
|
report of the latest revision
|
|
|
|
|
|
|
|
--report-previous path
|
|
|
|
Report of the base revision to use for comparison
|
|
|
|
|
|
|
|
--no-skip-duplicated-types
|
|
|
|
Deactivates: Skip fixed-then-introduced duplicated types while
|
|
|
|
computing differential reports (Conversely:
|
|
|
|
--skip-duplicated-types)
|
|
|
|
|
|
|
|
|
|
|
|
ENVIRONMENT
|
|
|
|
INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE
|
|
|
|
See the ENVIRONMENT section in the manual of infer(1).
|
|
|
|
|
|
|
|
FILES
|
|
|
|
.inferconfig
|
|
|
|
See the FILES section in the manual of infer(1).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
infer-report(1)
|
|
|
|
|
|
|
|
|
|
|
|
|