llvm-project/llvm/utils/lit
Michał Górny 7b4b15042d [lit] Add pyproject.toml and fix build w/ modern setuptools backend
Add a `pyproject.toml` file that provides build system information
for PEP 517-compliant builders.  While all the commonly used builders
provide fallback to running `setup.py` for backwards compatibility, this
ensures the best forward compatibility.  It also provides a reliable way
of specifying the minimum required setuptools version.  Effectively, it
will make it possible to remove `setup.py` in favor of purely
declarative configuration in the future, or even switch to a different
build system.

Update `setup.py` to explicitly add the current directory to `sys.path`
for importing `lit`.  This is necessary, as the modern setuptools
backend does not guarantee that the current directory is present there.

Differential Revision: https://reviews.llvm.org/D136976
2022-11-01 07:30:14 +01:00
..
examples
lit [lit] fix a error when using --show-used-features 2022-10-19 10:57:01 -07:00
tests [lit][NFC] not check stdout in googletest-timeout.py 2022-10-30 23:17:50 -07:00
utils
CMakeLists.txt [cmake] Remove unused OUTPUT_MAPPING param to configure_lit_site_cfg(). NFC 2022-03-10 21:26:53 +01:00
LICENSE.TXT
MANIFEST.in
README.rst [lit] Deduplicate README and longdescription, and update it 2022-10-29 13:27:00 +02:00
lit.py [lit] Update lit.py shebang for Python3 2021-01-25 17:29:57 -08:00
pyproject.toml [lit] Add pyproject.toml and fix build w/ modern setuptools backend 2022-11-01 07:30:14 +01:00
setup.py [lit] Add pyproject.toml and fix build w/ modern setuptools backend 2022-11-01 07:30:14 +01:00

README.rst

===============================
 lit - A Software Testing Tool
===============================

About
=====

*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.


Features
========

 * Portable!
 * Flexible test discovery.
 * Parallel test execution.
 * Support for multiple test formats and test suite designs.


Documentation
=============

The official *lit* documentation is in the man page, available online at the LLVM
Command Guide: http://llvm.org/cmds/lit.html.


Source
======

The *lit* source is available as part of LLVM, in the LLVM source repository:
https://github.com/llvm/llvm-project/tree/main/llvm/utils/lit


Contributing to lit
===================

Please browse the issues labeled *tools:llvm-lit* in LLVM's issue tracker for
ideas on what to work on:
https://github.com/llvm/llvm-project/labels/tools%3Allvm-lit

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