summaryrefslogtreecommitdiffstats
path: root/clang/utils/analyzer/CmpRuns.py
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] [testing] Inside CmpRuns.py output also print the filename of the ↵George Karpenkov2019-02-051-1/+22
| | | | | | | | first item in the path Differential Revision: https://reviews.llvm.org/D57783 llvm-svn: 353228
* Portable Python script across Python versionSerge Guelton2018-12-181-2/+2
| | | | | | | | | | | In Python3, dict.items, dict.keys, dict.values, zip, map and filter no longer return lists, they create generator instead. The portability patch consists in forcing an extra `list` call if the result is actually used as a list. `map` are replaced by list comprehension and `filter` by filtered list comprehension. Differential Revision: https://reviews.llvm.org/D55197 llvm-svn: 349501
* Portable Python script across Python versionSerge Guelton2018-12-181-2/+2
| | | | | | | | | In Python2, division between integer yields an integer, while it yields a float in Python3. Use a combination of from __future__ import division and // operator to get a portable behavior. Differential Revision: https://reviews.llvm.org/D55204 llvm-svn: 349455
* Portable Python script across Python versionSerge Guelton2018-12-181-2/+3
| | | | | | | | Using from __future__ import print_function it is possible to have a compatible behavior of `print(...)` across Python version. Differential Revision: https://reviews.llvm.org/D55213 llvm-svn: 349454
* Portable Python script across versionSerge Guelton2018-12-031-5/+5
| | | | | | | | | Have all classes derive from object: that's implicitly the default in Python3, it needs to be done explicilty in Python2. Differential Revision: https://reviews.llvm.org/D55121 llvm-svn: 348127
* [analyzer] [testing] Compute data on path length, compute percentilesGeorge Karpenkov2018-10-231-0/+14
| | | | | | Differential Revision: https://reviews.llvm.org/D52844 llvm-svn: 344990
* [analyzer] [tests] Add an option for showing statistics after running tests.George Karpenkov2018-07-301-1/+3
| | | | | | Do not show statistics by default. llvm-svn: 338323
* [analyzer] [tests] Style fixes for testing harness.George Karpenkov2018-07-301-5/+5
| | | | llvm-svn: 338322
* Fix a (possible) division by zero check in the CmpRuns scriptMikhail R. Gadelha2018-05-301-1/+1
| | | | | | I missed updating the check in r333375 llvm-svn: 333529
* Introduces --stats-only option to only show changes in statistics.Mikhail R. Gadelha2018-05-281-3/+63
| | | | llvm-svn: 333375
* [analyzer] [tests] Update CmpRuns to write to stdout correctly in ↵George Karpenkov2018-02-131-13/+15
| | | | | | multithreaded environment llvm-svn: 325070
* [analyzer] [tests] Fixing an error after non-atomic cherry-pickGeorge Karpenkov2018-02-091-0/+1
| | | | llvm-svn: 324762
* [analyzer] [tests] [NFC] Remove a fragile tightly-coupled component ↵George Karpenkov2018-02-091-21/+10
| | | | | | | | | | emulating parser output ...when we can just use the real parser instead. Differential Revision: https://reviews.llvm.org/D43098 llvm-svn: 324759
* [analyzer] [tests] Show function name in CmpRuns outputGeorge Karpenkov2018-02-061-3/+9
| | | | | | | | | Combined with enabled flag for stable filenames, this greatly simplifies finding the offending report. Differential Revision: https://reviews.llvm.org/D42831 llvm-svn: 324362
* [analyzer] [tests] Fix crash in SATestBuild.pyGeorge Karpenkov2018-02-021-0/+7
| | | | llvm-svn: 324114
* [analyzer] [tests] [NFC] Remove dead code from CmpRunsGeorge Karpenkov2018-02-011-21/+6
| | | | | | | | | | Indeed, "CHANGE" is not a thing yet, and we should probably not carry around dead code which does not do anything apart from confusing the reader. Differential Revision: https://reviews.llvm.org/D42819 llvm-svn: 324027
* [analyzer] [tests] Add an option to show the histogram of path differences ↵George Karpenkov2018-02-011-2/+42
| | | | | | | | between the analyzer runs Differential Revision: https://reviews.llvm.org/D42778 llvm-svn: 324021
* [analyzer] [tests] Show the number of removed/added bug reportsGeorge Karpenkov2018-02-011-0/+9
| | | | | | Differential Revision: https://reviews.llvm.org/D42718 llvm-svn: 323941
* [Analyzer] Make testing scripts flake8 compliantGeorge Karpenkov2017-10-021-29/+45
| | | | | | Differential Review: https://reviews.llvm.org/D38213 llvm-svn: 314692
* [Analyzer] Refactor analyzer testing scripts.George Karpenkov2017-09-221-1/+0
| | | | | | | | | | | | | - Exporting needed function for future reuse. - Idiomatic python: using with `file as f` instead of `try/finally`. - Fixing some indentation issues. - No need to reinvent python `multiprocessing.getCPUCount()` - Removing a function parameter which is always the same under all invocations. - Adding some docstrings. Differential Revision: https://reviews.llvm.org/D38156 llvm-svn: 313949
* [Analyzer] Remove dead code from CmpRuns.py.George Karpenkov2017-09-211-24/+0
| | | | | | Differential Revision: https://reviews.llvm.org/D38003 llvm-svn: 313923
* [analyzer] Bug identificationGabor Horvath2015-10-221-2/+2
| | | | | | | | | | | | | | | | This patch adds hashes to the plist and html output to be able to identfy bugs for suppressing false positives or diff results against a baseline. This hash aims to be resilient for code evolution and is usable to identify bugs in two different snapshots of the same software. One missing piece however is a permanent unique identifier of the checker that produces the warning. Once that issue is resolved, the hashes generated are going to change. Until that point this feature is marked experimental, but it is suitable for early adoption. Differential Revision: http://reviews.llvm.org/D10305 Original patch by: Bence Babati! llvm-svn: 251011
* [analyzer] Apply whitespace cleanups by Honggyu Kim.Ted Kremenek2015-09-081-23/+23
| | | | llvm-svn: 246978
* [Static Analyzer] Make the paths relative from the project root when ↵Gabor Horvath2015-07-081-3/+3
| | | | | | generating reference results in the test suite. llvm-svn: 241706
* [Static Analyzer] Minor improvements to SATest.Gabor Horvath2015-06-301-1/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D10812 llvm-svn: 241073
* [analyzer] CmpRuns.py: Accept single files as input.Jordan Rose2013-03-231-46/+51
| | | | | | | | This allows us to compare two direct invocations of the analyzer on a single source file without having to wrap the output plists in their own directories. llvm-svn: 177804
* [analyzer] CmpRuns: move the clang_version info into the run (out ofAnna Zaks2012-11-151-7/+15
| | | | | | report) llvm-svn: 168105
* [analyzer] Ensure that CmpRuns recursively walks the output directory.Anna Zaks2012-11-141-39/+40
| | | | llvm-svn: 167981
* [analyzer] CmpRuns: cleanup APIs, allow processing of plists with noAnna Zaks2012-10-171-16/+20
| | | | | | clang_version, fix the compare routine. llvm-svn: 166129
* [analyzer] Expose clang_version in CmpRunsAnna Zaks2012-10-161-2/+3
| | | | llvm-svn: 166048
* [analyzer] CmpRuns - cleaned up the API, added relative path getterAnna Zaks2012-10-151-19/+40
| | | | llvm-svn: 165995
* [analyzer] Ted fixed the plist-html issue, so the assert can go away.Anna Zaks2012-08-241-3/+1
| | | | llvm-svn: 162598
* [analyzer] Unbreak the static analyzer buildbot.Anna Zaks2012-08-171-1/+3
| | | | | | | We no longer associate the correct HTML file with plist diagnostic. Fall out from r162028. llvm-svn: 162071
* [analyzer] CmpRuns should include file name in the issue identifier.Anna Zaks2012-08-021-17/+26
| | | | | | | | | | This prevents us from treating the issues from different files with the same function names and same offsets as the same. The issue identifier now includes the file name. Also added a way to strip off the root directories form the source file names. llvm-svn: 161150
* Un-break standalone invocations of CmpRuns.py.Jordan Rose2012-07-261-1/+1
| | | | | | Fallout from CmpRuns.py API changes in r160314. llvm-svn: 160800
* [analyzer] Make CmpRuns external-user friendly.Anna Zaks2012-07-161-44/+62
| | | | | | | | | CmpRuns can be used for static analyzer bug report comparison. However, we want to make sure external users do not rely on the way bugs are represented (plist files). Make sure that we have a user friendly/documented API for CmpRuns script. llvm-svn: 160314
* [analyzer] Use "issue hash" in CmpRuns; followup on r158180Anna Zaks2012-06-081-3/+11
| | | | | | | (For the future: It would be more efficient to produce a hash key with the embedded function info inside the compiler.) llvm-svn: 158187
* [analyzer] Add the HTML file to the SATest diagnostic diff.Anna Zaks2012-01-241-3/+4
| | | | | | (Uses the functionality which has been in CmpRuns long before.) llvm-svn: 148868
* [analyzer] Testing: make diagnostic diffs more informative (addAnna Zaks2012-01-241-2/+5
| | | | | | diagnostic message). llvm-svn: 148867
* [analyzer] Testing: Display the number of reported differences in the main log.Anna Zaks2011-11-081-7/+10
| | | | llvm-svn: 144113
* [analyzer] Relax the cmp criteria for analyzer reports.Anna Zaks2011-11-051-1/+1
| | | | | | Until we find out a way to easily find out what changed by looking at the logs. llvm-svn: 143789
* [analyzer] CmpRuns can now optionally delete empty reports.Anna Zaks2011-09-121-5/+7
| | | | llvm-svn: 139550
* [analyzer] CmpRuns.cmpScanBuildResults() should be easy to call from other ↵Anna Zaks2011-09-121-18/+32
| | | | | | modules. llvm-svn: 139543
* Rename CmpRuns into CmpRuns.py so that it could be used as a module.Anna Zaks2011-09-121-0/+230
llvm-svn: 139540
OpenPOWER on IntegriCloud