Skip to content

Conversation

Maetveis
Copy link
Contributor

For #145865

@llvmbot
Copy link
Member

llvmbot commented Jun 26, 2025

@llvm/pr-subscribers-testing-tools

Author: Mészáros Gergely (Maetveis)

Changes

For #145865


Full diff: https://github.com/llvm/llvm-project/pull/145906.diff

1 Files Affected:

  • (added) llvm/test/FileCheck/var-escape.txt (+29)
diff --git a/llvm/test/FileCheck/var-escape.txt b/llvm/test/FileCheck/var-escape.txt
new file mode 100644
index 0000000000000..c3dc0fc7591d7
--- /dev/null
+++ b/llvm/test/FileCheck/var-escape.txt
@@ -0,0 +1,29 @@
+; RUN: echo -e "WINPATH=A:\windows\style\path"              >  %t.1
+; RUN: echo -e "NOT_ESCAPED=shouldn't be escaped [a-Z]\+$"  >> %t.1
+; RUN: echo -e 'ESCAPED=\\ \f\v needs\to "be" escaped\000'  >> %t.1
+; RUN: echo -e '$NUMERIC=DEADBEEF'                          >> %t.1
+
+VARS:      WINPATH=[[WINPATH:.*]]
+VARS-NEXT: NOT_ESCAPED=[[NOT_ESCAPED:.*]]
+VARS-NEXT: ESCAPED=[[ESCAPED:.*]]
+VARS-NEXT: $NUMERIC=[[#%X,$NUMERIC:]]
+; Trigger a failed match, to show variables values
+VARS-NEXT: [[WINPATH]] [[NOT_ESCAPED]] [[ESCAPED]] [[#$NUMERIC + 0]]
+
+; RUN: %ProtectFileCheckOutput not FileCheck \
+; RUN:   -dump-input=never --strict-whitespace --check-prefix=VARS --input-file=%t.1 %s 2>&1 \
+; RUN: | FileCheck %s
+
+CHECK: with "WINPATH" equal to "A:\\\\windows\\\\style\\\\path"
+CHECK: with "NOT_ESCAPED" equal to "shouldn't be escaped \\[a-Z\\]\\\\\\+\\$"
+CHECK: with "ESCAPED" equal to "\\\\ \014\013 needs\to \"be\" escaped\\\000"
+CHECK: with "$NUMERIC + 0" equal to "DEADBEEF"
+
+; Test escaping of the name of a numeric substitution, which might contain
+; characters that need escaping. 
+; RUN: echo -e "VARNAME: [[#%,10\t]]" > %t.2
+; RUN: echo 42 \
+; RUN: | %ProtectFileCheckOutput not FileCheck \
+; RUN:   -dump-input=never -vv --strict-whitespace --check-prefix=VARNAME %t.2 2>&1 \
+; RUN: | FileCheck %s --check-prefix=CHECK-VARNAME
+CHECK-VARNAME: with "%,10\t" equal to "10"

Copy link
Contributor

@RoboTux RoboTux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Maetveis Maetveis merged commit 07e3c85 into main Jun 26, 2025
9 checks passed
@Maetveis Maetveis deleted the users/Maetveis/filecheck_var_escapes_precommit branch June 26, 2025 16:00
@Maetveis Maetveis restored the users/Maetveis/filecheck_var_escapes_precommit branch June 26, 2025 16:03
@Maetveis Maetveis deleted the users/Maetveis/filecheck_var_escapes_precommit branch June 26, 2025 16:07
anthonyhatran pushed a commit to anthonyhatran/llvm-project that referenced this pull request Jun 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants