From c704f4d5615ba512aafe85e7b2898d5335608d3e Mon Sep 17 00:00:00 2001 From: Mikhail Maltsev Date: Mon, 17 Sep 2018 10:19:46 +0000 Subject: [PATCH] [Analyzer] Define and use diff_plist in tests, NFC This patch defines a new substitution and uses it to reduce duplication in the Clang Analyzer test cases. Differential Revision: https://reviews.llvm.org/D52036 llvm-svn: 342365 --- clang/test/Analysis/NewDelete-path-notes.cpp | 2 +- clang/test/Analysis/conditional-path-notes.c | 2 +- clang/test/Analysis/copypaste/plist-diagnostics-notes-as-events.cpp | 2 +- clang/test/Analysis/copypaste/plist-diagnostics.cpp | 2 +- clang/test/Analysis/cxx-for-range.cpp | 2 +- clang/test/Analysis/diagnostics/deref-track-symbolic-region.c | 2 +- clang/test/Analysis/diagnostics/report-issues-within-main-file.cpp | 2 +- clang/test/Analysis/diagnostics/undef-value-caller.c | 2 +- clang/test/Analysis/diagnostics/undef-value-param.c | 2 +- clang/test/Analysis/diagnostics/undef-value-param.m | 2 +- clang/test/Analysis/edges-new.mm | 2 +- clang/test/Analysis/generics.m | 2 +- clang/test/Analysis/inline-plist.c | 2 +- clang/test/Analysis/inline-unique-reports.c | 2 +- clang/test/Analysis/inlining/eager-reclamation-path-notes.c | 2 +- clang/test/Analysis/inlining/eager-reclamation-path-notes.cpp | 2 +- clang/test/Analysis/inlining/path-notes.c | 2 +- clang/test/Analysis/inlining/path-notes.cpp | 2 +- clang/test/Analysis/inlining/path-notes.m | 2 +- clang/test/Analysis/lit.local.cfg | 5 +++++ clang/test/Analysis/method-call-path-notes.cpp | 2 +- clang/test/Analysis/model-file.cpp | 2 +- clang/test/Analysis/null-deref-path-notes.m | 2 +- clang/test/Analysis/nullability-notes.m | 2 +- clang/test/Analysis/objc-arc.m | 2 +- clang/test/Analysis/plist-macros.cpp | 2 +- clang/test/Analysis/plist-output-alternate.m | 2 +- clang/test/Analysis/plist-output.m | 2 +- clang/test/Analysis/retain-release-path-notes.m | 2 +- clang/test/Analysis/unix-fns.c | 2 +- 30 files changed, 34 insertions(+), 29 deletions(-) diff --git a/clang/test/Analysis/NewDelete-path-notes.cpp b/clang/test/Analysis/NewDelete-path-notes.cpp index cca7226..d9fe197 100644 --- a/clang/test/Analysis/NewDelete-path-notes.cpp +++ b/clang/test/Analysis/NewDelete-path-notes.cpp @@ -1,7 +1,7 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=cplusplus.NewDelete,unix.Malloc -analyzer-output=text -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=cplusplus.NewDelete,unix.Malloc -analyzer-output=text -analyzer-config c++-allocator-inlining=true -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=cplusplus.NewDelete,unix.Malloc -analyzer-output=plist %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/NewDelete-path-notes.cpp.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/NewDelete-path-notes.cpp.plist void test() { int *p = new int; diff --git a/clang/test/Analysis/conditional-path-notes.c b/clang/test/Analysis/conditional-path-notes.c index 182fac3..77744e3 100644 --- a/clang/test/Analysis/conditional-path-notes.c +++ b/clang/test/Analysis/conditional-path-notes.c @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 %s -analyzer-checker=core.NullDereference -analyzer-output=text -verify // RUN: %clang_analyze_cc1 %s -analyzer-checker=core.NullDereference -analyzer-output=plist -o %t -// RUN: cat %t | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/conditional-path-notes.c.plist +// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/conditional-path-notes.c.plist void testCondOp(int *p) { int *x = p ? p : p; diff --git a/clang/test/Analysis/copypaste/plist-diagnostics-notes-as-events.cpp b/clang/test/Analysis/copypaste/plist-diagnostics-notes-as-events.cpp index 2251671..0a61c6c 100644 --- a/clang/test/Analysis/copypaste/plist-diagnostics-notes-as-events.cpp +++ b/clang/test/Analysis/copypaste/plist-diagnostics-notes-as-events.cpp @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -analyzer-output=plist -analyzer-config notes-as-events=true -o %t.plist -std=c++11 -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=10 -verify %s -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/plist-diagnostics-notes-as-events.cpp.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/plist-diagnostics-notes-as-events.cpp.plist void log(); diff --git a/clang/test/Analysis/copypaste/plist-diagnostics.cpp b/clang/test/Analysis/copypaste/plist-diagnostics.cpp index aca12dc..90b53e4 100644 --- a/clang/test/Analysis/copypaste/plist-diagnostics.cpp +++ b/clang/test/Analysis/copypaste/plist-diagnostics.cpp @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -analyzer-output=plist -o %t.plist -std=c++11 -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=10 -verify %s -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/plist-diagnostics.cpp.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/plist-diagnostics.cpp.plist void log(); diff --git a/clang/test/Analysis/cxx-for-range.cpp b/clang/test/Analysis/cxx-for-range.cpp index 8acb38f..d9ea1c1 100644 --- a/clang/test/Analysis/cxx-for-range.cpp +++ b/clang/test/Analysis/cxx-for-range.cpp @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -std=c++11 -analyzer-checker=core -analyzer-output=plist-multi-file -o %t.plist -verify -analyzer-config eagerly-assume=false %s -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/cxx-for-range.cpp.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/cxx-for-range.cpp.plist extern void work(); diff --git a/clang/test/Analysis/diagnostics/deref-track-symbolic-region.c b/clang/test/Analysis/diagnostics/deref-track-symbolic-region.c index b8ddef4..c8e3583 100644 --- a/clang/test/Analysis/diagnostics/deref-track-symbolic-region.c +++ b/clang/test/Analysis/diagnostics/deref-track-symbolic-region.c @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=text -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist-multi-file %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/deref-track-symbolic-region.c.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/deref-track-symbolic-region.c.plist struct S { int *x; diff --git a/clang/test/Analysis/diagnostics/report-issues-within-main-file.cpp b/clang/test/Analysis/diagnostics/report-issues-within-main-file.cpp index 3aef041..1feef43 100644 --- a/clang/test/Analysis/diagnostics/report-issues-within-main-file.cpp +++ b/clang/test/Analysis/diagnostics/report-issues-within-main-file.cpp @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core,unix -analyzer-output=plist-multi-file -analyzer-config report-in-main-source-file=true %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/report-issues-within-main-file.cpp.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/report-issues-within-main-file.cpp.plist #include "Inputs/include/report-issues-within-main-file.h" void mainPlusHeader() { diff --git a/clang/test/Analysis/diagnostics/undef-value-caller.c b/clang/test/Analysis/diagnostics/undef-value-caller.c index a48f994..0beefd6 100644 --- a/clang/test/Analysis/diagnostics/undef-value-caller.c +++ b/clang/test/Analysis/diagnostics/undef-value-caller.c @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist -o %t %s -// RUN: cat %t | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/undef-value-caller.c.plist +// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/undef-value-caller.c.plist #include "undef-value-callee.h" diff --git a/clang/test/Analysis/diagnostics/undef-value-param.c b/clang/test/Analysis/diagnostics/undef-value-param.c index a9d2539..8df4414 100644 --- a/clang/test/Analysis/diagnostics/undef-value-param.c +++ b/clang/test/Analysis/diagnostics/undef-value-param.c @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=text -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist-multi-file %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/undef-value-param.c.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/undef-value-param.c.plist void foo_irrelevant(int c) { if (c) diff --git a/clang/test/Analysis/diagnostics/undef-value-param.m b/clang/test/Analysis/diagnostics/undef-value-param.m index 032aea2..11276fa 100644 --- a/clang/test/Analysis/diagnostics/undef-value-param.m +++ b/clang/test/Analysis/diagnostics/undef-value-param.m @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core,osx -analyzer-output=text -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=core,osx -analyzer-output=plist-multi-file %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/undef-value-param.m.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/undef-value-param.m.plist typedef signed char BOOL; @protocol NSObject - (BOOL)isEqual:(id)object; @end diff --git a/clang/test/Analysis/edges-new.mm b/clang/test/Analysis/edges-new.mm index da76db6..4a5ecd8 100644 --- a/clang/test/Analysis/edges-new.mm +++ b/clang/test/Analysis/edges-new.mm @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,deadcode.DeadStores,osx.cocoa.RetainCount,unix.Malloc,unix.MismatchedDeallocator -analyzer-output=plist -o %t -w %s -// RUN: cat %t | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/edges-new.mm.plist +// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/edges-new.mm.plist //===----------------------------------------------------------------------===// // Forward declarations (from headers). diff --git a/clang/test/Analysis/generics.m b/clang/test/Analysis/generics.m index f9c4670..00b0d0a 100644 --- a/clang/test/Analysis/generics.m +++ b/clang/test/Analysis/generics.m @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core,osx.cocoa.ObjCGenerics,alpha.core.DynamicTypeChecker -verify -Wno-objc-method-access %s // RUN: %clang_analyze_cc1 -analyzer-checker=core,osx.cocoa.ObjCGenerics,alpha.core.DynamicTypeChecker -verify -Wno-objc-method-access %s -analyzer-output=plist -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/generics.m.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/generics.m.plist #if !__has_feature(objc_generics) # error Compiler does not support Objective-C generics? diff --git a/clang/test/Analysis/inline-plist.c b/clang/test/Analysis/inline-plist.c index e84aecf..bac1a0d 100644 --- a/clang/test/Analysis/inline-plist.c +++ b/clang/test/Analysis/inline-plist.c @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 %s -analyzer-checker=core.NullDereference,core.DivideZero -fblocks -analyzer-output=text -analyzer-config suppress-null-return-paths=false -verify -analyzer-config eagerly-assume=false %s // RUN: %clang_analyze_cc1 -analyzer-config eagerly-assume=false %s -analyzer-checker=core.NullDereference,core.DivideZero -fblocks -analyzer-output=plist -analyzer-config suppress-null-return-paths=false -o %t -// RUN: cat %t | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/inline-plist.c.plist +// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/inline-plist.c.plist // void mmm(int y) { diff --git a/clang/test/Analysis/inline-unique-reports.c b/clang/test/Analysis/inline-unique-reports.c index 0ebf4f8..b01dde2 100644 --- a/clang/test/Analysis/inline-unique-reports.c +++ b/clang/test/Analysis/inline-unique-reports.c @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 %s -analyzer-checker=core.NullDereference -analyzer-output=plist -o %t > /dev/null 2>&1 -// RUN: cat %t | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/inline-unique-reports.c.plist +// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/inline-unique-reports.c.plist static inline bug(int *p) { *p = 0xDEADBEEF; diff --git a/clang/test/Analysis/inlining/eager-reclamation-path-notes.c b/clang/test/Analysis/inlining/eager-reclamation-path-notes.c index 306a4ba..3aaa8d0 100644 --- a/clang/test/Analysis/inlining/eager-reclamation-path-notes.c +++ b/clang/test/Analysis/inlining/eager-reclamation-path-notes.c @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=text -analyzer-config graph-trim-interval=5 -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist-multi-file -analyzer-config graph-trim-interval=5 %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/eager-reclamation-path-notes.c.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/eager-reclamation-path-notes.c.plist void use(int *ptr, int val) { *ptr = val; // expected-warning {{Dereference of null pointer (loaded from variable 'ptr')}} diff --git a/clang/test/Analysis/inlining/eager-reclamation-path-notes.cpp b/clang/test/Analysis/inlining/eager-reclamation-path-notes.cpp index 7b957af..dedc3b5 100644 --- a/clang/test/Analysis/inlining/eager-reclamation-path-notes.cpp +++ b/clang/test/Analysis/inlining/eager-reclamation-path-notes.cpp @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=text -analyzer-config graph-trim-interval=5 -analyzer-config suppress-null-return-paths=false -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist-multi-file -analyzer-config graph-trim-interval=5 -analyzer-config suppress-null-return-paths=false %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/eager-reclamation-path-notes.cpp.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/eager-reclamation-path-notes.cpp.plist typedef struct { int getValue(); diff --git a/clang/test/Analysis/inlining/path-notes.c b/clang/test/Analysis/inlining/path-notes.c index 764c412..eeeebdb 100644 --- a/clang/test/Analysis/inlining/path-notes.c +++ b/clang/test/Analysis/inlining/path-notes.c @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=text -analyzer-config suppress-null-return-paths=false -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist-multi-file -analyzer-config suppress-null-return-paths=false %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/path-notes.c.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/path-notes.c.plist void zero(int **p) { *p = 0; diff --git a/clang/test/Analysis/inlining/path-notes.cpp b/clang/test/Analysis/inlining/path-notes.cpp index 1b9d332..26d7799 100644 --- a/clang/test/Analysis/inlining/path-notes.cpp +++ b/clang/test/Analysis/inlining/path-notes.cpp @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=text -analyzer-config c++-inlining=destructors -std=c++11 -verify -Wno-tautological-undefined-compare %s // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist-multi-file -analyzer-config c++-inlining=destructors -std=c++11 %s -o %t.plist -Wno-tautological-undefined-compare -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/path-notes.cpp.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/path-notes.cpp.plist class Foo { public: diff --git a/clang/test/Analysis/inlining/path-notes.m b/clang/test/Analysis/inlining/path-notes.m index 9903b09..66d27d3 100644 --- a/clang/test/Analysis/inlining/path-notes.m +++ b/clang/test/Analysis/inlining/path-notes.m @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core,osx.cocoa.NilArg,osx.cocoa.RetainCount -analyzer-output=text -analyzer-config suppress-null-return-paths=false -fblocks -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=core,osx.cocoa.NilArg,osx.cocoa.RetainCount -analyzer-output=plist-multi-file -analyzer-config suppress-null-return-paths=false -fblocks %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/path-notes.m.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/path-notes.m.plist typedef struct dispatch_queue_s *dispatch_queue_t; typedef void (^dispatch_block_t)(void); diff --git a/clang/test/Analysis/lit.local.cfg b/clang/test/Analysis/lit.local.cfg index 1602113..811af6e 100644 --- a/clang/test/Analysis/lit.local.cfg +++ b/clang/test/Analysis/lit.local.cfg @@ -9,5 +9,10 @@ import analyzer_test config.test_format = analyzer_test.AnalyzerTest( config.test_format.execute_external, config.use_z3_solver) +# Diff command used by Clang Analyzer tests (when comparing .plist files +# with reference output) +config.substitutions.append(('%diff_plist', + 'diff -u -w -I "/" -I ".:" -I "version" -')) + if not config.root.clang_staticanalyzer: config.unsupported = True diff --git a/clang/test/Analysis/method-call-path-notes.cpp b/clang/test/Analysis/method-call-path-notes.cpp index 2ad6b25..b99455d 100644 --- a/clang/test/Analysis/method-call-path-notes.cpp +++ b/clang/test/Analysis/method-call-path-notes.cpp @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=text -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist-multi-file %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/method-call-path-notes.cpp.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/method-call-path-notes.cpp.plist // Test warning about null or uninitialized pointer values used as instance member // calls. diff --git a/clang/test/Analysis/model-file.cpp b/clang/test/Analysis/model-file.cpp index ffee748..fd821a9 100644 --- a/clang/test/Analysis/model-file.cpp +++ b/clang/test/Analysis/model-file.cpp @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-config faux-bodies=true,model-path=%S/Inputs/Models -analyzer-output=plist-multi-file -verify %s -o %t -// RUN: cat %t | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/model-file.cpp.plist +// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/model-file.cpp.plist typedef int* intptr; diff --git a/clang/test/Analysis/null-deref-path-notes.m b/clang/test/Analysis/null-deref-path-notes.m index 5d65b75..4da1a48 100644 --- a/clang/test/Analysis/null-deref-path-notes.m +++ b/clang/test/Analysis/null-deref-path-notes.m @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-store=region -analyzer-output=text -fblocks -verify -Wno-objc-root-class %s // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-store=region -analyzer-output=plist-multi-file -fblocks -Wno-objc-root-class %s -o %t -// RUN: cat %t | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/null-deref-path-notes.m.plist +// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/null-deref-path-notes.m.plist @interface Root { @public diff --git a/clang/test/Analysis/nullability-notes.m b/clang/test/Analysis/nullability-notes.m index 514f56f..e36b39b 100644 --- a/clang/test/Analysis/nullability-notes.m +++ b/clang/test/Analysis/nullability-notes.m @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -fblocks -analyzer-checker=core,nullability.NullPassedToNonnull,nullability.NullReturnedFromNonnull,nullability.NullablePassedToNonnull,nullability.NullableReturnedFromNonnull,nullability.NullableDereferenced -analyzer-output=text -verify %s // RUN: %clang_analyze_cc1 -fblocks -analyzer-checker=core,nullability.NullPassedToNonnull,nullability.NullReturnedFromNonnull,nullability.NullablePassedToNonnull,nullability.NullableReturnedFromNonnull,nullability.NullableDereferenced -analyzer-output=plist -o %t.plist %s -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/nullability-notes.m.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/nullability-notes.m.plist #include "Inputs/system-header-simulator-for-nullability.h" diff --git a/clang/test/Analysis/objc-arc.m b/clang/test/Analysis/objc-arc.m index d84da2f..c8cc3e7 100644 --- a/clang/test/Analysis/objc-arc.m +++ b/clang/test/Analysis/objc-arc.m @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,osx.cocoa.RetainCount,deadcode -verify -fblocks -analyzer-opt-analyze-nested-blocks -fobjc-arc -analyzer-output=plist-multi-file -o %t.plist %s -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/objc-arc.m.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/objc-arc.m.plist typedef signed char BOOL; typedef struct _NSZone NSZone; diff --git a/clang/test/Analysis/plist-macros.cpp b/clang/test/Analysis/plist-macros.cpp index de795e2..a71b1dc 100644 --- a/clang/test/Analysis/plist-macros.cpp +++ b/clang/test/Analysis/plist-macros.cpp @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core,unix -verify %s // RUN: %clang_analyze_cc1 -analyzer-checker=core,unix -analyzer-output=plist-multi-file %s -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/plist-macros.cpp.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/plist-macros.cpp.plist typedef __typeof(sizeof(int)) size_t; diff --git a/clang/test/Analysis/plist-output-alternate.m b/clang/test/Analysis/plist-output-alternate.m index 8904dbe..5f7c1a2 100644 --- a/clang/test/Analysis/plist-output-alternate.m +++ b/clang/test/Analysis/plist-output-alternate.m @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -analyzer-checker=core,osx.cocoa.RetainCount,alpha.core -fblocks -analyzer-output=plist -o %t %s -// RUN: cat %t | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/plist-output-alternate.m.plist +// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/plist-output-alternate.m.plist void test_null_init(void) { int *p = 0; diff --git a/clang/test/Analysis/plist-output.m b/clang/test/Analysis/plist-output.m index 176cded..1e84971 100644 --- a/clang/test/Analysis/plist-output.m +++ b/clang/test/Analysis/plist-output.m @@ -1,5 +1,5 @@ // RUN: %clang_analyze_cc1 -analyzer-config eagerly-assume=false %s -analyzer-checker=osx.cocoa.RetainCount,deadcode.DeadStores,core -analyzer-output=plist -o %t.plist -// RUN: cat %t.plist | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/plist-output.m.plist +// RUN: cat %t.plist | %diff_plist %S/Inputs/expected-plists/plist-output.m.plist void test_null_init(void) { int *p = 0; diff --git a/clang/test/Analysis/retain-release-path-notes.m b/clang/test/Analysis/retain-release-path-notes.m index 66311e7..0563d7c 100644 --- a/clang/test/Analysis/retain-release-path-notes.m +++ b/clang/test/Analysis/retain-release-path-notes.m @@ -1,6 +1,6 @@ // RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,osx.coreFoundation.CFRetainRelease,osx.cocoa.ClassRelease,osx.cocoa.RetainCount -analyzer-store=region -analyzer-output=text -verify %s // RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,osx.coreFoundation.CFRetainRelease,osx.cocoa.ClassRelease,osx.cocoa.RetainCount -analyzer-store=region -analyzer-output=plist-multi-file %s -o %t -// RUN: cat %t | diff -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/retain-release-path-notes.m.plist +// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/retain-release-path-notes.m.plist /*** This file is for testing the path-sensitive notes for retain/release errors. diff --git a/clang/test/Analysis/unix-fns.c b/clang/test/Analysis/unix-fns.c index 7cba4e6..7f50167 100644 --- a/clang/test/Analysis/unix-fns.c +++ b/clang/test/Analysis/unix-fns.c @@ -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 -u -w -I "/" -I ".:" -I "version" - %S/Inputs/expected-plists/unix-fns.c.plist +// RUN: cat %t.plist | %diff_plist %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 -- 2.7.4