[PATCH] D97322: [clang-tidy][test] Allow specifying potentially unused suffixes

Nathan James via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 23 11:59:26 PST 2021


njames93 created this revision.
njames93 added reviewers: aaron.ballman, alexfh.
Herald added a subscriber: xazax.hun.
njames93 requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

If a check-suffix is only required for a CHECK-FIXES or CHECK-MESSAGES. check_clang_tidy will pass the prefixes CHECK-FIXES<...> and CHECK-MESSAGES<...> to FileCheck.
This will result in a FileCheck failing because of an unused prefix.

This addresses the problem by not passing unused prefixes. Its also possible to fix this be passing `--allow-unused-prefixes` flag to FileCheck, but seeing as we have already done the legwork in the script to see its unused, this fix seems the better way to go.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D97322

Files:
  clang-tools-extra/test/clang-tidy/check_clang_tidy.py
  clang-tools-extra/test/clang-tidy/checkers/modernize-loop-convert-reverse.cpp


Index: clang-tools-extra/test/clang-tidy/checkers/modernize-loop-convert-reverse.cpp
===================================================================
--- clang-tools-extra/test/clang-tidy/checkers/modernize-loop-convert-reverse.cpp
+++ clang-tools-extra/test/clang-tidy/checkers/modernize-loop-convert-reverse.cpp
@@ -30,13 +30,6 @@
 // RUN:   | FileCheck %s -check-prefix=CHECK-HEADER-NO-FUNC \
 // RUN:       -implicit-check-not="{{warning|error}}:"
 
-/// Suppress FileCheck --allow-unused-prefixes=false diagnostics.
-// CHECK-MESSAGES-RANGES: {{^}}
-// CHECK-MESSAGES-CUSTOM: {{^}}
-// CHECK-MESSAGES-CUSTOM-SYS: {{^}}
-// CHECK-MESSAGES-CUSTOM-NO-SYS: {{^}}
-// CHECK-MESSAGES-CUSTOM-NO-HEADER: {{^}}
-
 // CHECK-HEADER-NO-FUNC: warning: modernize-loop-convert: 'MakeReverseRangeHeader' is set but 'MakeReverseRangeFunction' is not, disabling reverse loop transformation
 
 // Make sure appropiate headers are included
Index: clang-tools-extra/test/clang-tidy/check_clang_tidy.py
===================================================================
--- clang-tools-extra/test/clang-tidy/check_clang_tidy.py
+++ clang-tools-extra/test/clang-tidy/check_clang_tidy.py
@@ -119,9 +119,12 @@
     has_check_messages = has_check_messages or has_check_message
     has_check_notes = has_check_notes or has_check_note
 
-    check_fixes_prefixes.append(check_fixes_prefix)
-    check_messages_prefixes.append(check_messages_prefix)
-    check_notes_prefixes.append(check_notes_prefix)
+    if has_check_fix:
+      check_fixes_prefixes.append(check_fixes_prefix)
+    if has_check_message:
+      check_messages_prefixes.append(check_messages_prefix)
+    if has_check_note:
+      check_notes_prefixes.append(check_notes_prefix)
 
   assert has_check_fixes or has_check_messages or has_check_notes
   # Remove the contents of the CHECK lines to avoid CHECKs matching on


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97322.325866.patch
Type: text/x-patch
Size: 1870 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210223/8bd5d564/attachment.bin>


More information about the cfe-commits mailing list