~~~~~~~~~~~~~~~~~~~~~~~~~~
:program:`lit` provides various patterns that can be used with the RUN command.
-These are defined in TestRunner.py.
+These are defined in TestRunner.py. The base set of substitutions are:
========== ==============
Macro Substitution
%t temporary file name unique to the test
%T temporary directory unique to the test
%% %
- %/s same as %s but replace all / with \\
- %/S same as %S but replace all / with \\
- %/p same as %p but replace all / with \\
- %/t same as %t but replace all / with \\
- %/T same as %T but replace all / with \\
========== ==============
-Further substitution patterns might be defined by each test module.
-See the modules :ref:`local-configuration-files`.
+Other substitutions are provided that are variations on this base set and
+further substitution patterns can be defined by each test module. See the
+modules :ref:`local-configuration-files`.
-More information on the testing infrastucture can be found in the
+More detailed information on substitutions can be found in the
:doc:`../TestingGuide`.
TEST RUN OUTPUT FORMAT
Expands to the path separator, i.e. ``:`` (or ``;`` on Windows).
+``%/s, %/S, %/t, %/T:``
+
+ Act like the corresponding substitution above but replace any ``\``
+ character with a ``/``. This is useful to normalize path separators.
+
+ Example: ``%s: C:\Desktop Files/foo_test.s.tmp``
+
+ Example: ``%/s: C:/Desktop Files/foo_test.s.tmp``
+
+``%:s, %:S, %:t, %:T:``
+
+ Act like the corresponding substitution above but remove colons at
+ the beginning of Windows paths. This is useful to allow concatenation
+ of absolute paths on Windows to produce a legal path.
+
+ Example: ``%s: C:\Desktop Files\foo_test.s.tmp``
+
+ Example: ``%:s: C\Desktop Files\foo_test.s.tmp``
+
**LLVM-specific substitutions:**