diff options
author | Carlos Galvez <carlosgalvezp@gmail.com> | 2023-05-04 19:47:41 +0000 |
---|---|---|
committer | Carlos Galvez <carlosgalvezp@gmail.com> | 2023-05-07 16:36:30 +0000 |
commit | 26f476286fbcb5cde51176abb2d3c6c0986bc410 (patch) | |
tree | ec364da0c266e3b9ce6dae9d4b322e9a42f46eb3 /clang-tools-extra/test | |
parent | bd89b1f1eab2897aafb00980874326003637c18e (diff) | |
download | llvm-26f476286fbcb5cde51176abb2d3c6c0986bc410.tar.gz |
[clang-tidy] Support SystemHeaders in .clang-tidy
A previous patch update the clang-tidy documentation
incorrectly claiming that SystemHeaders can be provided
in the .clang-tidy configuration file.
This patch adds support for it, together with tests.
Differential Revision: https://reviews.llvm.org/D149899
Diffstat (limited to 'clang-tools-extra/test')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/infrastructure/Inputs/system-headers/system_header.h | 1 | ||||
-rw-r--r-- | clang-tools-extra/test/clang-tidy/infrastructure/system-headers.cpp | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/infrastructure/Inputs/system-headers/system_header.h b/clang-tools-extra/test/clang-tidy/infrastructure/Inputs/system-headers/system_header.h new file mode 100644 index 000000000000..1a3014e83745 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/infrastructure/Inputs/system-headers/system_header.h @@ -0,0 +1 @@ +class Foo { Foo(int); }; diff --git a/clang-tools-extra/test/clang-tidy/infrastructure/system-headers.cpp b/clang-tools-extra/test/clang-tidy/infrastructure/system-headers.cpp new file mode 100644 index 000000000000..9fa990b6aac8 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/infrastructure/system-headers.cpp @@ -0,0 +1,24 @@ +// RUN: clang-tidy -dump-config -system-headers=true | FileCheck -check-prefix=CHECK-CONFIG-SYSTEM-HEADERS %s +// RUN: clang-tidy -dump-config -system-headers=false | FileCheck -check-prefix=CHECK-CONFIG-NO-SYSTEM-HEADERS %s +// RUN: clang-tidy -config='SystemHeaders: true' -dump-config | FileCheck -check-prefix=CHECK-CONFIG-SYSTEM-HEADERS %s +// RUN: clang-tidy -config='SystemHeaders: false' -dump-config | FileCheck -check-prefix=CHECK-CONFIG-NO-SYSTEM-HEADERS %s + +// RUN: clang-tidy -system-headers=true -config='SystemHeaders: true' -dump-config | FileCheck -check-prefix=CHECK-CONFIG-SYSTEM-HEADERS %s +// RUN: clang-tidy -system-headers=true -config='SystemHeaders: false' -dump-config | FileCheck -check-prefix=CHECK-CONFIG-SYSTEM-HEADERS %s +// RUN: clang-tidy -system-headers=false -config='SystemHeaders: true' -dump-config | FileCheck -check-prefix=CHECK-CONFIG-NO-SYSTEM-HEADERS %s +// RUN: clang-tidy -system-headers=false -config='SystemHeaders: false' -dump-config | FileCheck -check-prefix=CHECK-CONFIG-NO-SYSTEM-HEADERS %s + +// RUN: clang-tidy -help | FileCheck -check-prefix=CHECK-OPT-PRESENT %s + +// RUN: clang-tidy -checks='-*,google-explicit-constructor' -header-filter='.*' -system-headers=true %s -- -isystem %S/Inputs/system-headers 2>&1 | FileCheck -check-prefix=CHECK-SYSTEM-HEADERS %s +// RUN: clang-tidy -checks='-*,google-explicit-constructor' -header-filter='.*' -system-headers=false %s -- -isystem %S/Inputs/system-headers 2>&1 | FileCheck -check-prefix=CHECK-NO-SYSTEM-HEADERS %s +// RUN: clang-tidy -checks='-*,google-explicit-constructor' -header-filter='.*' -config='SystemHeaders: true' %s -- -isystem %S/Inputs/system-headers 2>&1 | FileCheck -check-prefix=CHECK-SYSTEM-HEADERS %s +// RUN: clang-tidy -checks='-*,google-explicit-constructor' -header-filter='.*' -config='SystemHeaders: false' %s -- -isystem %S/Inputs/system-headers 2>&1 | FileCheck -check-prefix=CHECK-NO-SYSTEM-HEADERS %s + +#include <system_header.h> +// CHECK-SYSTEM-HEADERS: system_header.h:1:13: warning: single-argument constructors must be marked explicit +// CHECK-NO-SYSTEM-HEADERS-NOT: system_header.h:1:13: warning: single-argument constructors must be marked explicit + +// CHECK-CONFIG-NO-SYSTEM-HEADERS: SystemHeaders: false +// CHECK-CONFIG-SYSTEM-HEADERS: SystemHeaders: true +// CHECK-OPT-PRESENT: --system-headers |