llvm-mirror/test/FileCheck/string-defines.txt
Joel E. Denny dd1fd5b646 [FileCheck] Make FILECHECK_OPTS useful for its test suite
Without this patch, `FILECHECK_OPTS` isn't propagated to FileCheck's
test suite so that `FILECHECK_OPTS` doesn't inadvertently affect test
results by affecting the output of FileCheck calls under test.  As a
result, `FILECHECK_OPTS` is useless for debugging FileCheck's test
suite.

In `llvm/test/FileCheck/lit.local.cfg`, this patch provides a new
subsitution, `%ProtectFileCheckOutput`, to address this problem for
both `FILECHECK_OPTS` and the deprecated
`FILECHECK_DUMP_INPUT_ON_FAILURE`.  The rest of the patch uses
`%ProtectFileCheckOutput` throughout the test suite

Fixes PR40284.

Reviewed By: probinson, thopre

Differential Revision: https://reviews.llvm.org/D65121
2019-11-21 18:01:12 -05:00

31 lines
1.3 KiB
Plaintext

; Test functionality of -D option: string variables are defined to the right
; value and CHECK directives using them match as expected given the value set.
; String variable correctly defined to a non-empty string.
RUN: FileCheck -DVALUE=10 --input-file %s %s
RUN: %ProtectFileCheckOutput not FileCheck -DVALUE=20 --input-file %s %s 2>&1 \
RUN: | FileCheck %s --check-prefix ERRMSG
RUN: %ProtectFileCheckOutput \
RUN: not FileCheck -DVALUE=10 --check-prefix NOT --input-file %s %s 2>&1 \
RUN: | FileCheck %s --check-prefix NOT-ERRMSG
RUN: FileCheck -DVALUE=20 --check-prefix NOT --input-file %s %s
Value = 10
CHECK: Value = [[VALUE]]
NOT-NOT: Value = [[VALUE]]
ERRMSG: defines.txt:[[@LINE-3]]:8: error: CHECK: expected string not found in input
ERRMSG: defines.txt:1:1: note: scanning from here
ERRMSG: defines.txt:1:1: note: with "VALUE" equal to "20"
ERRMSG: defines.txt:[[@LINE-7]]:1: note: possible intended match here
NOT-ERRMSG: defines.txt:[[@LINE-7]]:10: error: {{NOT}}-NOT: excluded string found in input
NOT-ERRMSG: defines.txt:[[@LINE-10]]:1: note: found here
NOT-ERRMSG: defines.txt:[[@LINE-11]]:1: note: with "VALUE" equal to "10"
; Definition of string variable to an empty string.
RUN: FileCheck -DVALUE= --check-prefix EMPTY --input-file %s %s 2>&1
Empty value = @@
EMPTY: Empty value = @[[VALUE]]@