summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/test')
-rw-r--r--clang-tools-extra/test/CMakeLists.txt2
-rw-r--r--clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/a.h1
-rw-r--r--clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/b.h2
-rw-r--r--clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/c.h2
-rw-r--r--clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/module.modulemap3
-rw-r--r--clang-tools-extra/test/clang-tidy/expand-modular-headers-ppcallbacks.cpp35
6 files changed, 45 insertions, 0 deletions
diff --git a/clang-tools-extra/test/CMakeLists.txt b/clang-tools-extra/test/CMakeLists.txt
index ac8d459b399..d28502ed12b 100644
--- a/clang-tools-extra/test/CMakeLists.txt
+++ b/clang-tools-extra/test/CMakeLists.txt
@@ -62,6 +62,8 @@ set(CLANG_TOOLS_TEST_DEPS
clang-resource-headers
clang-tidy
+ # Clang-tidy tests need clang for building modules.
+ clang
)
if(CLANGD_BUILD_XPC_SUPPORT)
diff --git a/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/a.h b/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/a.h
new file mode 100644
index 00000000000..6651b4fa913
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/a.h
@@ -0,0 +1 @@
+#define a
diff --git a/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/b.h b/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/b.h
new file mode 100644
index 00000000000..446eda1abd0
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/b.h
@@ -0,0 +1,2 @@
+#include "a.h"
+#define b
diff --git a/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/c.h b/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/c.h
new file mode 100644
index 00000000000..0d4c60df04b
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/c.h
@@ -0,0 +1,2 @@
+#include "b.h"
+#define c
diff --git a/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/module.modulemap b/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/module.modulemap
new file mode 100644
index 00000000000..d04240aff35
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/Inputs/expand-modular-headers-ppcallbacks/module.modulemap
@@ -0,0 +1,3 @@
+module a { header "a.h" export * }
+module b { header "b.h" export * use a }
+module c { header "c.h" export * use b }
diff --git a/clang-tools-extra/test/clang-tidy/expand-modular-headers-ppcallbacks.cpp b/clang-tools-extra/test/clang-tidy/expand-modular-headers-ppcallbacks.cpp
new file mode 100644
index 00000000000..d191922de27
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/expand-modular-headers-ppcallbacks.cpp
@@ -0,0 +1,35 @@
+// Sanity-check. Run without modules:
+// RUN: rm -rf %t
+// RUN: mkdir %t
+// RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
+// RUN: %check_clang_tidy %s readability-identifier-naming %t/without-modules -- \
+// RUN: -config="CheckOptions: [{ \
+// RUN: key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
+// RUN: -header-filter=.* \
+// RUN: -- -x c++ -std=c++11 -I%t/
+//
+// Run clang-tidy on a file with modular includes:
+//
+// RUN: rm -rf %t
+// RUN: mkdir %t
+// RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
+// RUN: %check_clang_tidy %s readability-identifier-naming %t/with-modules -- \
+// RUN: -config="CheckOptions: [{ \
+// RUN: key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
+// RUN: -header-filter=.* \
+// RUN: -- -x c++ -std=c++11 -I%t/ \
+// RUN: -fmodules -fimplicit-modules -fno-implicit-module-maps \
+// RUN: -fmodule-map-file=%t/module.modulemap \
+// RUN: -fmodules-cache-path=%t/module-cache/
+#include "c.h"
+
+// CHECK-MESSAGES: a.h:1:9: warning: invalid case style for macro definition 'a' [readability-identifier-naming]
+// CHECK-MESSAGES: a.h:1:9: note: FIX-IT applied suggested code changes
+// CHECK-MESSAGES: b.h:2:9: warning: invalid case style for macro definition 'b'
+// CHECK-MESSAGES: b.h:2:9: note: FIX-IT applied suggested code changes
+// CHECK-MESSAGES: c.h:2:9: warning: invalid case style for macro definition 'c'
+// CHECK-MESSAGES: c.h:2:9: note: FIX-IT applied suggested code changes
+
+#define m
+// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: invalid case style for macro definition 'm'
+// CHECK-MESSAGES: :[[@LINE-2]]:9: note: FIX-IT applied suggested code changes
OpenPOWER on IntegriCloud