Skip to content

Diff in the GUI and the the command line does not work the same way #3675

@dkrupp

Description

@dkrupp

In CodeChecker pre-6.20 master.

Diff in the GUI and in the command line should behave the same

comparison modes:
List reports that can be found only in baseline or new runs or in both. False positive and intentional reports are considered as resolved, i.e. these are excluded from the report set as if they were not reported.

--new Show results that didn't exist in the 'base' but
appear in the 'new' run.
--resolved Show results that existed in the 'base' but
disappeared from the 'new' run.
--unresolved Show results that appear in both the 'base' and the
'new' run.

This has the same definition as on the GUI:

-only in baseline == resolved
-only in compareto == new
-both in baseline and compareto == unresolved

Run-A (baseline):
report-a
report-b
report-c
//codechecker_suppress report-e
report-f //suppressed in GUI

Run-B:
report-a
report-b //fixed in the code
//codechecker_suppress report-c
report-d
//codechecker_suppress report-e
report-f

--
diff A (on server), B (on disk)

new (only in B): d
resolved (only in A): b, c
unresolved (both in A and B): a
neither: e, f

The diff in the command line and the GUI does not behave the same!

CodeChecker cmd diff -n ./build/RUN-B -b RUN-A --url http://localhost:8999/Default --new

new:
Correct. The same result: d

resolved:
in the command line: b, c (as expected)
in the GUI: only b is shown, but not report-c

unresolved (both):
The CMD line is correct.
The GUI is wrongly showing: report-c, report-f, report-e

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions