[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/2] xen/cppcheck: add a way to exclude files from the scan
> On 14 Feb 2023, at 09:51, Jan Beulich <jbeulich@xxxxxxxx> wrote: > > On 14.02.2023 09:56, Luca Fancellu wrote: >> Add a way to exclude files from the scan, in this way we can skip >> some findings from the report on those files that Xen doesn't own. >> >> To do that, introduce the exclude-list.json file under docs/misra, >> this file will be populated with relative path to the files/folder >> to be excluded. >> Introduce a new module, exclusion_file_list.py, to deal with the >> exclusion list file and use the new module in cppcheck_analysis.py >> to take a list of excluded paths to update the suppression list of >> cppcheck. >> Modified --suppress flag for cppcheck tool to remove >> unmatchedSuppression findings for those external file that are >> listed but for example not built for the current architecture. >> >> Add documentation for the file. >> >> Signed-off-by: Luca Fancellu <luca.fancellu@xxxxxxx> >> --- >> docs/misra/exclude-list.json | 4 + >> docs/misra/exclude-list.rst | 44 +++++++++++ >> xen/scripts/xen_analysis/cppcheck_analysis.py | 21 ++++- >> .../xen_analysis/exclusion_file_list.py | 79 +++++++++++++++++++ >> 4 files changed, 146 insertions(+), 2 deletions(-) >> create mode 100644 docs/misra/exclude-list.json >> create mode 100644 docs/misra/exclude-list.rst >> create mode 100644 xen/scripts/xen_analysis/exclusion_file_list.py > > As I think I have asked for before: Can new files please avoid underscores > in their names, when dashes do quite fine? Or does Python have special > restrictions? From the python coding style: Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. Python packages should also have short, all-lowercase names, although the use of underscores is discouraged. In this case I think it improves readability > >> --- a/xen/scripts/xen_analysis/cppcheck_analysis.py >> +++ b/xen/scripts/xen_analysis/cppcheck_analysis.py >> @@ -1,7 +1,8 @@ >> #!/usr/bin/env python3 >> >> import os, re, shutil >> -from . import settings, utils, cppcheck_report_utils >> +from . import settings, utils, cppcheck_report_utils, exclusion_file_list >> +from .exclusion_file_list import ExclusionFileListError >> >> class GetMakeVarsPhaseError(Exception): >> pass >> @@ -50,6 +51,22 @@ def __generate_suppression_list(out_file): >> # header for cppcheck >> supplist_file.write("*:*generated/compiler-def.h\n") >> >> + try: >> + exclusion_file = \ >> + >> "{}/docs/misra/exclude-list.json".format(settings.repo_dir) >> + exclusion_list = \ >> + >> exclusion_file_list.load_exclusion_file_list(exclusion_file) >> + except ExclusionFileListError as e: >> + raise CppcheckDepsPhaseError( >> + "Issue with reading file {}: {}" >> + .format(exclusion_file, e) >> + ) > > My Python isn't very good, but isn't indentation one level too deep > here? Good catch, I’ll fix it > > Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |