| ; RUN: FileCheck -check-prefix=A -input-file %s %s |
| |
| ;; This tests the LITERAL directive modifier. |
| |
| The result is "5371, 5372, 5373, 5374" |
| |
| The result is "[[[5371]], [[5372]], [[5373]], [[5374]]]" |
| [[[5375]], [[5376]], |
| [[[5377]], [[5378]], |
| {{there you go.*}} |
| |
| [[10]] |
| [[20]] |
| [[50]] |
| |
| ;; These should all not match. |
| ; A{}: 5371, 5372, |
| ; A{LITERAL} 5371, 5372, |
| ; A{LITERAL 5371, 5372, |
| ; A{LITERAL,} 5371, 5372, |
| ; A{, LITERAL} 5371, 5372, |
| |
| ; A: 5371, 5372, |
| ; A-SAME: 5373, 5374 |
| ; A{LITERAL}: [[[5371]], [[5372]], |
| ; A-SAME{LITERAL}: [[5373]], [[5374]]] |
| |
| ;; Modifier list allows whitespace. |
| ; A{ LITERAL }: [[[5375]], [[5376]], |
| ;; Modifiers are combined into a set and repetition is allowed. |
| ; A{LITERAL , LITERAL}: [[[5377]], [[5378]], |
| |
| ; A-NEXT{LITERAL}: {{there you go.*}} |
| ; A-NOT{LITERAL}: [[50]] |
| ; A-DAG{LITERAL}: [[20]] |
| ; A-DAG{LITERAL}: [[10]] |
| ; A{LITERAL}: [[50]] |
| |
| ; RUN: %ProtectFileCheckOutput \ |
| ; RUN: not FileCheck %s --input-file %s --check-prefix=INVALID 2>&1 | \ |
| ; RUN: FileCheck %s --check-prefix=CHECK-INVALID |
| |
| ;; Ensure invalid modifier skipped. |
| |
| ; INVALID{BADMODIFIER}: 6371, 6372, |
| ; CHECK-INVALID: no check strings found with prefix 'INVALID |
| |
| ; RUN: %ProtectFileCheckOutput \ |
| ; RUN: not FileCheck %s --input-file %s --check-prefix=CHECK-ERRNOT 2>&1 | \ |
| ; RUN: FileCheck %s --check-prefix=ERRNOT |
| |
| ;; This ensures a failure is correctly reported when a NOT directive with a |
| ;; LITERAL modifier matches. |
| |
| [[a]] |
| [[b]] |
| [[c]] |
| |
| ; CHECK-ERRNOT{LITERAL}: [[a]] |
| ; CHECK-ERRNOT-NOT{LITERAL}: [[b]] |
| ; CHECK-ERRNOT{LITERAL}: [[c]] |
| ; ERRNOT: no match expected |