File: listErrorsWithoutCWE.py

package info (click to toggle)
cppcheck 2.18.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 26,132 kB
  • sloc: cpp: 268,935; python: 20,890; ansic: 8,090; sh: 1,045; makefile: 1,008; xml: 1,005; cs: 291
file content (20 lines) | stat: -rwxr-xr-x 711 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env python3
from __future__ import print_function
import argparse
import xml.etree.ElementTree as ET


def main():
    parser = argparse.ArgumentParser(description="List all error without a CWE assigned in CSV format")
    parser.add_argument("-F", metavar="filename", required=True,
                        help="XML file containing output from: ./cppcheck --errorlist --xml-version=2")
    parsed = parser.parse_args()

    tree = ET.parse(vars(parsed)["F"])
    root = tree.getroot()
    for child in root.iter("error"):
        if "cwe" not in child.attrib:
            print(child.attrib["id"], child.attrib["severity"], child.attrib["verbose"], sep=", ")

if __name__ == "__main__":
    main()