Skip to content

Commit

Permalink
[FileCheck, NFC] Split defines.txt in two
Browse files Browse the repository at this point in the history
Summary:
Split defines.txt into diagnostics test and functionality test. Also add
comments, remove the semicolon prefix and group RUN lines with their
CHECK directives.

Reviewers: jhenderson, probinson, arichardson

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D61679

llvm-svn: 360289
  • Loading branch information
Thomas Preud'homme committed May 8, 2019
1 parent 4a8ef11 commit e17a0d3
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 48 deletions.
48 changes: 0 additions & 48 deletions llvm/test/FileCheck/defines.txt

This file was deleted.

49 changes: 49 additions & 0 deletions llvm/test/FileCheck/pattern-defines-diagnostics.txt
@@ -0,0 +1,49 @@
; Test incorrect syntax for -D option is correctly diagnosed.

; Missing equal sign.
RUN: not FileCheck -DVALUE10 --input-file %s %s 2>&1 \
RUN: | FileCheck %s --check-prefix ERRCLIEQ1

ERRCLIEQ1: Missing equal sign in command-line definition '-DVALUE10'

; Missing definition expression (variable name, equal sign and value).
RUN: not FileCheck -D --input-file %s %s 2>&1 \
RUN: | FileCheck %s --check-prefix ERRCLIEQ2

ERRCLIEQ2: {{F|f}}ile{{C|c}}heck{{[^:]*}}: for the -D option: requires a value!

; Missing variable name.
RUN: not FileCheck -D=10 --input-file %s %s 2>&1 \
RUN: | FileCheck %s --check-prefix ERRCLIVAR1

ERRCLIVAR1: Missing pattern variable name in command-line definition '-D=10'

; Missing variable name.
RUN: not FileCheck -D= --input-file %s %s 2>&1 \
RUN: | FileCheck %s --check-prefix ERRCLIVAR2

ERRCLIVAR2: Missing pattern variable name in command-line definition '-D='

; Invalid variable name: starts with a digit.
RUN: not FileCheck -D10VALUE=10 --input-file %s %s 2>&1 \
RUN: | FileCheck %s --strict-whitespace --check-prefix ERRCLIFMT

ERRCLIFMT: Global defines:1:19: error: invalid name for variable definition '10VALUE'
ERRCLIFMT-NEXT: Global define #1: 10VALUE=10
ERRCLIFMT-NEXT: {{^ \^$}}

; Invalid definition of pseudo variable.
RUN: not FileCheck -D@VALUE=10 --input-file %s %s 2>&1 \
RUN: | FileCheck %s --strict-whitespace --check-prefix ERRCLIPSEUDO

ERRCLIPSEUDO: Global defines:1:19: error: invalid name for variable definition '@VALUE'
ERRCLIPSEUDO-NEXT: Global define #1: @VALUE=10
ERRCLIPSEUDO-NEXT: {{^ \^$}}

; Invalid definition of an expression.
RUN: not FileCheck -D'VALUE + 2=10' --input-file %s %s 2>&1 \
RUN: | FileCheck %s --strict-whitespace --check-prefix ERRCLITRAIL

ERRCLITRAIL: Global defines:1:19: error: invalid name for variable definition 'VALUE + 2'
ERRCLITRAIL-NEXT: Global define #1: VALUE + 2=10
ERRCLITRAIL-NEXT: {{^ \^$}}
29 changes: 29 additions & 0 deletions llvm/test/FileCheck/pattern-defines.txt
@@ -0,0 +1,29 @@
; Test functionality of -D option: pattern variables are defined to the right
; value and CHECK directives using them match as expected given the value set.

; Pattern variable correctly defined to a non-empty string.
RUN: FileCheck -DVALUE=10 --input-file %s %s
RUN: not FileCheck -DVALUE=20 --input-file %s %s 2>&1 \
RUN: | FileCheck %s --check-prefix ERRMSG
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 variable "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 variable "VALUE" equal to "10"

; Definition of pattern variable to an empty string.
RUN: FileCheck -DVALUE= --check-prefix EMPTY --input-file %s %s 2>&1

Empty value = @@
EMPTY: Empty value = @[[VALUE]]@

0 comments on commit e17a0d3

Please sign in to comment.