Hi,
this patch adds a --verbose option to FileCheck. [ An alternative name
could be --debug or --debug-pattern. ]
Consider a file CHECK:
...
// CHECK-LABEL:bla1
// CHECK-NEXT:bla2
// CHECK-NEXT: bla3
// CHECK-NEXT:bla4
// CHECK-NEXT: bla5
...
and a FileCheck command using --verbose:
...
$ echo | FileCheck CHECK --strict-whitespace --match-full-lines --verbose
...
For each check the actual match pattern used is shown:
...
CHECK:1:16: note: RegEx string match: '^bla1$'
// CHECK-LABEL:bla1
^
CHECK:2:15: note: RegEx string match: '^bla2$'
// CHECK-NEXT:bla2
^
CHECK:3:16: note: RegEx string match: '^bla3$'
// CHECK-NEXT: bla3
^
CHECK:4:15: note: RegEx string match: '^bla4$'
// CHECK-NEXT:bla4
^
CHECK:5:16: note: RegEx string match: '^bla5$'
// CHECK-NEXT: bla5
^
...
Seeing the actual match pattern allows to see the effect of command line
switches that modify the original pattern (such as --match-full-lines),
and help to understand why something is or is not matching.
Any comments? OK for trunk?
Thanks,
- Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-FileCheck-Add-verbose.patch
Type: text/x-patch
Size: 1439 bytes
Desc: not available
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20161214/79eb4e53/attachment.bin>
+jyknight, who added --match-full-lines On 12/14/16 5:25 AM, Tom de Vries wrote:> Hi, > > this patch adds a --verbose option to FileCheck. [ An alternative name > could be --debug or --debug-pattern. ] > > Consider a file CHECK: > ... > // CHECK-LABEL:bla1 > // CHECK-NEXT:bla2 > // CHECK-NEXT: bla3 > // CHECK-NEXT:bla4 > // CHECK-NEXT: bla5 > ... > > and a FileCheck command using --verbose: > ... > $ echo | FileCheck CHECK --strict-whitespace --match-full-lines --verbose > ... > > For each check the actual match pattern used is shown: > ... > CHECK:1:16: note: RegEx string match: '^bla1$' > // CHECK-LABEL:bla1 > ^ > CHECK:2:15: note: RegEx string match: '^bla2$' > // CHECK-NEXT:bla2 > ^ > CHECK:3:16: note: RegEx string match: '^bla3$' > // CHECK-NEXT: bla3 > ^ > CHECK:4:15: note: RegEx string match: '^bla4$' > // CHECK-NEXT:bla4 > ^ > CHECK:5:16: note: RegEx string match: '^bla5$' > // CHECK-NEXT: bla5 > ^ > ... > > Seeing the actual match pattern allows to see the effect of command > line switches that modify the original pattern (such as > --match-full-lines), and help to understand why something is or is not > matching. > > Any comments? OK for trunk?It needs a testcase, and some docs in docs/CommandGuide/FileCheck.rst. Jon> > Thanks, > - Tom-- Jon Roelofs jonathan at codesourcery.com CodeSourcery / Mentor Embedded
Seems pretty useful! +1 to Jon's comments. Procedural remark: patches normally go to llvm-commits not llvm-dev. --paulr> -----Original Message----- > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of > Jonathan Roelofs via llvm-dev > Sent: Wednesday, December 14, 2016 8:09 AM > To: Tom de Vries; llvm-dev at lists.llvm.org; James Y Knight > Subject: Re: [llvm-dev] [FileCheck] Add --verbose > > +jyknight, who added --match-full-lines > > > On 12/14/16 5:25 AM, Tom de Vries wrote: > > Hi, > > > > this patch adds a --verbose option to FileCheck. [ An alternative name > > could be --debug or --debug-pattern. ] > > > > Consider a file CHECK: > > ... > > // CHECK-LABEL:bla1 > > // CHECK-NEXT:bla2 > > // CHECK-NEXT: bla3 > > // CHECK-NEXT:bla4 > > // CHECK-NEXT: bla5 > > ... > > > > and a FileCheck command using --verbose: > > ... > > $ echo | FileCheck CHECK --strict-whitespace --match-full-lines -- > verbose > > ... > > > > For each check the actual match pattern used is shown: > > ... > > CHECK:1:16: note: RegEx string match: '^bla1$' > > // CHECK-LABEL:bla1 > > ^ > > CHECK:2:15: note: RegEx string match: '^bla2$' > > // CHECK-NEXT:bla2 > > ^ > > CHECK:3:16: note: RegEx string match: '^bla3$' > > // CHECK-NEXT: bla3 > > ^ > > CHECK:4:15: note: RegEx string match: '^bla4$' > > // CHECK-NEXT:bla4 > > ^ > > CHECK:5:16: note: RegEx string match: '^bla5$' > > // CHECK-NEXT: bla5 > > ^ > > ... > > > > Seeing the actual match pattern allows to see the effect of command > > line switches that modify the original pattern (such as > > --match-full-lines), and help to understand why something is or is not > > matching. > > > > Any comments? OK for trunk? > > It needs a testcase, and some docs in docs/CommandGuide/FileCheck.rst. > > > Jon > > > > > Thanks, > > - Tom > > -- > Jon Roelofs > jonathan at codesourcery.com > CodeSourcery / Mentor Embedded > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev