1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/utils/lit
Alex Richardson 80cd8e218f [lit] Avoid calling realpath() for every printed message
I did some profiling of lit while trying to optimize the libc++ test
startup for remote hosts and it turns out that there is a realpath() call
for every message printed and this shows up in the profile.
The inspect.getframeinfo() function calls realpath() internally and
moreover we don't need most of the other information returned from it.
This patch uses inspect.getsourcefile() and os.path.abspath() to remove
../ from the path instead. Not resolving symlinks reduces the startup time
for running a single test with lit by about 50ms for me.

Reviewed By: ldionne, yln
Differential Revision: https://reviews.llvm.org/D89186
2020-10-19 16:21:34 +01:00
..
examples Fix lit/example/many-tests pickling issue 2018-09-14 19:44:09 +00:00
lit [lit] Avoid calling realpath() for every printed message 2020-10-19 16:21:34 +01:00
tests [lit] Try to remove the flakeyness of shtest-timeout.py and googletest-timeout.py. 2020-10-08 10:46:18 -07:00
utils
CMakeLists.txt [lit] Add a test for the builtin config map. 2017-09-21 16:18:28 +00:00
lit.py [lit] Small cleanups. NFCI 2019-12-13 17:00:04 -08:00
MANIFEST.in lit: Make sure the builtin_commands directory is packaged by setup.py 2018-09-26 14:56:11 +00:00
README.txt [lit] Remove TODO 2016-11-03 23:41:49 +00:00
setup.py [lit] Avoid global imports in module declaration 2020-03-27 12:07:19 -07:00

===============================
 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