lebedev.ri added a comment. In https://reviews.llvm.org/D36892#856469, @aaron.ballman wrote:
> Instead of CHECK-NOTES, do we want to extend CHECK-MESSAGES to handle `note` > in addition to `warning` and `error`? If i change `CHECK-MESSAGES` to also require all the notes to be checked, a *lot* of tests fail: ******************** Testing Time: 4.04s ******************** Failing Tests (165): Clang Tools :: clang-tidy/android-cloexec-accept.cpp Clang Tools :: clang-tidy/android-cloexec-accept4.cpp Clang Tools :: clang-tidy/android-cloexec-creat.cpp Clang Tools :: clang-tidy/android-cloexec-dup.cpp Clang Tools :: clang-tidy/android-cloexec-epoll-create.cpp Clang Tools :: clang-tidy/android-cloexec-epoll-create1.cpp Clang Tools :: clang-tidy/android-cloexec-fopen.cpp Clang Tools :: clang-tidy/android-cloexec-inotify-init.cpp Clang Tools :: clang-tidy/android-cloexec-inotify-init1.cpp Clang Tools :: clang-tidy/android-cloexec-memfd-create.cpp Clang Tools :: clang-tidy/android-cloexec-open.cpp Clang Tools :: clang-tidy/android-cloexec-socket.cpp Clang Tools :: clang-tidy/boost-use-to-string.cpp Clang Tools :: clang-tidy/bugprone-integer-division.cpp Clang Tools :: clang-tidy/bugprone-suspicious-memset-usage.cpp Clang Tools :: clang-tidy/bugprone-undefined-memory-manipulation.cpp Clang Tools :: clang-tidy/cert-dcl21-cpp.cpp Clang Tools :: clang-tidy/cert-oop11-cpp.cpp Clang Tools :: clang-tidy/clean-up-code.cpp Clang Tools :: clang-tidy/cppcoreguidelines-pro-bounds-constant-array-index-gslheader.cpp Clang Tools :: clang-tidy/cppcoreguidelines-pro-type-cstyle-cast.cpp Clang Tools :: clang-tidy/cppcoreguidelines-pro-type-member-init-cxx98.cpp Clang Tools :: clang-tidy/cppcoreguidelines-pro-type-member-init-delayed.cpp Clang Tools :: clang-tidy/cppcoreguidelines-pro-type-member-init.cpp Clang Tools :: clang-tidy/cppcoreguidelines-pro-type-static-cast-downcast.cpp Clang Tools :: clang-tidy/cppcoreguidelines-pro-type-vararg.cpp Clang Tools :: clang-tidy/deduplication.cpp Clang Tools :: clang-tidy/google-build-explicit-make-pair.cpp Clang Tools :: clang-tidy/google-explicit-constructor.cpp Clang Tools :: clang-tidy/google-readability-casting.c Clang Tools :: clang-tidy/google-readability-casting.cpp Clang Tools :: clang-tidy/google-readability-namespace-comments.cpp Clang Tools :: clang-tidy/google-readability-todo.cpp Clang Tools :: clang-tidy/llvm-include-order.cpp Clang Tools :: clang-tidy/llvm-twine-local.cpp Clang Tools :: clang-tidy/misc-argument-comment-gmock.cpp Clang Tools :: clang-tidy/misc-argument-comment-strict.cpp Clang Tools :: clang-tidy/misc-argument-comment.cpp Clang Tools :: clang-tidy/misc-assert-side-effect.cpp Clang Tools :: clang-tidy/misc-bool-pointer-implicit-conversion.cpp Clang Tools :: clang-tidy/misc-definitions-in-headers.hpp Clang Tools :: clang-tidy/misc-forwarding-reference-overload.cpp Clang Tools :: clang-tidy/misc-inaccurate-erase.cpp Clang Tools :: clang-tidy/misc-inefficient-algorithm.cpp Clang Tools :: clang-tidy/misc-lambda-function-name.cpp Clang Tools :: clang-tidy/misc-macro-parentheses.cpp Clang Tools :: clang-tidy/misc-macro-repeated-side-effects.c Clang Tools :: clang-tidy/misc-misplaced-const.c Clang Tools :: clang-tidy/misc-misplaced-const.cpp Clang Tools :: clang-tidy/misc-move-const-arg.cpp Clang Tools :: clang-tidy/misc-move-constructor-init.cpp Clang Tools :: clang-tidy/misc-move-forwarding-reference.cpp Clang Tools :: clang-tidy/misc-multiple-statement-macro.cpp Clang Tools :: clang-tidy/misc-static-assert.c Clang Tools :: clang-tidy/misc-static-assert.cpp Clang Tools :: clang-tidy/misc-string-compare.cpp Clang Tools :: clang-tidy/misc-string-constructor.cpp Clang Tools :: clang-tidy/misc-string-integer-assignment.cpp Clang Tools :: clang-tidy/misc-suspicious-semicolon.cpp Clang Tools :: clang-tidy/misc-suspicious-string-compare.c Clang Tools :: clang-tidy/misc-suspicious-string-compare.cpp Clang Tools :: clang-tidy/misc-swapped-arguments.cpp Clang Tools :: clang-tidy/misc-uniqueptr-reset-release.cpp Clang Tools :: clang-tidy/misc-unused-alias-decls.cpp Clang Tools :: clang-tidy/misc-unused-parameters.c Clang Tools :: clang-tidy/misc-unused-parameters.cpp Clang Tools :: clang-tidy/misc-unused-raii.cpp Clang Tools :: clang-tidy/misc-unused-using-decls.cpp Clang Tools :: clang-tidy/misc-virtual-near-miss.cpp Clang Tools :: clang-tidy/modernize-avoid-bind.cpp Clang Tools :: clang-tidy/modernize-deprecated-headers-cxx03.cpp Clang Tools :: clang-tidy/modernize-deprecated-headers-cxx11.cpp Clang Tools :: clang-tidy/modernize-loop-convert-basic.cpp Clang Tools :: clang-tidy/modernize-loop-convert-camelback.cpp Clang Tools :: clang-tidy/modernize-loop-convert-const.cpp Clang Tools :: clang-tidy/modernize-loop-convert-extra.cpp Clang Tools :: clang-tidy/modernize-loop-convert-lowercase.cpp Clang Tools :: clang-tidy/modernize-loop-convert-uppercase.cpp Clang Tools :: clang-tidy/modernize-make-shared-header.cpp Clang Tools :: clang-tidy/modernize-make-shared.cpp Clang Tools :: clang-tidy/modernize-make-unique-header.cpp Clang Tools :: clang-tidy/modernize-make-unique.cpp Clang Tools :: clang-tidy/modernize-pass-by-value-macro-header.cpp Clang Tools :: clang-tidy/modernize-pass-by-value.cpp Clang Tools :: clang-tidy/modernize-raw-string-literal-delimiter.cpp Clang Tools :: clang-tidy/modernize-raw-string-literal-replace-shorter.cpp Clang Tools :: clang-tidy/modernize-raw-string-literal.cpp Clang Tools :: clang-tidy/modernize-redundant-void-arg-delayed.cpp Clang Tools :: clang-tidy/modernize-redundant-void-arg.cpp Clang Tools :: clang-tidy/modernize-replace-auto-ptr.cpp Clang Tools :: clang-tidy/modernize-return-braced-init-list.cpp Clang Tools :: clang-tidy/modernize-shrink-to-fit.cpp Clang Tools :: clang-tidy/modernize-unary-static-assert.cpp Clang Tools :: clang-tidy/modernize-use-auto-cast-remove-stars.cpp Clang Tools :: clang-tidy/modernize-use-auto-cast.cpp Clang Tools :: clang-tidy/modernize-use-auto-iterator.cpp Clang Tools :: clang-tidy/modernize-use-auto-new-remove-stars.cpp Clang Tools :: clang-tidy/modernize-use-auto-new.cpp Clang Tools :: clang-tidy/modernize-use-bool-literals-ignore-macros.cpp Clang Tools :: clang-tidy/modernize-use-bool-literals.cpp Clang Tools :: clang-tidy/modernize-use-default-member-init-assignment.cpp Clang Tools :: clang-tidy/modernize-use-default-member-init-macros.cpp Clang Tools :: clang-tidy/modernize-use-default-member-init.cpp Clang Tools :: clang-tidy/modernize-use-emplace-ignore-implicit-constructors.cpp Clang Tools :: clang-tidy/modernize-use-emplace.cpp Clang Tools :: clang-tidy/modernize-use-equals-default-copy.cpp Clang Tools :: clang-tidy/modernize-use-equals-default.cpp Clang Tools :: clang-tidy/modernize-use-equals-delete.cpp Clang Tools :: clang-tidy/modernize-use-noexcept-macro.cpp Clang Tools :: clang-tidy/modernize-use-noexcept-opt.cpp Clang Tools :: clang-tidy/modernize-use-noexcept.cpp Clang Tools :: clang-tidy/modernize-use-nullptr-basic.cpp Clang Tools :: clang-tidy/modernize-use-nullptr.cpp Clang Tools :: clang-tidy/modernize-use-override-ms.cpp Clang Tools :: clang-tidy/modernize-use-override.cpp Clang Tools :: clang-tidy/modernize-use-transparent-functors.cpp Clang Tools :: clang-tidy/modernize-use-using-macros.cpp Clang Tools :: clang-tidy/modernize-use-using.cpp Clang Tools :: clang-tidy/nolint.cpp Clang Tools :: clang-tidy/nolintnextline.cpp Clang Tools :: clang-tidy/performance-faster-string-find.cpp Clang Tools :: clang-tidy/performance-for-range-copy-warn-on-all-auto-copies.cpp Clang Tools :: clang-tidy/performance-for-range-copy.cpp Clang Tools :: clang-tidy/performance-inefficient-vector-operation.cpp Clang Tools :: clang-tidy/performance-type-promotion-in-math-fn.cpp Clang Tools :: clang-tidy/performance-unnecessary-copy-initialization.cpp Clang Tools :: clang-tidy/performance-unnecessary-value-param-delayed.cpp Clang Tools :: clang-tidy/performance-unnecessary-value-param-header.cpp Clang Tools :: clang-tidy/performance-unnecessary-value-param-incomplete-type.cpp Clang Tools :: clang-tidy/performance-unnecessary-value-param.cpp Clang Tools :: clang-tidy/readability-avoid-const-params-in-decls.cpp Clang Tools :: clang-tidy/readability-braces-around-statements-few-lines.cpp Clang Tools :: clang-tidy/readability-braces-around-statements-format.cpp Clang Tools :: clang-tidy/readability-braces-around-statements-same-line.cpp Clang Tools :: clang-tidy/readability-braces-around-statements-single-line.cpp Clang Tools :: clang-tidy/readability-braces-around-statements.cpp Clang Tools :: clang-tidy/readability-container-size-empty.cpp Clang Tools :: clang-tidy/readability-delete-null-pointer.cpp Clang Tools :: clang-tidy/readability-else-after-return.cpp Clang Tools :: clang-tidy/readability-function-size.cpp Clang Tools :: clang-tidy/readability-identifier-naming.cpp Clang Tools :: clang-tidy/readability-implicit-bool-conversion-allow-in-conditions.cpp Clang Tools :: clang-tidy/readability-implicit-bool-conversion-cxx98.cpp Clang Tools :: clang-tidy/readability-implicit-bool-conversion.cpp Clang Tools :: clang-tidy/readability-inconsistent-declaration-parameter-name.cpp Clang Tools :: clang-tidy/readability-misplaced-array-index.cpp Clang Tools :: clang-tidy/readability-named-parameter.cpp Clang Tools :: clang-tidy/readability-non-const-parameter.cpp Clang Tools :: clang-tidy/readability-redundant-control-flow.cpp Clang Tools :: clang-tidy/readability-redundant-declaration-ignore-macros.cpp Clang Tools :: clang-tidy/readability-redundant-declaration.cpp Clang Tools :: clang-tidy/readability-redundant-function-ptr-dereference.cpp Clang Tools :: clang-tidy/readability-redundant-member-init.cpp Clang Tools :: clang-tidy/readability-redundant-smartptr-get.cpp Clang Tools :: clang-tidy/readability-redundant-string-cstr-msvc.cpp Clang Tools :: clang-tidy/readability-redundant-string-cstr.cpp Clang Tools :: clang-tidy/readability-redundant-string-init-msvc.cpp Clang Tools :: clang-tidy/readability-redundant-string-init.cpp Clang Tools :: clang-tidy/readability-simplify-bool-expr-chained-conditional-assignment.cpp Clang Tools :: clang-tidy/readability-simplify-bool-expr-chained-conditional-return.cpp Clang Tools :: clang-tidy/readability-simplify-bool-expr.cpp Clang Tools :: clang-tidy/readability-static-accessed-through-instance-nesting-threshold.cpp Clang Tools :: clang-tidy/readability-static-accessed-through-instance.cpp Clang Tools :: clang-tidy/readability-static-definition-in-anonymous-namespace.cpp Clang Tools :: clang-tidy/readability-uniqueptr-delete-release.cpp Expected Passes : 392 Unexpected Failures: 165 > I'd prefer to keep the number of "magic" names as low as possible so I have > to remember less stuff when writing or reviewing tests. I do agree that it makes sense to keep it as low as possible, but also i see a clear logic between all thee current checks: There are [currently] three types of output out of clang-tidy check that we care about: fix-it; error, warning, note. - The `CHECK-FIXES` is special, and only looks for fix-its. - It would make sense to always check all the error messages, thus rest of the magic does enforce `-implicit-check-not=error` - * `CHECK-MESSAGES` additionally enforces `-implicit-check-not=warning` - None of those two magics care about `notes` - * So i'm adding `CHECK-NOTES`, which is a `CHECK-MESSAGES` + `-implicit-check-not=note` Repository: rL LLVM https://reviews.llvm.org/D36892 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits