Index: docs/TestingGuide.rst =================================================================== --- docs/TestingGuide.rst +++ docs/TestingGuide.rst @@ -387,6 +387,53 @@ 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: test/lit.cfg =================================================================== --- test/lit.cfg +++ test/lit.cfg @@ -321,6 +321,7 @@ ### Features # Shell execution +# KEEP IN SYNC WITH FEATURES LIST IN TestingGuide.rst if execute_external: config.available_features.add('shell')