[clang-tools-extra] r215438 - Allow specifying file names and extra arguments when running clang-tidy unit tests.
Benjamin Kramer
benny.kra at googlemail.com
Tue Aug 12 05:12:54 PDT 2014
Author: d0k
Date: Tue Aug 12 07:12:54 2014
New Revision: 215438
URL: http://llvm.org/viewvc/llvm-project?rev=215438&view=rev
Log:
Allow specifying file names and extra arguments when running clang-tidy unit tests.
Will become useful soon.
Modified:
clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h
Modified: clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h?rev=215438&r1=215437&r2=215438&view=diff
==============================================================================
--- clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h (original)
+++ clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h Tue Aug 12 07:12:54 2014
@@ -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;
More information about the cfe-commits
mailing list