Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions llvm/docs/CommandGuide/lit.rst
Original file line number Diff line number Diff line change
Expand Up @@ -630,13 +630,11 @@ TestRunner.py:
%{fs-sep} file system path separator
%t temporary file name unique to the test
%basename_t The last path component of %t but without the ``.tmp`` extension (deprecated, use ``%{t:stem}`` instead)
%T parent directory of %t (not unique, deprecated, do not use)
%% %
%/s %s but ``\`` is replaced by ``/``
%/S %S but ``\`` is replaced by ``/``
%/p %p but ``\`` is replaced by ``/``
%/t %t but ``\`` is replaced by ``/``
%/T %T but ``\`` is replaced by ``/``
%{s:basename} The last path component of %s
%{t:stem} The last path component of %t but without the ``.tmp`` extension (alias for %basename_t)
%{s:real} %s after expanding all symbolic links and substitute drives
Expand All @@ -648,12 +646,10 @@ TestRunner.py:
%{/S:real} %/S after expanding all symbolic links and substitute drives
%{/p:real} %/p after expanding all symbolic links and substitute drives
%{/t:real} %/t after expanding all symbolic links and substitute drives
%{/T:real} %/T after expanding all symbolic links and substitute drives
%{/s:regex_replacement} %/s but escaped for use in the replacement of a ``s@@@`` command in sed
%{/S:regex_replacement} %/S but escaped for use in the replacement of a ``s@@@`` command in sed
%{/p:regex_replacement} %/p but escaped for use in the replacement of a ``s@@@`` command in sed
%{/t:regex_replacement} %/t but escaped for use in the replacement of a ``s@@@`` command in sed
%{/T:regex_replacement} %/T but escaped for use in the replacement of a ``s@@@`` command in sed
%:s On Windows, %/s but a ``:`` is removed if its the second character.
Otherwise, %s but with a single leading ``/`` removed.
%:S On Windows, %/S but a ``:`` is removed if its the second character.
Expand All @@ -662,8 +658,6 @@ TestRunner.py:
Otherwise, %p but with a single leading ``/`` removed.
%:t On Windows, %/t but a ``:`` is removed if its the second character.
Otherwise, %t but with a single leading ``/`` removed.
%:T On Windows, %/T but a ``:`` is removed if its the second character.
Otherwise, %T but with a single leading ``/`` removed.
%{readfile:<filename>} Reads the file specified.
======================= ==============

Expand Down
1 change: 1 addition & 0 deletions llvm/docs/ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ Changes to the LLVM tools

* `llvm-readelf` now dumps all hex format values in lower-case mode.
* Some code paths for supporting Python 2.7 in `llvm-lit` have been removed.
* Support for `%T` in lit has been removed.

Changes to LLDB
---------------------------------
Expand Down
14 changes: 12 additions & 2 deletions llvm/utils/lit/lit/TestRunner.py
Original file line number Diff line number Diff line change
Expand Up @@ -1541,8 +1541,10 @@ def regex_escape(s):
return s

path_substitutions = [
("s", sourcepath), ("S", sourcedir), ("p", sourcedir),
("t", tmpName), ("T", tmpDir)
("s", sourcepath),
("S", sourcedir),
("p", sourcedir),
("t", tmpName),
]
for path_substitution in path_substitutions:
letter = path_substitution[0]
Expand Down Expand Up @@ -1919,6 +1921,14 @@ def processLine(ln):
# seems reasonable.
ln = _caching_re_compile(a).sub(str(b), escapePercents(ln))

# TODO(boomanaiden154): Remove when we branch LLVM 22 so people on the
# release branch will have sufficient time to migrate.
if bool(_caching_re_compile("%T").search(ln)):
raise ValueError(
"%T is no longer supported. Please create directories with names "
"based on %t."
)

# Strip the trailing newline and any extra whitespace.
return ln.strip()

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Check that we return a decent error message when someone uses %T
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# Check that we return a decent error message when someone uses %T
# Check that we return a decent error message when someone uses %T.

# RUN: echo %T > %t
6 changes: 5 additions & 1 deletion llvm/utils/lit/tests/shtest-shell.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@

# CHECK: -- Testing:

# CHECK: UNRESOLVED: shtest-shell :: capital-t-error-message.txt
# CHECK: *** TEST 'shtest-shell :: capital-t-error-message.txt' FAILED ***
# CHECK: ValueError: %T is no longer supported. Please create directories with names based on %t.

# CHECK: FAIL: shtest-shell :: colon-error.txt
# CHECK: *** TEST 'shtest-shell :: colon-error.txt' FAILED ***
# CHECK: :
Expand Down Expand Up @@ -633,5 +637,5 @@
# CHECK: ***

# CHECK: PASS: shtest-shell :: valid-shell.txt
# CHECK: Unresolved Tests (1)
# CHECK: Unresolved Tests (2)
# CHECK: Failed Tests (37)
Loading