Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[analyzer] Cppcheck support #3680

Merged
merged 21 commits into from
Aug 19, 2022
Merged

[analyzer] Cppcheck support #3680

merged 21 commits into from
Aug 19, 2022

Commits on Aug 9, 2022

  1. [analyzer] Cppcheck support

    This commit adds support for the Cppcheck analyzer.
    
    The following two commits are also squashed into this:
    * [test] Add new test cases for Cppcheck support
    * [analyzer] Check version compatibility
    
    This commit is the resurrection of works made by Márton Csordás.
    The original pull request Ericsson#2290 had three more refactoring related change
    sets which were omitted in this. Some changes were added in compared to
    the original commits:
    * The Cppcheck report converter is used to get the results in the
    result_handler.
    * The hash calculation logic has been uplifted to the latest one.
    * Some small small compatibility changes were added because of the
    changes in the code base.
    
    Co-authored-by: bruntib <bruntib@users.noreply.github.com>
    Co-authored-by: vodorok <vodorok@gmail.com>
    3 people committed Aug 9, 2022
    Configuration menu
    Copy the full SHA
    67f76f1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    69715da View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7d76f26 View commit details
    Browse the repository at this point in the history
  4. [WIP-feat] Extend Cppcheck functionality

    This patch is a work in progress, there are debug prints all over the
    place inside Codechecker, treat it accordingly. Will be amended, and
    split up, when I am back from vacation.
    
    Cppcheck now works in a raw directory instead of directly into the
    workspace folder.
    Exponential explosion of reports in plist files are now fixed.
    Checker disable now works on native levels.
    The `--disable <cppcheck_check>` now properly translates to `--suppress
    <cppcheck_check> in the cppcheck invocation.
    The current run configuration of cppcheck is `--enable=all`.
    
    Added two new input paramaters:
    With `cppcheck-addons` extra cppcheck checkers can be specified.
    With `cppcheck-libraries` the cppcheck library definitions can be added.
    
    Cppcheck reports have to be "fixed" for Codechecker to be able to
    properly interpret them. The actual error message must be added to any
    multistep report as a last bug path event.
    
    Cppcheck checkers are prefixed with the `cppcheck-` prefix.
    vodorok committed Aug 9, 2022
    Configuration menu
    Copy the full SHA
    70351a4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7b65929 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    111d14e View commit details
    Browse the repository at this point in the history
  7. Add docs to Cppcheck

    vodorok committed Aug 9, 2022
    Configuration menu
    Copy the full SHA
    5269926 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4aa8f55 View commit details
    Browse the repository at this point in the history
  9. Remove unused imports

    vodorok committed Aug 9, 2022
    Configuration menu
    Copy the full SHA
    da08372 View commit details
    Browse the repository at this point in the history
  10. Fix pycodestyle errors

    vodorok committed Aug 9, 2022
    Configuration menu
    Copy the full SHA
    c160769 View commit details
    Browse the repository at this point in the history
  11. Fix pylint errors

    vodorok committed Aug 9, 2022
    Configuration menu
    Copy the full SHA
    c187603 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b90d771 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2022

  1. Fix cppcheck report moving

    Newer version of Cppcheck may include some kind of an ID in the
    output plist filename, so the renaming/moving logic needed to be
    refactored to be able to work with new Cppcheck releases.
    vodorok committed Aug 10, 2022
    Configuration menu
    Copy the full SHA
    7638a41 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d87d5b7 View commit details
    Browse the repository at this point in the history
  3. Fix source path in reports

    Codechecker will incorrectly use the reports folder path, during the
    creation of reports, when the source directory is not supplied.
    vodorok committed Aug 10, 2022
    Configuration menu
    Copy the full SHA
    cf64688 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    106b685 View commit details
    Browse the repository at this point in the history
  5. Remove comment

    vodorok committed Aug 10, 2022
    Configuration menu
    Copy the full SHA
    4925ea6 View commit details
    Browse the repository at this point in the history
  6. Fix report converter tests

    vodorok committed Aug 10, 2022
    Configuration menu
    Copy the full SHA
    f9c9fd1 View commit details
    Browse the repository at this point in the history
  7. Fix web tests

    vodorok committed Aug 10, 2022
    Configuration menu
    Copy the full SHA
    a0650a6 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2022

  1. Fix flaky analyzer test

    vodorok committed Aug 14, 2022
    Configuration menu
    Copy the full SHA
    258833e View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2022

  1. First part of review fixes

    vodorok committed Aug 19, 2022
    Configuration menu
    Copy the full SHA
    d589856 View commit details
    Browse the repository at this point in the history