diff options
author | Julie Hockett <juliehockett@google.com> | 2018-05-09 22:25:42 +0000 |
---|---|---|
committer | Julie Hockett <juliehockett@google.com> | 2018-05-09 22:25:42 +0000 |
commit | 06af01bbc23d422df3bbac82752b935fa217893d (patch) | |
tree | 631899d68ee85b2dad89bcb57ad88ab5a82d8d68 /clang-tools-extra/test/clang-tidy/fuchsia-restrict-system-includes-headers.cpp | |
parent | 4f729f6a67337f060bab519101c0a0081cae627f (diff) | |
download | bcm5719-llvm-06af01bbc23d422df3bbac82752b935fa217893d.tar.gz bcm5719-llvm-06af01bbc23d422df3bbac82752b935fa217893d.zip |
[clang-tidy] Adding RestrictSystemIncludes check to Fuchsia module
Adding a check to restrict system includes to a whitelist. Given a list
of includes that are explicitly allowed, the check issues a fixit to
remove any system include not on that list from the source file.
Differential Revision: https://reviews.llvm.org/D43778
llvm-svn: 331930
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/fuchsia-restrict-system-includes-headers.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/fuchsia-restrict-system-includes-headers.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/fuchsia-restrict-system-includes-headers.cpp b/clang-tools-extra/test/clang-tidy/fuchsia-restrict-system-includes-headers.cpp new file mode 100644 index 00000000000..895a3478b38 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/fuchsia-restrict-system-includes-headers.cpp @@ -0,0 +1,20 @@ +// RUN: cp -r %S/Inputs/fuchsia-restrict-system-includes %T/Inputs +// RUN: %check_clang_tidy %s fuchsia-restrict-system-includes %t \ +// RUN: -- -config="{CheckOptions: [{key: fuchsia-restrict-system-includes.Includes, value: 'transitive.h;s.h'}]}" \ +// RUN: -system-headers -header-filter=.* \ +// RUN: -- -std=c++11 -I %T/Inputs/fuchsia-restrict-system-includes -isystem %T/Inputs/fuchsia-restrict-system-includes/system +// RUN: FileCheck -input-file=%T/Inputs/transitive2.h %s -check-prefix=CHECK-HEADER-FIXES + +// transitive.h includes <r.h> and <t.h> +#include <transitive.h> +// CHECK-MESSAGES: :1:1: warning: system include r.h not allowed, transitively included from {{(.*\/)*}}Inputs/fuchsia-restrict-system-includes/system/transitive.h +// CHECK-MESSAGES: :2:1: warning: system include t.h not allowed, transitively included from {{(.*\/)*}}Inputs/fuchsia-restrict-system-includes/system/transitive.h + +// transitive.h includes <s.h> and <t.h> +#include "transitive2.h" +// CHECK-MESSAGES: :2:1: warning: system include t.h not allowed, transitively included from {{(.*\/)*}}Inputs/fuchsia-restrict-system-includes/transitive2.h +// CHECK-HEADER-FIXES-NOT: #include <t.h> + +int main() { + // f() is declared in r.h +} |