[PATCH] D82815: [clang-tidy] Sanity checks in ClangTidyTest header.
Nathan James via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 29 15:32:27 PDT 2020
njames93 created this revision.
njames93 added a reviewer: aaron.ballman.
Herald added subscribers: cfe-commits, xazax.hun.
Herald added a project: clang.
Motivated by a suspicously failing build, but also good to have anyway in general.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D82815
Files:
clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
Index: clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
===================================================================
--- clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
+++ clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
@@ -19,7 +19,6 @@
#include "clang/Tooling/Core/Replacement.h"
#include "clang/Tooling/Refactoring.h"
#include "clang/Tooling/Tooling.h"
-#include "llvm/ADT/Optional.h"
#include "llvm/Support/Path.h"
#include <map>
#include <memory>
@@ -67,7 +66,9 @@
// that check constructors can access the context (for example, through
// `getLangOpts()`).
CheckFactory<CheckTypes...>::createChecks(&Context, Checks);
+ assert(!Checks.empty() && "No checks created");
for (auto &Check : Checks) {
+ assert(Check.get() && "Checks can't be null");
if (!Check->isLanguageVersionSupported(Context.getLangOpts()))
continue;
Check->registerMatchers(&Finder);
@@ -89,6 +90,7 @@
const ClangTidyOptions &ExtraOptions = ClangTidyOptions(),
std::map<StringRef, StringRef> PathsToContent =
std::map<StringRef, StringRef>()) {
+ static_assert(sizeof...(CheckTypes) > 0, "No checks specified");
ClangTidyOptions Options = ExtraOptions;
Options.Checks = "*";
ClangTidyContext Context(std::make_unique<DefaultOptionsProvider>(
@@ -120,7 +122,7 @@
llvm::IntrusiveRefCntPtr<FileManager> Files(
new FileManager(FileSystemOptions(), InMemoryFileSystem));
- SmallVector<std::unique_ptr<ClangTidyCheck>, 1> Checks;
+ SmallVector<std::unique_ptr<ClangTidyCheck>, sizeof...(CheckTypes)> Checks;
tooling::ToolInvocation Invocation(
Args,
std::make_unique<TestClangTidyAction<CheckTypes...>>(Checks, Finder,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82815.274264.patch
Type: text/x-patch
Size: 1766 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200629/0c03aa4a/attachment-0001.bin>
More information about the cfe-commits
mailing list