diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-08-12 12:12:54 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-08-12 12:12:54 +0000 |
commit | 6318f7614f748acba9d8acb5b53e7a2df42aaa47 (patch) | |
tree | 5c3c86bff822bac23070df7602e021624ab18fac /clang-tools-extra/unittests/clang-tidy | |
parent | 39c70bbf5621f8f3a37e8d86cf23b016fa1a484f (diff) | |
download | bcm5719-llvm-6318f7614f748acba9d8acb5b53e7a2df42aaa47.tar.gz bcm5719-llvm-6318f7614f748acba9d8acb5b53e7a2df42aaa47.zip |
Allow specifying file names and extra arguments when running clang-tidy unit tests.
Will become useful soon.
llvm-svn: 215438
Diffstat (limited to 'clang-tools-extra/unittests/clang-tidy')
-rw-r--r-- | clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h b/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h index 6fb031811f3..a9c68d4a939 100644 --- a/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h +++ b/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h @@ -41,22 +41,26 @@ private: template <typename T> std::string runCheckOnCode(StringRef Code, - std::vector<ClangTidyError> *Errors = nullptr) { + std::vector<ClangTidyError> *Errors = nullptr, + const Twine &Filename = "input.cc", + ArrayRef<std::string> ExtraArgs = None) { T Check; ClangTidyContext Context( new DefaultOptionsProvider(ClangTidyGlobalOptions(), ClangTidyOptions())); ClangTidyDiagnosticConsumer DiagConsumer(Context); Check.setContext(&Context); std::vector<std::string> ArgCXX11(1, "-std=c++11"); + ArgCXX11.insert(ArgCXX11.end(), ExtraArgs.begin(), ExtraArgs.end()); if (!tooling::runToolOnCodeWithArgs(new TestPPAction(Check, &Context), Code, - ArgCXX11)) + ArgCXX11, Filename)) return ""; ast_matchers::MatchFinder Finder; Check.registerMatchers(&Finder); std::unique_ptr<tooling::FrontendActionFactory> Factory( tooling::newFrontendActionFactory(&Finder)); - if (!tooling::runToolOnCodeWithArgs(Factory->create(), Code, ArgCXX11)) + if (!tooling::runToolOnCodeWithArgs(Factory->create(), Code, ArgCXX11, + Filename)) return ""; DiagConsumer.finish(); tooling::Replacements Fixes; |