[PATCH] D52691: [clang-tidy] NFC use CHECK-NOTES in tests for performance-move-constructor-init
Jonas Toth via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 2 06:10:30 PDT 2018
JonasToth updated this revision to Diff 167932.
JonasToth added a comment.
- filter with builtin python before passing to FileCheck
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D52691
Files:
test/clang-tidy/check_clang_tidy.py
test/clang-tidy/performance-move-constructor-init.cpp
Index: test/clang-tidy/performance-move-constructor-init.cpp
===================================================================
--- test/clang-tidy/performance-move-constructor-init.cpp
+++ test/clang-tidy/performance-move-constructor-init.cpp
@@ -30,9 +30,9 @@
struct D : B {
D() : B() {}
D(const D &RHS) : B(RHS) {}
- // CHECK-MESSAGES: :[[@LINE+3]]:16: warning: move constructor initializes base class by calling a copy constructor [performance-move-constructor-init]
- // CHECK-MESSAGES: 26:3: note: copy constructor being called
- // CHECK-MESSAGES: 27:3: note: candidate move constructor here
+ // CHECK-NOTES: :[[@LINE+3]]:16: warning: move constructor initializes base class by calling a copy constructor [performance-move-constructor-init]
+ // CHECK-NOTES: 26:3: note: copy constructor being called
+ // CHECK-NOTES: 27:3: note: candidate move constructor here
D(D &&RHS) : B(RHS) {}
};
@@ -75,8 +75,10 @@
struct M {
B Mem;
- // CHECK-MESSAGES: :[[@LINE+1]]:16: warning: move constructor initializes class member by calling a copy constructor [performance-move-constructor-init]
+ // CHECK-NOTES: :[[@LINE+1]]:16: warning: move constructor initializes class member by calling a copy constructor [performance-move-constructor-init]
M(M &&RHS) : Mem(RHS.Mem) {}
+ // CHECK-NOTES: 26:3: note: copy constructor being called
+ // CHECK-NOTES: 27:3: note: candidate move constructor here
};
struct N {
@@ -109,7 +111,7 @@
struct Positive {
Positive(Movable M) : M_(M) {}
- // CHECK-MESSAGES: [[@LINE-1]]:12: warning: pass by value and use std::move [modernize-pass-by-value]
+ // CHECK-NOTES: [[@LINE-1]]:12: warning: pass by value and use std::move [modernize-pass-by-value]
// CHECK-FIXES: Positive(Movable M) : M_(std::move(M)) {}
Movable M_;
};
Index: test/clang-tidy/check_clang_tidy.py
===================================================================
--- test/clang-tidy/check_clang_tidy.py
+++ test/clang-tidy/check_clang_tidy.py
@@ -164,12 +164,14 @@
if has_check_notes:
notes_file = temp_file_name + '.notes'
- write_file(notes_file, clang_tidy_output)
+ filtered_output = [line for line in clang_tidy_output.splitlines()
+ if not "note: FIX-IT applied suggested changes" in line]
+ write_file(notes_file, '\n'.join(filtered_output))
try:
subprocess.check_output(
['FileCheck', '-input-file=' + notes_file, input_file_name,
'-check-prefix=' + check_notes_prefix,
- '-implicit-check-not={{note|warning|error}}:'],
+ '-implicit-check-not={{{{warning|error|note}}:'],
stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print('FileCheck failed:\n' + e.output.decode())
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52691.167932.patch
Type: text/x-patch
Size: 2770 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20181002/bb5167b5/attachment-0001.bin>
More information about the cfe-commits
mailing list