[analyzer][tests] Add normalize_plist to replace diff_plist
Summary: The `%diff_plist` 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. This patch applies the change (adjusted for review comments) described in http://lists.llvm.org/pipermail/cfe-dev/2019-April/061904.html to the specific case shown in the list message. Mechanical changes to the other affected files will follow in later patches. Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty Reviewed By: NoQ 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/D62949 llvm-svn: 362994
This commit is contained in:
parent
1d322ccaac
commit
c867b92217
|
@ -14,6 +14,14 @@ config.test_format = analyzer_test.AnalyzerTest(
|
|||
config.substitutions.append(('%diff_plist',
|
||||
'diff -u -w -I "<string>/" -I "<string>.:" -I "version"'))
|
||||
|
||||
# Filtering command used by Clang Analyzer tests (when comparing .plist files
|
||||
# with reference output)
|
||||
config.substitutions.append(('%normalize_plist',
|
||||
"grep -Ev '%s|%s|%s'" %
|
||||
('^[[:space:]]*<string>.* version .*</string>$',
|
||||
'^[[:space:]]*<string>/.*</string>$',
|
||||
'^[[:space:]]*<string>.:.*</string>$')))
|
||||
|
||||
# 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\."'''))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,unix.API,osx.API,optin.portability %s -analyzer-store=region -analyzer-output=plist -analyzer-config faux-bodies=true -fblocks -verify -o %t.plist
|
||||
// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/unix-fns.c.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/unix-fns.c.plist -
|
||||
// RUN: mkdir -p %t.dir
|
||||
// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.API,osx.API,optin.portability -analyzer-output=html -analyzer-config faux-bodies=true -fblocks -o %t.dir %s
|
||||
// RUN: rm -fR %t.dir
|
||||
|
|
Loading…
Reference in New Issue