On 12/10/16 10:57, Kyrill Tkachov wrote:
On 11/10/16 20:19, Jakub Jelinek wrote:
On Tue, Oct 11, 2016 at 01:11:04PM -0600, Martin Sebor wrote:
Also, the pattern that starts with "/\+\+\+" looks like it's missing
the ^ anchor. Presumably it should be "/^\+\+\+ \/testsuite\//".
No, it will be almost never +++ /testsuite/
There needs to be .* in between "+++ " and "/testsuite/", and perhaps
it should also ignore "+++ testsuite/".
So /^\+\+\+ (.*\/)?testsuite\// ?
Also, normally (when matching $0) there won't be newlines in the text.
Jakub
Thanks.
Here is the updated patch with your suggestions.
Actually, I've encountered a problem:
85 # Remove the testsuite part of the diff. We don't care about GNU style
86 # in testcases and the dg-* directives give too many false positives.
87 remove_testsuite ()
88 {
89 awk 'BEGIN{testsuite=0} /\+\+\+ / && ! /testsuite\//{testsuite=0} \
90 {if (!testsuite) print} /^\+\+\+ (.*\/)?testsuite\//{testsuite=1}'
91 }
92
93 grep $format '^+' $files \
94 | remove_testsuite \
95 | grep -v ':+++' \
96 > $inp
The /^\+\+\+ (.*\/)?testsuite\// doesn't ever match when the ^ anchor is used.
The awk command matches fine by itself but not when fed from the "grep $format '^+'
$files"
command because grep adds the line numbers and file names.
So is it okay to omit the ^ here?
Thanks,
Kyrill