Esempio n. 1
0
def findbugs(deb, analysis):
    _, err, ret = run_command(["dpkg", "-x", deb, "binary"])

    if ret != 0:
        raise Exception("Cannot extract binary from deb:" + err)

    with cd('binary'):
        # Force english as findbugs is localized
        os.putenv("LANG", "C")
        out, err, _ = run_command(
            ['fb', 'analyze', '-effort:max', '-xml:withMessages', '.'])

        xmlbytes = out.encode("utf-8")

        failed = False
        #        if err.strip() == '':
        #            return (analysis, err, failed)

        for issue in parse_findbugs(xmlbytes):
            analysis.results.append(issue)
            if not failed and issue.severity in [
                    'performance', 'portability', 'error', 'warning'
            ]:
                failed = True

        return (analysis, err, failed, None, None)
Esempio n. 2
0
def findbugs(deb, analysis):
    run_command(["dpkg", "-x", deb, "binary"])
    with cd('binary'):
        out, err, ret = run_command([
                'fb', 'analyze', '-effort:max', '-xml:withMessages', '.'
        ])

        xmlbytes = out.encode("utf-8")

        failed = False
#        if err.strip() == '':
#            return (analysis, err, failed)

        for issue in parse_findbugs(xmlbytes):
            analysis.results.append(issue)
            if not failed and issue.severity in [
                'performance', 'portability', 'error', 'warning'
            ]:
                failed = True

        return (analysis, err, failed, None)
Esempio n. 3
0
def findbugs(deb, analysis):
    run_command(["dpkg", "-x", deb, "binary"])
    with cd('binary'):
        out, err, ret = run_command([
            'fb', 'analyze', '-effort:max', '-xml:withMessages', '.'
        ])

        xmlbytes = out.encode("utf-8")

        failed = False
#        if err.strip() == '':
#            return (analysis, err, failed)

        for issue in parse_findbugs(xmlbytes):
            analysis.results.append(issue)
            if not failed and issue.severity in [
                'performance', 'portability', 'error', 'warning'
            ]:
                failed = True

        return (analysis, err, failed, None, None)
Esempio n. 4
0
def findbugs(deb, analysis):
    _, err, ret = run_command(["dpkg", "-x", deb, "binary"])

    if ret != 0:
        raise Exception("Cannot extract binary from deb:" + err)

    with cd("binary"):
        # Force english as findbugs is localized
        os.putenv("LANG", "C")
        out, err, _ = run_command(["fb", "analyze", "-effort:max", "-xml:withMessages", "."])

        xmlbytes = out.encode("utf-8")

        failed = False
        #        if err.strip() == '':
        #            return (analysis, err, failed)

        for issue in parse_findbugs(xmlbytes):
            analysis.results.append(issue)
            if not failed and issue.severity in ["performance", "portability", "error", "warning"]:
                failed = True

        return (analysis, err, failed, None, None)