<div dir="ltr">Looks like we need to call both ClangTidyContext::setASTContext, ClangTidyCheck::registerMatchers and ClangTidyContext::setCurrentFile in TestClangTidyAction::CreateASTConsumer. Maybe something else will need to move there as well.<div><br></div><div>-- Alex<br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 2, 2015 at 4:09 PM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I ran into an issue with the runCheckOnCode() function from<br>
clang-tidy's unit tests, and I am not familiar enough with the way<br>
tool invocation works to suggest a correct fix.<br>
<br>
ClangTidyContext::setASTContext() is what sets up the language options<br>
for the ClangTidyContext object currently. However, runCheckOnCode()<br>
does not end up calling setASTContext() at any point. So when unit<br>
testing code, it behaves differently than when running clang-tidy.<br>
<br>
I am guessing that setting the language options should be separated<br>
from setting the AST context, however, I'm not certain of the proper<br>
way to accomplish this. As best I can tell, by the time<br>
registerMatchers() is called in runCheckOnCode(), we don't have access<br>
to a LangOptions object that's valid.<br>
<br>
Suggestions?<br>
<span class=""><font color="#888888"><br>
~Aaron</font></span></blockquote></div>
</div></div></div>