1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/FileCheck/match-full-lines.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

57 lines
1.5 KiB
Plaintext

// RUN: %ProtectFileCheckOutput \
// RUN: not FileCheck -match-full-lines -input-file %s %s 2>&1 \
// RUN: | FileCheck --check-prefix=ERROR --implicit-check-not=error: %s
// RUN: %ProtectFileCheckOutput \
// RUN: not FileCheck -match-full-lines -strict-whitespace -input-file %s %s \
// RUN: 2>&1 | FileCheck --check-prefix=ERROR-STRICT --check-prefix=ERROR \
// RUN: --implicit-check-not=error: %s
Label 1
a line
trailing whitespace
trailing more whitespace
Label 2
a line
leading whitespace
leading more whitespace
Label 3
a line
Label 4
a line
a random thing
Label 5
Label 66
// CHECK-LABEL:Label 1
// CHECK:a line
// CHECK:trailing whitespace
// CHECK:trailing more whitespace
// ERROR-STRICT:error: {{C}}HECK: expected string not found in input
// ERROR-STRICT:// {{C}}HECK:trailing whitespace
// CHECK-LABEL:Label 2
// CHECK:a line
// CHECK-NEXT:leading whitespace
// CHECK-NEXT: leading more whitespace
// ERROR-STRICT:error: {{C}}HECK-NEXT: expected string not found in input
// ERROR-STRICT:// {{C}}HECK-NEXT:leading whitespace
// CHECK-LABEL:Label 3
// CHECK:line
// ERROR:error: {{C}}HECK: expected string not found in input
// ERROR:// {{C}}HECK:line
// CHECK-LABEL:Label 4
// CHECK:a line
// CHECK-NOT:random
// ERROR:error: {{C}}HECK-NOT: excluded string found in input
// ERROR:a random thing
// CHECK-LABEL:Label 5
// CHECK-LABEL:Label 6
// ERROR:error: {{C}}HECK-LABEL: expected string not found in input
// ERROR:{{C}}HECK-LABEL:Label 6