Skip to content

Missing pretty name for MISRA in report generation #667

Open
@g-ulli

Description

@g-ulli

Describe the bug
scripts/reports/analysis_report.py fails for .sarif file containing MISRA violations.

In our project, we have C files and C++ files. We want to use MISRA C for .c and .h files and Autosar C++14 for .cpp and .hpp files. A naive way to run both queries fails in the report generation because of this incomplete array:

standard_pretty_name = {
"cert": "CERT C++ 2016", "autosar": "AUTOSAR C++ R22-11, R21-11, R20-11, R19-11 and R19-03"}

Traceback (most recent call last):
  File ".../codeql-coding-standards/scripts/reports/analysis_report.py", line 63, in <module>
    utils.generate_guideline_compliance_summary(
  File ".../codeql-coding-standards/scripts/reports/utils.py", line 187, in generate_guideline_compliance_summary
    print("**Coding Standards applied**: " + ", ".join([standard_pretty_name[standard_short_name]
  File ".../codeql-coding-standards/scripts/reports/utils.py", line 187, in <listcomp>
    print("**Coding Standards applied**: " + ", ".join([standard_pretty_name[standard_short_name]
KeyError: 'misra'

To Reproduce

codeql database analyze \
    --format=sarifv2.1.0 \
    --output=autosar-misra.sarif \
    <codeql database> \
    <path to codeql-coding-standards>/cpp/autosar/src/codeql-suites/autosar-default.qls
    <path to codeql-coding-standards>/cpp/misra/src/codeql-suites/misra-default.qls

python3.9 <path to codeql-coding-standards>/scripts/reports/analysis_report.py \
    <codeql database> \
    autosar-misra.sarif \
    autosar-misra-report

Expected behavior
Normal report generation without errors

Screenshots
If applicable, add screenshots to help explain your problem.

Environment

  • CodeQL Coding Standards version: 2.34.0
  • CodeQL version: CodeQL CLI bundle 2.14.6
  • Operating System: Linux

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions