[llvm] [LIT] Add support for `%basename_s` to get base name of source file (PR #110993)
Rahul Joshi via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 3 09:23:21 PDT 2024
https://github.com/jurahul updated https://github.com/llvm/llvm-project/pull/110993
>From fbfc33bb00b49a4fdb02115c521d2849c6e9b2b2 Mon Sep 17 00:00:00 2001
From: Rahul Joshi <rjoshi at nvidia.com>
Date: Thu, 3 Oct 2024 06:21:53 -0700
Subject: [PATCH] [LIT] Add support for `%basename_s` to get base name of
source file
Add support for `%basename_s` pattern in the RUN commands to get the
base name of the source file, and adopt it in a TableGen LIT test.
---
llvm/docs/CommandGuide/lit.rst | 1 +
llvm/test/TableGen/anonymous-location.td | 2 +-
llvm/utils/lit/lit/TestRunner.py | 6 ++++--
llvm/utils/lit/tests/substitutions.py | 5 +++++
4 files changed, 11 insertions(+), 3 deletions(-)
create mode 100644 llvm/utils/lit/tests/substitutions.py
diff --git a/llvm/docs/CommandGuide/lit.rst b/llvm/docs/CommandGuide/lit.rst
index c9d5baba3e2f49..9216eb223d1491 100644
--- a/llvm/docs/CommandGuide/lit.rst
+++ b/llvm/docs/CommandGuide/lit.rst
@@ -535,6 +535,7 @@ TestRunner.py:
%{fs-tmp-root} root component of file system paths pointing to the test's temporary directory
%{fs-sep} file system path separator
%t temporary file name unique to the test
+ %basename_s The last path component of %s
%basename_t The last path component of %t but without the ``.tmp`` extension
%T parent directory of %t (not unique, deprecated, do not use)
%% %
diff --git a/llvm/test/TableGen/anonymous-location.td b/llvm/test/TableGen/anonymous-location.td
index ffeba6ebcb686f..5485d2027b9fd0 100644
--- a/llvm/test/TableGen/anonymous-location.td
+++ b/llvm/test/TableGen/anonymous-location.td
@@ -1,4 +1,4 @@
-// RUN: llvm-tblgen --print-detailed-records %s | FileCheck %s -DFILE=anonymous-location.td
+// RUN: llvm-tblgen --print-detailed-records %s | FileCheck %s -DFILE=%basename_s
class A<int a> {
int Num = a;
diff --git a/llvm/utils/lit/lit/TestRunner.py b/llvm/utils/lit/lit/TestRunner.py
index a1785073547ad0..080a618572645d 100644
--- a/llvm/utils/lit/lit/TestRunner.py
+++ b/llvm/utils/lit/lit/TestRunner.py
@@ -1394,10 +1394,12 @@ def getDefaultSubstitutions(test, tmpDir, tmpBase, normalize_slashes=False):
substitutions = []
substitutions.extend(test.config.substitutions)
tmpName = tmpBase + ".tmp"
- baseName = os.path.basename(tmpBase)
+ tmpBaseName = os.path.basename(tmpBase)
+ sourceBaseName = os.path.basename(sourcepath)
substitutions.append(("%{pathsep}", os.pathsep))
- substitutions.append(("%basename_t", baseName))
+ substitutions.append(("%basename_t", tmpBaseName))
+ substitutions.append(("%basename_s", sourceBaseName))
substitutions.extend(
[
diff --git a/llvm/utils/lit/tests/substitutions.py b/llvm/utils/lit/tests/substitutions.py
new file mode 100644
index 00000000000000..e97cab36021296
--- /dev/null
+++ b/llvm/utils/lit/tests/substitutions.py
@@ -0,0 +1,5 @@
+# Basic test for substitutions.
+#
+# RUN: echo %basename_s | FileCheck %s --check-prefix=BASENAME
+#
+# BASENAME: substitutions.py
More information about the llvm-commits
mailing list