summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2014-06-05 13:31:45 +0000
committerAlexander Kornienko <alexfh@google.com>2014-06-05 13:31:45 +0000
commita46952221e44cb53b707bca433b5177191de779d (patch)
tree37dc2ed74d55a6923b224b86f55027fdf7e9991d /clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
parent57eba53a015e1541e6d8a89382a23d9adc7ebf3b (diff)
downloadbcm5719-llvm-a46952221e44cb53b707bca433b5177191de779d.tar.gz
bcm5719-llvm-a46952221e44cb53b707bca433b5177191de779d.zip
Allow per-file clang-tidy options.
Summary: This patch makes it possible for clang-tidy clients to provide different options for different translation units. The option, which doesn't make sense to be file-dependent, was moved to a separate ClangTidyGlobalOptions struct. Added parsing of ClangTidyOptions. Reviewers: klimek Reviewed By: klimek Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3979 llvm-svn: 210260
Diffstat (limited to 'clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp')
-rw-r--r--clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp b/clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
index 84de275e00d..0a294d5e119 100644
--- a/clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
+++ b/clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
@@ -6,7 +6,7 @@ namespace tidy {
namespace test {
TEST(ParseLineFilter, EmptyFilter) {
- ClangTidyOptions Options;
+ ClangTidyGlobalOptions Options;
EXPECT_FALSE(parseLineFilter("", Options));
EXPECT_TRUE(Options.LineFilter.empty());
EXPECT_FALSE(parseLineFilter("[]", Options));
@@ -14,7 +14,7 @@ TEST(ParseLineFilter, EmptyFilter) {
}
TEST(ParseLineFilter, InvalidFilter) {
- ClangTidyOptions Options;
+ ClangTidyGlobalOptions Options;
// TODO: Figure out why parsing succeeds here.
EXPECT_FALSE(parseLineFilter("asdf", Options));
EXPECT_TRUE(Options.LineFilter.empty());
@@ -30,7 +30,7 @@ TEST(ParseLineFilter, InvalidFilter) {
}
TEST(ParseLineFilter, ValidFilter) {
- ClangTidyOptions Options;
+ ClangTidyGlobalOptions Options;
llvm::error_code Error = parseLineFilter(
"[{\"name\":\"file1.cpp\",\"lines\":[[3,15],[20,30],[42,42]]},"
"{\"name\":\"file2.h\"},"
@@ -54,6 +54,18 @@ TEST(ParseLineFilter, ValidFilter) {
EXPECT_EQ(1000u, Options.LineFilter[2].LineRanges[0].second);
}
+TEST(ParseConfiguration, ValidConfiguration) {
+ ClangTidyOptions Options;
+ llvm::error_code Error = parseConfiguration("Checks: \"-*,misc-*\"\n"
+ "HeaderFilterRegex: \".*\"\n"
+ "AnalyzeTemporaryDtors: true\n",
+ Options);
+ EXPECT_FALSE(Error);
+ EXPECT_EQ("-*,misc-*", Options.Checks);
+ EXPECT_EQ(".*", Options.HeaderFilterRegex);
+ EXPECT_TRUE(Options.AnalyzeTemporaryDtors);
+}
+
} // namespace test
} // namespace tidy
} // namespace clang
OpenPOWER on IntegriCloud