diff options
author | Alexander Kornienko <alexfh@google.com> | 2014-06-05 13:31:45 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2014-06-05 13:31:45 +0000 |
commit | a46952221e44cb53b707bca433b5177191de779d (patch) | |
tree | 37dc2ed74d55a6923b224b86f55027fdf7e9991d /clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp | |
parent | 57eba53a015e1541e6d8a89382a23d9adc7ebf3b (diff) | |
download | bcm5719-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.cpp | 18 |
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 |