Added REQUIRES to TestingGuide documentation
authorPiotr Padlewski <piotr.padlewski@gmail.com>
Fri, 8 Jul 2016 23:47:29 +0000 (23:47 +0000)
committerPiotr Padlewski <piotr.padlewski@gmail.com>
Fri, 8 Jul 2016 23:47:29 +0000 (23:47 +0000)
Reviewers: alexfh, wolfgangp, rengolin

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D22172

llvm-svn: 274949

llvm/docs/TestingGuide.rst
llvm/test/lit.cfg

index 6bc8a4a..ddb6990 100644 (file)
@@ -387,6 +387,53 @@ depends on special features of sub-architectures, you must add the specific
 triple, test with the specific FileCheck and put it into the specific
 directory that will filter out all other architectures.
 
+REQUIRES and REQUIRES-ANY directive
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Some tests can be enabled only in specific situation - like having
+debug build. Use ``REQUIRES`` directive to specify those requirements.
+
+.. code-block:: llvm
+
+    ; This test will be only enabled in the build with asserts
+    ; REQUIRES: asserts
+
+You can separate requirements by a comma.
+``REQUIRES`` means all listed requirements must be satisfied.
+``REQUIRES-ANY`` means at least one must be satisfied.
+
+List of features that can be used in ``REQUIRES`` and ``REQUIRES-ANY``:
+- asan
+- not_asan
+- asserts
+- can-execute
+- debug_frame
+- default_triple
+- dfsan
+- fma3
+- global-isel
+- ld64_plugin
+- ld_emu_elf32ppc
+- ld_plugin
+- linux
+- loadable_module
+- long_tests
+- lsan
+- msan
+- not_msan
+- native
+- object-emission
+- python-psutil
+- shell
+- system-windows
+- ubsan
+- not_ubsan
+- x86_64-linux
+- xar
+- zlib
+- nozlib
+
+To add new features change lit.cfg in test directory.
 
 Substitutions
 -------------
index 67e851b..2adeaff 100644 (file)
@@ -321,6 +321,7 @@ config.targets = frozenset(config.targets_to_build.split())
 ### Features
 
 # Shell execution
+# KEEP IN SYNC WITH FEATURES LIST IN TestingGuide.rst
 if execute_external:
     config.available_features.add('shell')