[PATCH] D28896: [FileCheck] Add directive for checking for blank lines

Paul Robinson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 19 16:20:09 PST 2017


probinson added a comment.

I spent some time experimenting with different approaches, and my inner hacker is pleased to find something unobvious that works. Admittedly it is not as cleanly self-documenting as the new directive.

  CHECK:foo{{$}}
  CHECK-SAME:{{[[:space:]]$}}
  CHECK-NEXT:bar

which must be run using the `--strict-whitespace` option to FileCheck, so that the `:space:` cannot match anything other than the newline between the two `$` metacharacters.  Also note the second directive is SAME not NEXT.  Without `--strict-whitespace` then additional spaces on the "empty" line would be allowed.  That option is really for extra-picky cases, but if you are caring about blank lines then it's pretty clear you already have an extra-picky case. :-)   Let me know if it doesn't work for you, or if you have other cases where this tactic would not be usable.

Alternatively, we could figure out how to get the regex package to recognize `\n` (and for that matter other backslash-escape sequences).  This has come up before, so I think that would be more valuable in the long run than adding another FileCheck directive.


https://reviews.llvm.org/D28896





More information about the llvm-commits mailing list