【发布时间】:2021-10-23 09:15:24
【问题描述】:
我有一个带有 Bazel 的简单 c++ 项目。 我正在使用 Google 测试框架运行一些简单的测试。 Clang-tidy 似乎抱怨该框架中的几乎每个宏。 有没有办法让铿锵声忽略这些宏? 我尝试使用 //NOLINT 但它似乎没有做任何事情。
我的 clang-tidy 配置文件是这样的:
Checks: '-*,clang-analyzer-*,
modernize-avoid-bind,
modernize-avoid-c-arrays,
modernize-concat-nested-namespaces,
modernize-deprecated-headers,
modernize-deprecated-ios-base-aliases,
modernize-loop-convert,
modernize-make-shared,
modernize-make-unique,
modernize-pass-by-value,
modernize-raw-string-literal,
modernize-redundant-void-arg,
modernize-replace-auto-ptr,
modernize-replace-disallow-copy-and-assign-macro,
modernize-replace-random-shuffle,
modernize-return-braced-init-list,
modernize-shrink-to-fit,
modernize-unary-static-assert,
modernize-use-auto,
modernize-use-bool-literals,
modernize-use-default-member-init,
modernize-use-emplace,
modernize-use-equals-default,
modernize-use-equals-delete,
modernize-use-nodiscard,
modernize-use-noexcept,
modernize-use-nullptr,
modernize-use-override,
modernize-use-transparent-functors,
modernize-use-uncaught-exceptions,
modernize-use-using,
performance-*,readability*,cppcoreguidelines-*, llvm-*,
google-*,
bugprone-*'
WarningsAsErrors: ''
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
CheckOptions:
[{key: readability-identifier-naming.ClassCase, value: CamelCase},
{key: readability-identifier-naming.ClassMemberCase, value: lower_case},
{key: readability-identifier-naming.PrivateMemberPrefix, value: m_},
{key: readability-identifier-naming.ClassMethodCase, value: lower_case},
{key: readability-identifier-naming.StructCase, value: lower_case},
{key: readability-identifier-naming.VariableCase, value: lower_case},
{key: readability-identifier-naming.GlobalConstantCase, value: UPPER_CASE},
]
我得到的警告是
Initializing non-owner argument of type 'testing::internal::TestFactoryBase *' with a newly created 'gsl::owner<>'clang-tidy(cppcoreguidelines-owning-memory)
【问题讨论】:
标签: c++ googletest clang-tidy