Add %check_clang_tidy and %clang_tidy_diff.
authorManuel Klimek <klimek@google.com>
Thu, 22 Oct 2015 11:31:44 +0000 (11:31 +0000)
committerManuel Klimek <klimek@google.com>
Thu, 22 Oct 2015 11:31:44 +0000 (11:31 +0000)
With this, site specific lit configs can inject parameters into the
test scripts if they need site specific parameters.

Next up: enable check_clang_tidy to take a resource dir to enable
non-standard locations for builtin includes.

llvm-svn: 251010

82 files changed:
clang-tools-extra/test/clang-tidy/cert-setlongjmp.cpp
clang-tools-extra/test/clang-tidy/cert-variadic-function-def.cpp
clang-tools-extra/test/clang-tidy/check_clang_tidy.py
clang-tools-extra/test/clang-tidy/clang-tidy-diff.cpp
clang-tools-extra/test/clang-tidy/cppcoreguidelines-pro-bounds-pointer-arithmetic.cpp
clang-tools-extra/test/clang-tidy/cppcoreguidelines-pro-type-const-cast.cpp
clang-tools-extra/test/clang-tidy/cppcoreguidelines-pro-type-reinterpret-cast.cpp
clang-tools-extra/test/clang-tidy/cppcoreguidelines-pro-type-static-cast-downcast.cpp
clang-tools-extra/test/clang-tidy/cppcoreguidelines-pro-type-union-access.cpp
clang-tools-extra/test/clang-tidy/cppcoreguidelines-pro-type-vararg.cpp
clang-tools-extra/test/clang-tidy/google-build-explicit-make-pair.cpp
clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp
clang-tools-extra/test/clang-tidy/google-overloaded-unary-and.cpp
clang-tools-extra/test/clang-tidy/google-readability-casting.c
clang-tools-extra/test/clang-tidy/google-readability-casting.cpp
clang-tools-extra/test/clang-tidy/google-readability-namespace-comments.cpp
clang-tools-extra/test/clang-tidy/google-readability-todo.cpp
clang-tools-extra/test/clang-tidy/google-runtime-int-std.cpp
clang-tools-extra/test/clang-tidy/google-runtime-int.cpp
clang-tools-extra/test/clang-tidy/google-runtime-member-string-references.cpp
clang-tools-extra/test/clang-tidy/google-runtime-memset-zero-length.cpp
clang-tools-extra/test/clang-tidy/llvm-include-order.cpp
clang-tools-extra/test/clang-tidy/llvm-twine-local.cpp
clang-tools-extra/test/clang-tidy/misc-argument-comment.cpp
clang-tools-extra/test/clang-tidy/misc-assert-side-effect.cpp
clang-tools-extra/test/clang-tidy/misc-assign-operator-signature.cpp
clang-tools-extra/test/clang-tidy/misc-bool-pointer-implicit-conversion.cpp
clang-tools-extra/test/clang-tidy/misc-inaccurate-erase.cpp
clang-tools-extra/test/clang-tidy/misc-inefficient-algorithm.cpp
clang-tools-extra/test/clang-tidy/misc-macro-parentheses.cpp
clang-tools-extra/test/clang-tidy/misc-move-constructor-init.cpp
clang-tools-extra/test/clang-tidy/misc-new-delete-overloads-sized-dealloc.cpp
clang-tools-extra/test/clang-tidy/misc-new-delete-overloads.cpp
clang-tools-extra/test/clang-tidy/misc-noexcept-move-constructor.cpp
clang-tools-extra/test/clang-tidy/misc-non-copyable-objects.c
clang-tools-extra/test/clang-tidy/misc-non-copyable-objects.cpp
clang-tools-extra/test/clang-tidy/misc-repeated-side-effects-in-macro.c
clang-tools-extra/test/clang-tidy/misc-sizeof-container.cpp
clang-tools-extra/test/clang-tidy/misc-static-assert.c
clang-tools-extra/test/clang-tidy/misc-static-assert.cpp
clang-tools-extra/test/clang-tidy/misc-swapped-arguments.cpp
clang-tools-extra/test/clang-tidy/misc-throw-by-value-catch-by-reference.cpp
clang-tools-extra/test/clang-tidy/misc-undelegated-constructor.cpp
clang-tools-extra/test/clang-tidy/misc-uniqueptr-reset-release.cpp
clang-tools-extra/test/clang-tidy/misc-unused-alias-decls.cpp
clang-tools-extra/test/clang-tidy/misc-unused-parameters.c
clang-tools-extra/test/clang-tidy/misc-unused-parameters.cpp
clang-tools-extra/test/clang-tidy/misc-unused-raii.cpp
clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
clang-tools-extra/test/clang-tidy/modernize-loop-convert-camelback.cpp
clang-tools-extra/test/clang-tidy/modernize-loop-convert-extra.cpp
clang-tools-extra/test/clang-tidy/modernize-loop-convert-lowercase.cpp
clang-tools-extra/test/clang-tidy/modernize-loop-convert-negative.cpp
clang-tools-extra/test/clang-tidy/modernize-loop-convert-uppercase.cpp
clang-tools-extra/test/clang-tidy/modernize-make-unique.cpp
clang-tools-extra/test/clang-tidy/modernize-pass-by-value.cpp
clang-tools-extra/test/clang-tidy/modernize-replace-auto-ptr.cpp
clang-tools-extra/test/clang-tidy/modernize-shrink-to-fit.cpp
clang-tools-extra/test/clang-tidy/modernize-use-auto-iterator.cpp
clang-tools-extra/test/clang-tidy/modernize-use-auto-new.cpp
clang-tools-extra/test/clang-tidy/modernize-use-default.cpp
clang-tools-extra/test/clang-tidy/modernize-use-nullptr-basic.cpp
clang-tools-extra/test/clang-tidy/modernize-use-nullptr.cpp
clang-tools-extra/test/clang-tidy/modernize-use-override-cxx98.cpp
clang-tools-extra/test/clang-tidy/modernize-use-override.cpp
clang-tools-extra/test/clang-tidy/readability-braces-around-statements-few-lines.cpp
clang-tools-extra/test/clang-tidy/readability-braces-around-statements-same-line.cpp
clang-tools-extra/test/clang-tidy/readability-braces-around-statements-single-line.cpp
clang-tools-extra/test/clang-tidy/readability-braces-around-statements.cpp
clang-tools-extra/test/clang-tidy/readability-container-size-empty.cpp
clang-tools-extra/test/clang-tidy/readability-else-after-return.cpp
clang-tools-extra/test/clang-tidy/readability-function-size.cpp
clang-tools-extra/test/clang-tidy/readability-identifier-naming.cpp
clang-tools-extra/test/clang-tidy/readability-inconsistent-declaration-parameter-name.cpp
clang-tools-extra/test/clang-tidy/readability-named-parameter.cpp
clang-tools-extra/test/clang-tidy/readability-redundant-smartptr-get.cpp
clang-tools-extra/test/clang-tidy/readability-redundant-string-cstr.cpp
clang-tools-extra/test/clang-tidy/readability-simplify-bool-expr-chained-conditional-assignment.cpp
clang-tools-extra/test/clang-tidy/readability-simplify-bool-expr-chained-conditional-return.cpp
clang-tools-extra/test/clang-tidy/readability-simplify-bool-expr.cpp
clang-tools-extra/test/clang-tidy/readability-uniqueptr-delete-release.cpp
clang-tools-extra/test/lit.cfg

index b5b5b1e..e0cba90 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s cert-err52-cpp %t -- -std=c++11
+// RUN: %check_clang_tidy %s cert-err52-cpp %t -- -std=c++11
 
 typedef void *jmp_buf;
 extern int __setjmpimpl(jmp_buf);
index 2c1420b..6b2421b 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s cert-dcl50-cpp %t
+// RUN: %check_clang_tidy %s cert-dcl50-cpp %t
 
 // Variadic function definitions are diagnosed.
 void f1(int, ...) {}
index b6c82d9..101553c 100755 (executable)
@@ -20,7 +20,7 @@ Usage:
     [optional clang-tidy arguments]
 
 Example:
-  // RUN: %python %S/check_clang_tidy.py %s llvm-include-order %t -- -isystem $(dirname %s)/Inputs/Headers
+  // RUN: %check_clang_tidy %s llvm-include-order %t -- -isystem $(dirname %s)/Inputs/Headers
 """
 
 import re
index f024195..88a0c01 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: sed 's/placeholder_for_f/f/' %s > %t.cpp
 // RUN: clang-tidy -checks=-*,modernize-use-override %t.cpp -- -std=c++11 | FileCheck -check-prefix=CHECK-SANITY %s
-// RUN: not diff -U0 %s %t.cpp | %python %S/../../clang-tidy/tool/clang-tidy-diff.py -checks=-*,modernize-use-override -- -std=c++11 2>&1 | FileCheck %s
+// RUN: not diff -U0 %s %t.cpp | %clang_tidy_diff -checks=-*,modernize-use-override -- -std=c++11 2>&1 | FileCheck %s
 struct A {
   virtual void f() {}
   virtual void g() {}
index b765f00..c8fea80 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s cppcoreguidelines-pro-bounds-pointer-arithmetic %t
+// RUN: %check_clang_tidy %s cppcoreguidelines-pro-bounds-pointer-arithmetic %t
 
 enum E {
   ENUM_LITERAL = 1
index 6221c04..2d32e13 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s cppcoreguidelines-pro-type-const-cast %t
+// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-const-cast %t
 
 const int *i;
 int *j;
index 0282232..5420810 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s cppcoreguidelines-pro-type-reinterpret-cast %t
+// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-reinterpret-cast %t
 
 int i = 0;
 void *j;
index 4e31f6f..7a6c027 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s cppcoreguidelines-pro-type-static-cast-downcast %t
+// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-static-cast-downcast %t
 
 class Base {
 };
index 2596b44..6abc22b 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s cppcoreguidelines-pro-type-union-access %t
+// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-union-access %t
 
 union U {
   bool union_member1;
index b2b4784..4df1c37 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s cppcoreguidelines-pro-type-vararg %t
+// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-vararg %t
 
 void f(int i);
 void f_vararg(int i, ...);
index ac51ce6..6dcd357 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-build-explicit-make-pair %t
+// RUN: %check_clang_tidy %s google-build-explicit-make-pair %t
 
 namespace std {
 template <class T1, class T2>
index 0bc7040..02a1600 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-explicit-constructor %t
+// RUN: %check_clang_tidy %s google-explicit-constructor %t
 
 namespace std {
   typedef decltype(sizeof(int)) size_t;
index ab1312f..16893d2 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-runtime-operator %t
+// RUN: %check_clang_tidy %s google-runtime-operator %t
 
 struct Foo {
   void *operator&();
index b195667..0d14813 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-readability-casting %t -- -x c
+// RUN: %check_clang_tidy %s google-readability-casting %t -- -x c
 // The testing script always adds .cpp extension to the input file name, so we
 // need to run clang-tidy directly in order to verify handling of .c files:
 // RUN: clang-tidy --checks=-*,google-readability-casting %s -- -x c++ | FileCheck %s -check-prefix=CHECK-MESSAGES -implicit-check-not='{{warning|error}}:'
index 50c3cb7..5b9e16b 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-readability-casting %t
+// RUN: %check_clang_tidy %s google-readability-casting %t
 
 bool g() { return false; }
 
index ab5391b..1996552 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-readability-namespace-comments %t
+// RUN: %check_clang_tidy %s google-readability-namespace-comments %t
 
 namespace n1 {
 namespace n2 {
index d2e3b6c..967b15c 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-readability-todo %t -config="{User: 'some user'}" --
+// RUN: %check_clang_tidy %s google-readability-todo %t -config="{User: 'some user'}" --
 
 //   TODOfix this1
 // CHECK-MESSAGES: [[@LINE-1]]:1: warning: missing username/bug in TODO
index 8efd504..0b3c895 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-runtime-int %t \
+// RUN: %check_clang_tidy %s google-runtime-int %t \
 // RUN:   -config='{CheckOptions: [ \
 // RUN:     {key: google-runtime-int.UnsignedTypePrefix, value: "std::uint"}, \
 // RUN:     {key: google-runtime-int.SignedTypePrefix, value: "std::int"}, \
index 6529ffc..bcf6eb6 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-runtime-int %t
+// RUN: %check_clang_tidy %s google-runtime-int %t
 
 long a();
 // CHECK-MESSAGES: [[@LINE-1]]:1: warning: consider replacing 'long' with 'int{{..}}'
index 0914645..b153149 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-runtime-member-string-references %t
+// RUN: %check_clang_tidy %s google-runtime-member-string-references %t
 
 namespace std {
 template<typename T>
index 88c38e6..db75cb0 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s google-runtime-memset %t
+// RUN: %check_clang_tidy %s google-runtime-memset %t
 
 void *memset(void *, int, __SIZE_TYPE__);
 
index 6be5d05..d323db2 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s llvm-include-order %t -- -isystem %S/Inputs/Headers
+// RUN: %check_clang_tidy %s llvm-include-order %t -- -isystem %S/Inputs/Headers
 
 // CHECK-MESSAGES: [[@LINE+2]]:1: warning: #includes are not sorted properly
 #include "j.h"
index a571109..aa99420 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s llvm-twine-local %t
+// RUN: %check_clang_tidy %s llvm-twine-local %t
 
 namespace llvm {
 class Twine {
index 93fcb12..93217b0 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-argument-comment %t
+// RUN: %check_clang_tidy %s misc-argument-comment %t
 
 // FIXME: clang-tidy should provide a -verify mode to make writing these checks
 // easier and more accurate.
index e995aa3..a87418c 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-assert-side-effect %t -config="{CheckOptions: [{key: misc-assert-side-effect.CheckFunctionCalls, value: 1}, {key: misc-assert-side-effect.AssertMacros, value: 'assert,assert2,my_assert,convoluted_assert'}]}" -- -fexceptions
+// RUN: %check_clang_tidy %s misc-assert-side-effect %t -config="{CheckOptions: [{key: misc-assert-side-effect.CheckFunctionCalls, value: 1}, {key: misc-assert-side-effect.AssertMacros, value: 'assert,assert2,my_assert,convoluted_assert'}]}" -- -fexceptions
 
 //===--- assert definition block ------------------------------------------===//
 int abort() { return 0; }
index c0dacc7..1b85d4b 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-assign-operator-signature %t
+// RUN: %check_clang_tidy %s misc-assign-operator-signature %t
 
 struct Good {
   Good& operator=(const Good&);
index 147b372..bb71ce1 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-bool-pointer-implicit-conversion %t
+// RUN: %check_clang_tidy %s misc-bool-pointer-implicit-conversion %t
 
 bool *SomeFunction();
 void SomeOtherFunction(bool*);
index 2e86638..4c75003 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-inaccurate-erase %t
+// RUN: %check_clang_tidy %s misc-inaccurate-erase %t
 
 namespace std {
 template <typename T> struct vec_iterator {
index 9bc5628..df962c9 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-inefficient-algorithm %t
+// RUN: %check_clang_tidy %s misc-inefficient-algorithm %t
 
 namespace std {
 template <typename T> struct less {
index 6959ee7..123841a 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-macro-parentheses %t
+// RUN: %check_clang_tidy %s misc-macro-parentheses %t
 
 #define BAD1              -1
 // CHECK-MESSAGES: :[[@LINE-1]]:27: warning: macro replacement list should be enclosed in parentheses [misc-macro-parentheses]
index e3c0174..3ac93ef 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-move-constructor-init %t -- -std=c++11 -isystem %S/Inputs/Headers
+// RUN: %check_clang_tidy %s misc-move-constructor-init %t -- -std=c++11 -isystem %S/Inputs/Headers
 
 #include <s.h>
 
index 736ab94..4dc4ade 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-new-delete-overloads %t -- -std=c++14 -fsized-deallocation
+// RUN: %check_clang_tidy %s misc-new-delete-overloads %t -- -std=c++14 -fsized-deallocation
 
 typedef decltype(sizeof(int)) size_t;
 
index d893ada..42f2a45 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-new-delete-overloads %t -- -std=c++14
+// RUN: %check_clang_tidy %s misc-new-delete-overloads %t -- -std=c++14
 
 typedef decltype(sizeof(int)) size_t;
 
index bb66471..289cc13 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-noexcept-move-constructor %t
+// RUN: %check_clang_tidy %s misc-noexcept-move-constructor %t
 
 class A {
   A(A &&);
index 4fe10e6..98e52b9 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-non-copyable-objects %t\r
+// RUN: %check_clang_tidy %s misc-non-copyable-objects %t\r
 \r
 typedef struct FILE {} FILE;\r
 typedef struct pthread_cond_t {} pthread_cond_t;\r
index 2f18f6f..3d716f4 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-non-copyable-objects %t
+// RUN: %check_clang_tidy %s misc-non-copyable-objects %t
 
 namespace std {
 typedef struct FILE {} FILE;
index e83caae..a23dd0c 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-macro-repeated-side-effects %t
+// RUN: %check_clang_tidy %s misc-macro-repeated-side-effects %t
 
 #define badA(x,y)  ((x)+((x)+(y))+(y))
 void bad(int ret, int a, int b) {
index fc84b2b..ebb8bdf 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-sizeof-container %t -- -std=c++11 -target x86_64-unknown-unknown
+// RUN: %check_clang_tidy %s misc-sizeof-container %t -- -std=c++11 -target x86_64-unknown-unknown
 
 namespace std {
 
index aa0b7ee..86738c9 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-static-assert %t -- -std=c11\r
+// RUN: %check_clang_tidy %s misc-static-assert %t -- -std=c11\r
 // RUN: clang-tidy %s -checks=-*,misc-static-assert -- -std=c99 | count 0\r
 \r
 void abort() {}\r
index aa65edf..2a645d5 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-static-assert %t
+// RUN: %check_clang_tidy %s misc-static-assert %t
 
 void abort() {}
 #ifdef NDEBUG
index c6f96ec..128bc75 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-swapped-arguments %t
+// RUN: %check_clang_tidy %s misc-swapped-arguments %t
 
 void F(int, double);
 
index fc730d8..134e8de 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-throw-by-value-catch-by-reference %t -- -std=c++11 -fcxx-exceptions
+// RUN: %check_clang_tidy %s misc-throw-by-value-catch-by-reference %t -- -std=c++11 -fcxx-exceptions
 
 
 class logic_error {
index fbd4647..1b5e3c4 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-undelegated-constructor %t
+// RUN: %check_clang_tidy %s misc-undelegated-constructor %t
 
 struct Ctor;
 Ctor foo();
index 710f8d6..1bd6e6f 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-uniqueptr-reset-release %t
+// RUN: %check_clang_tidy %s misc-uniqueptr-reset-release %t
 
 namespace std {
 
index 845e745..6d63df4 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-unused-alias-decls %t
+// RUN: %check_clang_tidy %s misc-unused-alias-decls %t
 
 namespace my_namespace {
 class C {};
index 7832ee8..b20c088 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-unused-parameters %t -- -xc
+// RUN: %check_clang_tidy %s misc-unused-parameters %t -- -xc
 
 // Basic removal
 // =============
index 9e84590..a609940 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: echo "static void staticFunctionHeader(int i) {}" > %T/header.h
 // RUN: echo "static void staticFunctionHeader(int  /*i*/) {}" > %T/header-fixed.h
-// RUN: %python %S/check_clang_tidy.py %s misc-unused-parameters %t -header-filter='.*' -- -std=c++11 -fno-delayed-template-parsing
+// RUN: %check_clang_tidy %s misc-unused-parameters %t -header-filter='.*' -- -std=c++11 -fno-delayed-template-parsing
 // RUN: diff %T/header.h %T/header-fixed.h
 
 #include "header.h"
index 70b3c80..f22746c 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s misc-unused-raii %t
+// RUN: %check_clang_tidy %s misc-unused-raii %t
 
 struct Foo {
   Foo();
index 145ea7f..6f03acd 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-loop-convert %t -- -std=c++11 -I %S/Inputs/modernize-loop-convert
+// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -std=c++11 -I %S/Inputs/modernize-loop-convert
 
 #include "structures.h"
 
index 78ce4dc..786a3d3 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-loop-convert %t \
+// RUN: %check_clang_tidy %s modernize-loop-convert %t \
 // RUN:   -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'camelBack'}]}" \
 // RUN:   -- -std=c++11 -I %S/Inputs/modernize-loop-convert
 
index a72e77f..518f516 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-loop-convert %t -- -std=c++11 -I %S/Inputs/modernize-loop-convert
+// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -std=c++11 -I %S/Inputs/modernize-loop-convert
 
 #include "structures.h"
 
index d1ca71a..2d99ebb 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-loop-convert %t \
+// RUN: %check_clang_tidy %s modernize-loop-convert %t \
 // RUN:   -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'lower_case'}]}" \
 // RUN:   -- -std=c++11 -I %S/Inputs/modernize-loop-convert
 
index 05d7422..7ddebac 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-loop-convert %t -- -std=c++11 -I %S/Inputs/modernize-loop-convert
+// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -std=c++11 -I %S/Inputs/modernize-loop-convert
 
 #include "structures.h"
 
index 1f172a4..5edbe08 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-loop-convert %t \
+// RUN: %check_clang_tidy %s modernize-loop-convert %t \
 // RUN:   -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'UPPER_CASE'}]}" \
 // RUN:   -- -std=c++11 -I %S/Inputs/modernize-loop-convert
 
index ce92b4c..fdf834e 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-make-unique %t
+// RUN: %check_clang_tidy %s modernize-make-unique %t
 
 namespace std {
 
index e9347fc..e726044 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-pass-by-value %t -- -std=c++11 -fno-delayed-template-parsing
+// RUN: %check_clang_tidy %s modernize-pass-by-value %t -- -std=c++11 -fno-delayed-template-parsing
 
 // CHECK-FIXES: #include <utility>
 
index 632477d..58d562a 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-replace-auto-ptr %t -- \
+// RUN: %check_clang_tidy %s modernize-replace-auto-ptr %t -- \
 // RUN:   -std=c++11 -I %S/Inputs/modernize-replace-auto-ptr
 
 // CHECK-FIXES: #include <utility>
index e369488..1cbb0b4 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-shrink-to-fit %t
+// RUN: %check_clang_tidy %s modernize-shrink-to-fit %t
 
 namespace std {
 template <typename T> struct vector { void swap(vector &other); };
index 4426ee5..15a7c9c 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-use-auto %t -- \
+// RUN: %check_clang_tidy %s modernize-use-auto %t -- \
 // RUN:   -std=c++11 -I %S/Inputs/modernize-use-auto
 
 #include "containers.h"
index f934c0d..ccf48d5 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-use-auto %t
+// RUN: %check_clang_tidy %s modernize-use-auto %t
 
 class MyType {};
 
index 0119a03..504a605 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-use-default %t -- -std=c++11 -fno-delayed-template-parsing
+// RUN: %check_clang_tidy %s modernize-use-default %t -- -std=c++11 -fno-delayed-template-parsing
 
 class A {
 public:
index f384d26..eb2f842 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-use-nullptr %t -- \
+// RUN: %check_clang_tidy %s modernize-use-nullptr %t -- \
 // RUN:   -std=c++98 -Wno-non-literal-null-conversion
 //
 // Some parts of the test (e.g. assignment of `const int` to `int *`) fail in
index ef37a91..a18c7a6 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-use-nullptr %t \
+// RUN: %check_clang_tidy %s modernize-use-nullptr %t \
 // RUN:   -config="{CheckOptions: [{key: modernize-use-nullptr.NullMacros, value: 'MY_NULL,NULL'}]}" \
 // RUN:   -- -std=c++11
 
index c061e8a..41e2b98 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-use-override %t -- -std=c++98
+// RUN: %check_clang_tidy %s modernize-use-override %t -- -std=c++98
 
 struct Base {
   virtual ~Base() {}
index 8d6dfaf..cfd9b0b 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s modernize-use-override %t
+// RUN: %check_clang_tidy %s modernize-use-override %t
 
 #define ABSTRACT = 0
 
index db01ccd..0165336 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-braces-around-statements %t -config="{CheckOptions: [{key: readability-braces-around-statements.ShortStatementLines, value: 4}]}" --
+// RUN: %check_clang_tidy %s readability-braces-around-statements %t -config="{CheckOptions: [{key: readability-braces-around-statements.ShortStatementLines, value: 4}]}" --
 
 void do_something(const char *) {}
 
index 1f6f0c0..2f0cc46 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-braces-around-statements %t -config="{CheckOptions: [{key: readability-braces-around-statements.ShortStatementLines, value: 1}]}" --
+// RUN: %check_clang_tidy %s readability-braces-around-statements %t -config="{CheckOptions: [{key: readability-braces-around-statements.ShortStatementLines, value: 1}]}" --
 
 void do_something(const char *) {}
 
index 96d91ae..7352c8b 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-braces-around-statements %t -config="{CheckOptions: [{key: readability-braces-around-statements.ShortStatementLines, value: 2}]}" --
+// RUN: %check_clang_tidy %s readability-braces-around-statements %t -config="{CheckOptions: [{key: readability-braces-around-statements.ShortStatementLines, value: 2}]}" --
 
 void do_something(const char *) {}
 
index 485a13a..ee147f6 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-braces-around-statements %t
+// RUN: %check_clang_tidy %s readability-braces-around-statements %t
 
 void do_something(const char *) {}
 
index 6443bde..9dea5dc 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-container-size-empty %t
+// RUN: %check_clang_tidy %s readability-container-size-empty %t
 
 namespace std {
 template <typename T> struct vector {
index f345be5..28fd2ec 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-else-after-return %t
+// RUN: %check_clang_tidy %s readability-else-after-return %t
 
 void f(int a) {
   if (a > 0)
index 7bf2eff..9536bb6 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-function-size %t -config='{CheckOptions: [{key: readability-function-size.LineThreshold, value: 0}, {key: readability-function-size.StatementThreshold, value: 0}, {key: readability-function-size.BranchThreshold, value: 0}]}' -- -std=c++11
+// RUN: %check_clang_tidy %s readability-function-size %t -config='{CheckOptions: [{key: readability-function-size.LineThreshold, value: 0}, {key: readability-function-size.StatementThreshold, value: 0}, {key: readability-function-size.BranchThreshold, value: 0}]}' -- -std=c++11
 
 void foo1() {
 }
index 681fd7e..a97f8e9 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-identifier-naming %t \
+// RUN: %check_clang_tidy %s readability-identifier-naming %t \
 // RUN:   -config='{CheckOptions: [ \
 // RUN:     {key: readability-identifier-naming.AbstractClassCase, value: CamelCase}, \
 // RUN:     {key: readability-identifier-naming.AbstractClassPrefix, value: 'A'}, \
index 15dbeb1..55a9a5f 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-inconsistent-declaration-parameter-name %t -- -std=c++11 -fno-delayed-template-parsing
+// RUN: %check_clang_tidy %s readability-inconsistent-declaration-parameter-name %t -- -std=c++11 -fno-delayed-template-parsing
 
 void consistentFunction(int a, int b, int c);
 void consistentFunction(int a, int b, int c);
index ddd9671..f2d31e2 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-named-parameter %t
+// RUN: %check_clang_tidy %s readability-named-parameter %t
 
 void Method(char *) { /* */ }
 // CHECK-MESSAGES: :[[@LINE-1]]:19: warning: all parameters should be named in a function
index 0c1e200..2840ab2 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-redundant-smartptr-get %t
+// RUN: %check_clang_tidy %s readability-redundant-smartptr-get %t
 
 #define NULL __null
 
index 9c610ea..e6f6328 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-redundant-string-cstr %t
+// RUN: %check_clang_tidy %s readability-redundant-string-cstr %t
 
 namespace std {
 template <typename T>
index 3951849..b0e85df 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-simplify-boolean-expr %t -config="{CheckOptions: [{key: "readability-simplify-boolean-expr.ChainedConditionalAssignment", value: 1}]}" --
+// RUN: %check_clang_tidy %s readability-simplify-boolean-expr %t -config="{CheckOptions: [{key: "readability-simplify-boolean-expr.ChainedConditionalAssignment", value: 1}]}" --
 
 void chained_conditional_compound_assignment(int i) {
   bool b;
index 3400cc2..d002191 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-simplify-boolean-expr %t -config="{CheckOptions: [{key: "readability-simplify-boolean-expr.ChainedConditionalReturn", value: 1}]}" --
+// RUN: %check_clang_tidy %s readability-simplify-boolean-expr %t -config="{CheckOptions: [{key: "readability-simplify-boolean-expr.ChainedConditionalReturn", value: 1}]}" --
 
 bool chained_conditional_compound_return(int i) {
   if (i < 0) {
index 327a92d..58cb416 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-simplify-boolean-expr %t
+// RUN: %check_clang_tidy %s readability-simplify-boolean-expr %t
 
 bool a1 = false;
 
index 8fb7562..aa8ae25 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %python %S/check_clang_tidy.py %s readability-uniqueptr-delete-release %t
+// RUN: %check_clang_tidy %s readability-uniqueptr-delete-release %t
 
 namespace std {
 template <typename T>
index 21f353a..e6dab49 100644 (file)
@@ -188,4 +188,13 @@ if not platform.system() in ['Windows'] or not execute_external:
 if platform.system() not in ['Windows']:
     config.available_features.add('ansi-escape-sequences')
 
-config.substitutions.append( ('%python', config.python_executable) )
+check_clang_tidy = os.path.join(
+    config.test_source_root, "clang-tidy", "check_clang_tidy.py")
+config.substitutions.append(
+    ('%check_clang_tidy',
+     '%s %s' % (config.python_executable, check_clang_tidy)) )
+clang_tidy_diff = os.path.join(
+    config.test_source_root, "..", "clang-tidy", "tool", "clang-tidy-diff.py")
+config.substitutions.append(
+    ('%clang_tidy_diff',
+     '%s %s' % (config.python_executable, clang_tidy_diff)) )