diff options
| author | Hubert Tong <hubert.reinterpretcast@gmail.com> | 2019-06-19 15:27:35 +0000 |
|---|---|---|
| committer | Hubert Tong <hubert.reinterpretcast@gmail.com> | 2019-06-19 15:27:35 +0000 |
| commit | 64b60df99f8ad0c00a1d4711e56ce32495765416 (patch) | |
| tree | 1a0f2c33036562fcb2a69c666299b576923e9833 /clang/test | |
| parent | f2ffa7320e25d31d10553a571f07bc232243637a (diff) | |
| download | bcm5719-llvm-64b60df99f8ad0c00a1d4711e56ce32495765416.tar.gz bcm5719-llvm-64b60df99f8ad0c00a1d4711e56ce32495765416.zip | |
[analyzer] SARIF: Add EOF newline; replace diff_sarif
Summary:
This patch applies a change similar to rC363069, but for SARIF files.
The `%diff_sarif` lit substitution invokes `diff` with a non-portable
`-I` option. The intended effect can be achieved by normalizing the
inputs to `diff` beforehand. Such normalization can be done with
`grep -Ev`, which is also used by other tests.
Additionally, this patch updates the SARIF output to have a newline at
the end of the file. This makes it so that the SARIF file qualifies as a
POSIX text file, which increases the consumability of the generated file
in relation to various tools.
Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty, aaron.ballman
Reviewed By: aaron.ballman
Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, jsji, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D62952
llvm-svn: 363822
Diffstat (limited to 'clang/test')
5 files changed, 10 insertions, 7 deletions
diff --git a/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif b/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif index af482a40c97..cebc817dec6 100644 --- a/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif +++ b/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif @@ -6,7 +6,7 @@ { "fileLocation": { }, - "length": 415, + "length": 434, "mimeType": "text/plain", "roles": [ "resultFile" diff --git a/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif b/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif index 4ce20e08434..f1527d4105d 100644 --- a/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif +++ b/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif @@ -6,7 +6,7 @@ { "fileLocation": { }, - "length": 667, + "length": 686, "mimeType": "text/plain", "roles": [ "resultFile" diff --git a/clang/test/Analysis/diagnostics/sarif-diagnostics-taint-test.c b/clang/test/Analysis/diagnostics/sarif-diagnostics-taint-test.c index 37ddc9df6a2..b1042f9034d 100644 --- a/clang/test/Analysis/diagnostics/sarif-diagnostics-taint-test.c +++ b/clang/test/Analysis/diagnostics/sarif-diagnostics-taint-test.c @@ -1,4 +1,4 @@ -// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.security.taint,debug.TaintTest %s -verify -analyzer-output=sarif -o - | %diff_sarif %S/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif - +// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.security.taint,debug.TaintTest %s -verify -analyzer-output=sarif -o - | %normalize_sarif | diff -U1 -b %S/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif - #include "../Inputs/system-header-simulator.h" int atoi(const char *nptr); diff --git a/clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c b/clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c index 459128a05fa..3402714a30a 100644 --- a/clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c +++ b/clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c @@ -1,4 +1,4 @@ -// RUN: %clang_analyze_cc1 -analyzer-checker=core,alpha.security.taint,debug.TaintTest %s -verify -analyzer-output=sarif -o - | %diff_sarif %S/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif - +// RUN: %clang_analyze_cc1 -analyzer-checker=core,alpha.security.taint,debug.TaintTest %s -verify -analyzer-output=sarif -o - | %normalize_sarif | diff -U1 -b %S/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif - #include "../Inputs/system-header-simulator.h" int atoi(const char *nptr); diff --git a/clang/test/Analysis/lit.local.cfg b/clang/test/Analysis/lit.local.cfg index bfe4589438c..d6c0a370c74 100644 --- a/clang/test/Analysis/lit.local.cfg +++ b/clang/test/Analysis/lit.local.cfg @@ -17,9 +17,12 @@ config.substitutions.append(('%normalize_plist', '^[[:space:]]*<string>/.*</string>[[:space:]]*$', '^[[:space:]]*<string>.:.*</string>[[:space:]]*$'))) -# Diff command for testing SARIF output to reference output. -config.substitutions.append(('%diff_sarif', - '''diff -U1 -w -I ".*file:.*%basename_t" -I '"version":' -I "2\.0\.0\-csd\.[0-9]*\.beta\."''')) +# Filtering command for testing SARIF output against reference output. +config.substitutions.append(('%normalize_sarif', + "grep -Ev '^[[:space:]]*(%s|%s|%s)[[:space:]]*$'" % + ('"uri": "file:.*%basename_t"', + '"version": ".* version .*"', + '"version": "2\.0\.0-csd\.[0-9]*\.beta\.[0-9-]{10}"'))) if not config.root.clang_staticanalyzer: config.unsupported = True |

