-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[LIT] Add support for %basename_s
to get base name of source file
#110993
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-testing-tools Author: Rahul Joshi (jurahul) ChangesAdd support for Full diff: https://github.com/llvm/llvm-project/pull/110993.diff 3 Files Affected:
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(
[
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems mostly fine, but we should probably have a test under llvm/utils/lit/tests (https://github.com/llvm/llvm-project/tree/main/llvm/utils/lit/tests), rather than just using it in a single tablegen test. Would you mind moving the test there?
Thanks. I'll add a new test instead of moving the TableGen test. |
8ec2e70
to
fbfc33b
Compare
I added a separate unit test under lit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, modulo one small comment and premerge checks are passing.
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.
fbfc33b
to
717b437
Compare
%{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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see this is consistent with the already existing basename_t, but I feel that it would make a lot more sense if this was consistent with %{s:real}
and %{/s:regex_replacement}
as below, i.e. %{s:basename}
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me look into changing this. I agree this makes sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I created: #111062, will start review once checks pass.
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.