mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
59ae1d0687
This seems to have been present since the beginning of time, which is quite surprising. The symptom was this: Suppose you have a test with a run line that looks like this: RUN: foo | FileCheck %s foo prints some output and then due to a bug in the program it asserts. On Windows this results in the program returning a negative exit code. But if enough output had been printed already by the tool so that the FileCheck match would succeed then FileCheck would return 0, and because of bad logic in lit this 0 return value would overwrite the failed return value from previous items in the pipeline. This only happened with negative exit codes. The most sensible behavior is to just take whatever the first exit code is. There is no logical ordering defined on exit codes, so comparing with < and > does not make a lot of sense. Instead, as soon as we find the first non-successful return value, that should be the result of the entire expression. This fixes the issue, as now tests which fail on non-Windows platforms also fail for me on Windows as well. llvm-svn: 303440 |
||
---|---|---|
.. | ||
examples | ||
lit | ||
tests | ||
utils | ||
lit.py | ||
MANIFEST.in | ||
README.txt | ||
setup.py |
=============================== 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