forked from OSchip/llvm-project
96b04b68ed
This addresses two sources of inconsistency in test configuration files. 1. Substitution boundaries. Previously you would specify a substitution, such as 'lli', and then additionally a set of characters that should fail to match before and after the tool. This was used, for example, so that matches that are parts of full paths would not be replaced. But not all tools did this, and those that did would often re-invent the set of characters themselves, leading to inconsistency. Now, every tool substitution defaults to using a sane set of reasonable defaults and you have to explicitly opt out of it. This actually fixed a few latent bugs that were never being surfaced, but only on accident. 2. There was no standard way for the system to decide how to locate a tool. Sometimes you have an explicit path, sometimes we would search for it and build up a path ourselves, and sometimes we would build up a full command line. Furthermore, there was no standardized way to handle missing tools. Do we warn, fail, ignore, etc? All of this is now encapsulated in the ToolSubst class. You either specify an exact command to run, or an instance of FindTool('<tool-name>') and everything else just works. Furthermore, you can specify an action to take if the tool cannot be resolved. Differential Revision: https://reviews.llvm.org/D38565 llvm-svn: 315085 |
||
---|---|---|
.. | ||
examples | ||
lit | ||
tests | ||
utils | ||
CMakeLists.txt | ||
MANIFEST.in | ||
README.txt | ||
lit.py | ||
setup.py |
README.txt
=============================== lit - A Software Testing Tool =============================== lit is a portable tool for executing LLVM and Clang style test suites, summarizing their results, and providing indication of failures. lit is designed to be a lightweight testing tool with as simple a user interface as possible. ===================== Contributing to lit ===================== Please browse the Test Suite > lit category in LLVM's Bugzilla for ideas on what to work on. Before submitting patches, run the test suite to ensure nothing has regressed: # From within your LLVM source directory. utils/lit/lit.py \ --path /path/to/your/llvm/build/bin \ utils/lit/tests Note that lit's tests depend on 'not' and 'FileCheck', LLVM utilities. You will need to have built LLVM tools in order to run lit's test suite successfully. You'll also want to confirm that lit continues to work when testing LLVM. Follow the instructions in http://llvm.org/docs/TestingGuide.html to run the regression test suite: make check-llvm And be sure to run the llvm-lit wrapper script as well: /path/to/your/llvm/build/bin/llvm-lit utils/lit/tests Finally, make sure lit works when installed via setuptools: python utils/lit/setup.py install lit --path /path/to/your/llvm/build/bin utils/lit/tests