Skip to content

Commit

Permalink
[analyzer] [tests] [NFC] Remove a fragile tightly-coupled component e…
Browse files Browse the repository at this point in the history
…mulating parser output

...when we can just use the real parser instead.

Differential Revision: https://reviews.llvm.org/D43098

llvm-svn: 324759
  • Loading branch information
George Karpenkov committed Feb 9, 2018
1 parent d75805e commit fc782a3
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 22 deletions.
31 changes: 10 additions & 21 deletions clang/utils/analyzer/CmpRuns.py
Expand Up @@ -102,20 +102,6 @@ def getRawData(self):
return self._data


class CmpOptions:
"""
Fake output of option parser with manually constructed options.
"""

def __init__(self, verboseLog=None, rootA="", rootB=""):
self.rootA = rootA
self.rootB = rootB
self.verboseLog = verboseLog
self.relative_path_histogram = False
self.relative_log_path_histogram = False
self.absolute_path_histogram = False


class AnalysisReport:
def __init__(self, run, files):
self.run = run
Expand Down Expand Up @@ -322,9 +308,7 @@ def dumpScanBuildResultsDiff(dirA, dirB, opts, deleteEmpty=True):

return foundDiffs, len(resultsA.diagnostics), len(resultsB.diagnostics)


def main():
from optparse import OptionParser
def generate_option_parser():
parser = OptionParser("usage: %prog [options] [dir A] [dir B]")
parser.add_option("", "--rootA", dest="rootA",
help="Prefix to ignore on source files for directory A",
Expand All @@ -334,24 +318,29 @@ def main():
action="store", type=str, default="")
parser.add_option("", "--verbose-log", dest="verboseLog",
help="Write additional information to LOG \
[default=None]",
[default=None]",
action="store", type=str, default=None,
metavar="LOG")
parser.add_option("--relative-path-differences-histogram",
action="store_true", dest="relative_path_histogram",
default=False,
help="Show histogram of relative paths differences. \
Requires matplotlib")
Requires matplotlib")
parser.add_option("--relative-log-path-differences-histogram",
action="store_true", dest="relative_log_path_histogram",
default=False,
help="Show histogram of log relative paths differences. \
Requires matplotlib")
Requires matplotlib")
parser.add_option("--absolute-path-differences-histogram",
action="store_true", dest="absolute_path_histogram",
default=False,
help="Show histogram of absolute paths differences. \
Requires matplotlib")
Requires matplotlib")
return parser


def main():
parser = generate_option_parser()
(opts, args) = parser.parse_args()

if len(args) != 2:
Expand Down
3 changes: 2 additions & 1 deletion clang/utils/analyzer/SATestBuild.py
Expand Up @@ -566,7 +566,8 @@ def runCmpResults(Dir, Strictness=0):
RefDir, NewDir))

PatchedSourceDirPath = os.path.join(Dir, PatchedSourceDirName)
Opts = CmpRuns.CmpOptions(rootA="", rootB=PatchedSourceDirPath)
Opts, Args = CmpRuns.generate_option_parser().parse_args(
["", PatchedSourceDirPath])
# Scan the results, delete empty plist files.
NumDiffs, ReportsInRef, ReportsInNew = \
CmpRuns.dumpScanBuildResultsDiff(RefDir, NewDir, Opts, False)
Expand Down

0 comments on commit fc782a3

Please sign in to comment.