[SourceMgr][FileCheck] Obey -color by extending WithColor
(Relands r344930, reverted in r344935, and now hopefully fixed for
Windows.)
While this change specifically targets FileCheck, it affects any tool
using the same SourceMgr facilities.
Previously, -color was documented in FileCheck's -help output, but
-color had no effect. Now, -color obeys its documentation: it forces
colors to be used in FileCheck diagnostics even when stderr is not a
terminal.
-color is especially helpful when combined with FileCheck's -v, which
can produce a long series of diagnostics that you might wish to pipe
to a pager, such as less -R. The WithColor extensions here will also
help to clean up color usage in FileCheck's annotated dump of input,
which is proposed in D52999.
Reviewed By: JDevlieghere, zturner
Differential Revision: https://reviews.llvm.org/D53419
llvm-svn: 345202
2018-10-25 05:46:42 +08:00
|
|
|
; Create a case that produces a simple diagnostic.
|
|
|
|
; RUN: echo foo > %t.in
|
|
|
|
; CHECK: bar
|
|
|
|
|
|
|
|
; Run without and with -color. In the former case, FileCheck should suppress
|
|
|
|
; color in its diagnostics because stderr is a file.
|
2019-11-21 06:12:29 +08:00
|
|
|
; RUN: %ProtectFileCheckOutput not FileCheck %s < %t.in 2> %t.no-color
|
|
|
|
; RUN: %ProtectFileCheckOutput not FileCheck -color %s < %t.in 2> %t.color
|
[SourceMgr][FileCheck] Obey -color by extending WithColor
(Relands r344930, reverted in r344935, and now hopefully fixed for
Windows.)
While this change specifically targets FileCheck, it affects any tool
using the same SourceMgr facilities.
Previously, -color was documented in FileCheck's -help output, but
-color had no effect. Now, -color obeys its documentation: it forces
colors to be used in FileCheck diagnostics even when stderr is not a
terminal.
-color is especially helpful when combined with FileCheck's -v, which
can produce a long series of diagnostics that you might wish to pipe
to a pager, such as less -R. The WithColor extensions here will also
help to clean up color usage in FileCheck's annotated dump of input,
which is proposed in D52999.
Reviewed By: JDevlieghere, zturner
Differential Revision: https://reviews.llvm.org/D53419
llvm-svn: 345202
2018-10-25 05:46:42 +08:00
|
|
|
|
|
|
|
; Check whether color was produced.
|
|
|
|
; RUN: FileCheck -check-prefix NO-COLOR %s < %t.no-color
|
|
|
|
; RUN: FileCheck -check-prefix COLOR %s < %t.color
|
|
|
|
|
|
|
|
; Make sure our NO-COLOR and COLOR patterns are sane: they don't match the
|
|
|
|
; opposite cases.
|
|
|
|
; RUN: not FileCheck -check-prefix COLOR %s < %t.no-color
|
|
|
|
; RUN: not FileCheck -check-prefix NO-COLOR %s < %t.color
|
|
|
|
|
|
|
|
; I don't know of a good way to check for ANSI color codes, so just make sure
|
|
|
|
; some new characters show up where those codes should appear.
|
|
|
|
; NO-COLOR: : error: CHECK: expected string not found in input
|
|
|
|
; COLOR: : {{.+}}error: {{.+}}CHECK: expected string not found in input
|