| # This file is licensed under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| package( |
| default_visibility = ["//visibility:public"], |
| licenses = ["notice"], |
| ) |
| |
| cc_test( |
| name = "ast_tests", |
| size = "medium", |
| srcs = glob( |
| [ |
| "AST/*.cpp", |
| "AST/*.h", |
| ], |
| allow_empty = False, |
| ), |
| shard_count = 20, |
| deps = [ |
| "//clang:ast", |
| "//clang:ast_matchers", |
| "//clang:basic", |
| "//clang:frontend", |
| "//clang:lex", |
| "//clang:testing", |
| "//clang:tooling", |
| "//llvm:Core", |
| "//llvm:Support", |
| "//llvm:TestingSupport", |
| "//llvm:gmock", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "ast_matchers_tests_hdrs", |
| testonly = 1, |
| hdrs = glob( |
| ["ASTMatchers/*.h"], |
| allow_empty = False, |
| ), |
| deps = [ |
| "//clang:ast_matchers", |
| "//clang:frontend", |
| "//clang:testing", |
| "//clang:tooling", |
| "//llvm:gtest", |
| ], |
| ) |
| |
| cc_test( |
| name = "ast_matchers_tests", |
| size = "medium", |
| srcs = glob( |
| ["ASTMatchers/*.cpp"], |
| allow_empty = False, |
| ), |
| shard_count = 20, |
| deps = [ |
| ":ast_matchers_tests_hdrs", |
| "//clang:ast", |
| "//clang:ast_matchers", |
| "//clang:frontend", |
| "//clang:tooling", |
| "//llvm:Support", |
| "//llvm:TestingSupport", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "ast_matchers_dynamic_tests", |
| size = "small", |
| srcs = glob( |
| ["ASTMatchers/Dynamic/*.cpp"], |
| allow_empty = False, |
| ), |
| deps = [ |
| ":ast_matchers_tests_hdrs", |
| "//clang:ast_matchers", |
| "//clang:ast_matchers_dynamic", |
| "//clang:frontend", |
| "//clang:tooling", |
| "//llvm:Support", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "analysis_tests", |
| size = "small", |
| srcs = glob( |
| [ |
| "Analysis/*.cpp", |
| "Analysis/*.h", |
| ], |
| allow_empty = False, |
| ), |
| deps = [ |
| "//clang:analysis", |
| "//clang:ast", |
| "//clang:ast_matchers", |
| "//clang:basic", |
| "//clang:lex", |
| "//clang:parse", |
| "//clang:tooling", |
| "//llvm:Support", |
| "//llvm:gmock", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "basic_tests", |
| size = "small", |
| srcs = glob( |
| ["Basic/*.cpp"], |
| allow_empty = False, |
| ), |
| deps = [ |
| "//clang:basic", |
| "//clang:frontend", |
| "//clang:lex", |
| "//llvm:Support", |
| "//llvm:TestingSupport", |
| "//llvm:config", |
| "//llvm:gmock", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "codegen_tests", |
| size = "small", |
| srcs = glob( |
| [ |
| "CodeGen/*.cpp", |
| "CodeGen/*.h", |
| ], |
| allow_empty = False, |
| ), |
| deps = [ |
| "//clang:ast", |
| "//clang:basic", |
| "//clang:codegen", |
| "//clang:frontend", |
| "//clang:lex", |
| "//clang:parse", |
| "//clang:sema", |
| "//llvm:Core", |
| "//llvm:Support", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "format_tests", |
| size = "medium", |
| srcs = glob( |
| [ |
| "Format/*.cpp", |
| "Format/*.h", |
| "Tooling/*.h", |
| ], |
| allow_empty = False, |
| ), |
| copts = ["$(STACK_FRAME_UNLIMITED)"], |
| shard_count = 20, |
| deps = [ |
| "//clang:basic", |
| "//clang:format", |
| "//clang:frontend", |
| "//clang:tooling_core", |
| "//llvm:Support", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "frontend_tests", |
| size = "small", |
| srcs = glob( |
| ["Frontend/*.cpp"], |
| allow_empty = False, |
| ), |
| deps = [ |
| "//clang:ast", |
| "//clang:basic", |
| "//clang:codegen", |
| "//clang:driver_options_inc_gen", |
| "//clang:frontend", |
| "//clang:frontend_tool", |
| "//clang:lex", |
| "//clang:sema", |
| "//clang:serialization", |
| "//llvm:Support", |
| "//llvm:gmock", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "lex_tests", |
| size = "small", |
| srcs = glob( |
| [ |
| "Lex/*.cpp", |
| "Lex/*.h", |
| ], |
| allow_empty = False, |
| ), |
| copts = ["$(STACK_FRAME_UNLIMITED)"], |
| deps = [ |
| "//clang:ast", |
| "//clang:basic", |
| "//clang:lex", |
| "//clang:parse", |
| "//clang:sema", |
| "//clang:serialization", |
| "//llvm:Support", |
| "//llvm:gmock", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| # A library to carefully expose the tooling headers using the include prefix |
| # expected by the `rename_tests`. |
| cc_library( |
| name = "rename_tests_tooling_hdrs", |
| testonly = 1, |
| hdrs = glob( |
| ["Tooling/*.h"], |
| allow_empty = False, |
| ), |
| include_prefix = "unittests", |
| deps = [ |
| "//clang:ast", |
| "//clang:basic", |
| "//clang:frontend", |
| "//clang:rewrite", |
| "//clang:tooling", |
| "//clang:tooling_core", |
| "//llvm:Support", |
| "//llvm:gtest", |
| ], |
| ) |
| |
| cc_test( |
| name = "rename_tests", |
| size = "small", |
| timeout = "moderate", |
| srcs = glob( |
| [ |
| "Rename/*.cpp", |
| "Rename/*.h", |
| ], |
| allow_empty = False, |
| ), |
| shard_count = 20, |
| deps = [ |
| ":rename_tests_tooling_hdrs", |
| "//clang:ast_matchers", |
| "//clang:basic", |
| "//clang:format", |
| "//clang:frontend", |
| "//clang:tooling", |
| "//clang:tooling_refactoring", |
| "//llvm:Support", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "rewrite_tests", |
| size = "small", |
| srcs = glob( |
| ["Rewrite/*.cpp"], |
| allow_empty = False, |
| ), |
| deps = [ |
| "//clang:rewrite", |
| "//clang:tooling", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "sema_tests", |
| size = "small", |
| srcs = glob( |
| ["Sema/*.cpp"], |
| allow_empty = False, |
| ), |
| deps = [ |
| ":ast_matchers_tests_hdrs", |
| "//clang:ast", |
| "//clang:ast_matchers", |
| "//clang:frontend", |
| "//clang:lex", |
| "//clang:parse", |
| "//clang:sema", |
| "//clang:tooling", |
| "//llvm:TestingSupport", |
| "//llvm:gmock", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_library( |
| name = "static_analyzer_test_headers", |
| testonly = 1, |
| hdrs = glob( |
| ["StaticAnalyzer/*.h"], |
| allow_empty = False, |
| ), |
| deps = [ |
| "//clang:ast_matchers", |
| "//clang:crosstu", |
| "//clang:frontend", |
| "//clang:static_analyzer_core", |
| "//clang:static_analyzer_frontend", |
| "//clang:tooling", |
| "//llvm:gtest", |
| ], |
| ) |
| |
| cc_test( |
| name = "static_analyzer_tests", |
| size = "small", |
| srcs = glob( |
| ["StaticAnalyzer/*.cpp"], |
| allow_empty = False, |
| exclude = [ |
| # New test has unused-variable warnings. |
| "StaticAnalyzer/ParamRegionTest.cpp", |
| ], |
| ), |
| deps = [ |
| ":static_analyzer_test_headers", |
| "//clang:basic", |
| "//clang:frontend", |
| "//clang:static_analyzer_core", |
| "//clang:static_analyzer_frontend", |
| "//clang:tooling", |
| "//llvm:Support", |
| "//llvm:config", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "tooling_tests", |
| size = "medium", |
| srcs = glob( |
| [ |
| "Tooling/*.cpp", |
| "Tooling/*.h", |
| ], |
| allow_empty = False, |
| ), |
| shard_count = 20, |
| deps = [ |
| "//clang:ast", |
| "//clang:ast_matchers", |
| "//clang:basic", |
| "//clang:format", |
| "//clang:frontend", |
| "//clang:lex", |
| "//clang:rewrite", |
| "//clang:tooling", |
| "//clang:tooling_core", |
| "//clang:tooling_dependency_scanning", |
| "//clang:tooling_inclusions", |
| "//clang:tooling_refactoring", |
| "//clang:transformer", |
| "//llvm:Support", |
| "//llvm:TestingSupport", |
| "//llvm:gmock", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| # A library to carefully expose the tooling headers using the include prefix |
| # expected by the `tooling_recursive_ast_visitor_tests`. |
| cc_library( |
| name = "tooling_recursive_ast_visitor_tests_tooling_hdrs", |
| testonly = 1, |
| hdrs = glob( |
| ["Tooling/*.h"], |
| allow_empty = False, |
| ), |
| strip_include_prefix = "Tooling", |
| deps = [ |
| "//clang:ast", |
| "//clang:basic", |
| "//clang:frontend", |
| "//clang:rewrite", |
| "//clang:tooling", |
| "//clang:tooling_core", |
| "//llvm:Support", |
| "//llvm:gtest", |
| ], |
| ) |
| |
| cc_test( |
| name = "tooling_recursive_ast_visitor_tests", |
| size = "medium", |
| srcs = glob( |
| ["Tooling/RecursiveASTVisitorTests/*.cpp"], |
| allow_empty = False, |
| ) + [ |
| "Tooling/RecursiveASTVisitorTests/CallbacksCommon.h", |
| ], |
| deps = [ |
| ":tooling_recursive_ast_visitor_tests_tooling_hdrs", |
| "//clang:ast", |
| "//clang:basic", |
| "//clang:frontend", |
| "//clang:lex", |
| "//clang:tooling", |
| "//clang:tooling_syntax", |
| "//llvm:Support", |
| "//llvm:TestingSupport", |
| "//llvm:gmock", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "tooling_syntax_tests", |
| size = "medium", |
| srcs = glob( |
| [ |
| "Tooling/Syntax/*.cpp", |
| "Tooling/Syntax/*.h", |
| ], |
| allow_empty = False, |
| ), |
| shard_count = 20, |
| deps = [ |
| "//clang:ast", |
| "//clang:basic", |
| "//clang:frontend", |
| "//clang:lex", |
| "//clang:testing", |
| "//clang:tooling", |
| "//clang:tooling_core", |
| "//clang:tooling_syntax", |
| "//llvm:Support", |
| "//llvm:TestingSupport", |
| "//llvm:gmock", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "libclang_tests", |
| size = "small", |
| srcs = glob( |
| ["libclang/*.cpp"], |
| allow_empty = False, |
| ) + [ |
| "libclang/TestUtils.h", |
| ], |
| args = select({ |
| "@bazel_tools//src/conditions:windows": [ |
| # Need to disable the VFS tests that don't use Windows friendly |
| # paths. These are also disabled on Windows in the CMake build. |
| "--gtest_filter=-*VirtualFileOverlay*", |
| ], |
| "//conditions:default": [], |
| }), |
| deps = [ |
| "//clang:libclang", |
| "//llvm:Support", |
| "//llvm:gtest", |
| "//llvm:gtest_main", |
| ], |
| ) |