mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-15 04:00:56 +00:00
[analyzer][tests] Use normalize_plist in place of diff_plist (cat
cases)
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 mechanically to the cases where the output file is piped to `%diff_plist` via `cat`. The changes were applied via a script, except that `clang/test/Analysis/NewDelete-path-notes.cpp` and `clang/test/Analysis/plist-macros-with-expansion.cpp` were each adjusted for the line-continuation on the relevant `RUN` step. Reviewers: NoQ, sfertile, xingxue, jasonliu, daltenty 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/D62950 llvm-svn: 362996
This commit is contained in:
parent
e44fa83c37
commit
65db5d4cb5
@ -11,7 +11,7 @@
|
||||
// RUN: -analyzer-checker=cplusplus.NewDelete,unix.Malloc \
|
||||
// RUN: -analyzer-config add-pop-up-notes=false \
|
||||
// RUN: -analyzer-output=plist %s -o %t.plist
|
||||
// RUN: cat %t.plist | %diff_plist \
|
||||
// RUN: %normalize_plist <%t.plist | diff -u \
|
||||
// RUN: %S/Inputs/expected-plists/NewDelete-path-notes.cpp.plist -
|
||||
|
||||
void test() {
|
||||
|
@ -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_plist %S/Inputs/expected-plists/conditional-path-notes.c.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/conditional-path-notes.c.plist -
|
||||
|
||||
void testCondOp(int *p) {
|
||||
int *x = p ? p : p;
|
||||
|
@ -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_plist %S/Inputs/expected-plists/plist-diagnostics-notes-as-events.cpp.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/plist-diagnostics-notes-as-events.cpp.plist -
|
||||
|
||||
void log();
|
||||
|
||||
|
@ -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_plist %S/Inputs/expected-plists/plist-diagnostics.cpp.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/plist-diagnostics.cpp.plist -
|
||||
|
||||
void log();
|
||||
|
||||
|
@ -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_plist %S/Inputs/expected-plists/cxx-for-range.cpp.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/cxx-for-range.cpp.plist -
|
||||
|
||||
extern void work();
|
||||
|
||||
|
@ -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_plist %S/Inputs/expected-plists/deref-track-symbolic-region.c.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/deref-track-symbolic-region.c.plist -
|
||||
|
||||
struct S {
|
||||
int *x;
|
||||
|
@ -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_plist %S/Inputs/expected-plists/report-issues-within-main-file.cpp.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/report-issues-within-main-file.cpp.plist -
|
||||
#include "Inputs/include/report-issues-within-main-file.h"
|
||||
|
||||
void mainPlusHeader() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist -o %t %s
|
||||
// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/undef-value-caller.c.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/undef-value-caller.c.plist -
|
||||
|
||||
#include "undef-value-callee.h"
|
||||
|
||||
|
@ -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_plist %S/Inputs/expected-plists/undef-value-param.c.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/undef-value-param.c.plist -
|
||||
|
||||
void foo_irrelevant(int c) {
|
||||
if (c)
|
||||
|
@ -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_plist %S/Inputs/expected-plists/undef-value-param.m.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/undef-value-param.m.plist -
|
||||
|
||||
typedef signed char BOOL;
|
||||
@protocol NSObject - (BOOL)isEqual:(id)object; @end
|
||||
|
@ -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_plist %S/Inputs/expected-plists/edges-new.mm.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/edges-new.mm.plist -
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Forward declarations (from headers).
|
||||
|
@ -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_plist %S/Inputs/expected-plists/generics.m.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/generics.m.plist -
|
||||
|
||||
#if !__has_feature(objc_generics)
|
||||
# error Compiler does not support Objective-C generics?
|
||||
|
@ -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_plist %S/Inputs/expected-plists/inline-plist.c.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/inline-plist.c.plist -
|
||||
|
||||
// <rdar://problem/10967815>
|
||||
void mmm(int y) {
|
||||
|
@ -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_plist %S/Inputs/expected-plists/inline-unique-reports.c.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/inline-unique-reports.c.plist -
|
||||
|
||||
static inline bug(int *p) {
|
||||
*p = 0xDEADBEEF;
|
||||
|
@ -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_plist %S/Inputs/expected-plists/eager-reclamation-path-notes.c.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %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')}}
|
||||
|
@ -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_plist %S/Inputs/expected-plists/eager-reclamation-path-notes.cpp.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/eager-reclamation-path-notes.cpp.plist -
|
||||
|
||||
typedef struct {
|
||||
int getValue();
|
||||
|
@ -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_plist %S/Inputs/expected-plists/path-notes.c.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/path-notes.c.plist -
|
||||
|
||||
void zero(int **p) {
|
||||
*p = 0;
|
||||
|
@ -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_plist %S/Inputs/expected-plists/path-notes.cpp.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/path-notes.cpp.plist -
|
||||
|
||||
class Foo {
|
||||
public:
|
||||
|
@ -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_plist %S/Inputs/expected-plists/path-notes.m.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/path-notes.m.plist -
|
||||
|
||||
typedef struct dispatch_queue_s *dispatch_queue_t;
|
||||
typedef void (^dispatch_block_t)(void);
|
||||
|
@ -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_plist %S/Inputs/expected-plists/method-call-path-notes.cpp.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/method-call-path-notes.cpp.plist -
|
||||
|
||||
// Test warning about null or uninitialized pointer values used as instance member
|
||||
// calls.
|
||||
|
@ -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_plist %S/Inputs/expected-plists/model-file.cpp.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/model-file.cpp.plist -
|
||||
|
||||
typedef int* intptr;
|
||||
|
||||
|
@ -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_plist %S/Inputs/expected-plists/null-deref-path-notes.m.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/null-deref-path-notes.m.plist -
|
||||
|
||||
@interface Root {
|
||||
@public
|
||||
|
@ -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_plist %S/Inputs/expected-plists/nullability-notes.m.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/nullability-notes.m.plist -
|
||||
|
||||
#include "Inputs/system-header-simulator-for-nullability.h"
|
||||
|
||||
|
@ -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_plist %S/Inputs/expected-plists/objc-arc.m.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/objc-arc.m.plist -
|
||||
|
||||
typedef signed char BOOL;
|
||||
typedef struct _NSZone NSZone;
|
||||
|
@ -1,6 +1,6 @@
|
||||
// RUN: %clang_analyze_cc1 -analyzer-checker=core,osx.cocoa.RetainCount -fblocks -verify %s
|
||||
// RUN: %clang_analyze_cc1 -analyzer-checker=core,osx.cocoa.RetainCount -fblocks -analyzer-output=plist-multi-file %s -o %t
|
||||
// RUN: cat %t | %diff_plist %S/Inputs/expected-plists/objc-radar17039661.m.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/objc-radar17039661.m.plist -
|
||||
|
||||
@class NSString;
|
||||
typedef long NSInteger;
|
||||
|
@ -5,7 +5,7 @@
|
||||
// RUN: -analyzer-config expand-macros=true
|
||||
//
|
||||
// Check the actual plist output.
|
||||
// RUN: cat %t.plist | %diff_plist \
|
||||
// RUN: %normalize_plist <%t.plist | diff -u \
|
||||
// RUN: %S/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist -
|
||||
//
|
||||
// Check the macro expansions from the plist output here, to make the test more
|
||||
|
@ -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_plist %S/Inputs/expected-plists/plist-macros.cpp.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/plist-macros.cpp.plist -
|
||||
|
||||
|
||||
typedef __typeof(sizeof(int)) size_t;
|
||||
|
@ -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_plist %S/Inputs/expected-plists/plist-output-alternate.m.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/plist-output-alternate.m.plist -
|
||||
|
||||
void test_null_init(void) {
|
||||
int *p = 0;
|
||||
|
@ -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_plist %S/Inputs/expected-plists/plist-output.m.plist -
|
||||
// RUN: %normalize_plist <%t.plist | diff -u %S/Inputs/expected-plists/plist-output.m.plist -
|
||||
|
||||
void test_null_init(void) {
|
||||
int *p = 0;
|
||||
|
@ -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_plist %S/Inputs/expected-plists/retain-release-path-notes.m.plist -
|
||||
// RUN: %normalize_plist <%t | diff -u %S/Inputs/expected-plists/retain-release-path-notes.m.plist -
|
||||
|
||||
/***
|
||||
This file is for testing the path-sensitive notes for retain/release errors.
|
||||
|
@ -17,8 +17,8 @@
|
||||
// RUN: -Wno-objc-root-class -x objective-c++ -std=gnu++98\
|
||||
// RUN: -analyzer-config osx.cocoa.RetainCount:TrackNSCFStartParam=true\
|
||||
// RUN: -DTRACK_START_PARAM
|
||||
// RUN: cat %t.objcpp.plist | %diff_plist %S/Inputs/expected-plists/retain-release.m.objcpp.plist -
|
||||
// RUN: cat %t.objc.plist | %diff_plist %S/Inputs/expected-plists/retain-release.m.objc.plist -
|
||||
// RUN: %normalize_plist <%t.objcpp.plist | diff -u %S/Inputs/expected-plists/retain-release.m.objcpp.plist -
|
||||
// RUN: %normalize_plist <%t.objc.plist | diff -u %S/Inputs/expected-plists/retain-release.m.objc.plist -
|
||||
|
||||
void clang_analyzer_eval(int);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user